API
๐๏ธ Audio Filters
Expo Sonic supports advanced audio filter effects, including EQ bands, reverb, distortion, delay, and slowed reverb processing.
๐ฆ Import
import { ExpoSonicPlayer } from "expo-sonic-ios-player";
๐๏ธ Equalizer Controls
Method | Signature | Description |
---|---|---|
setBandGain | (band: number, gain: number) => Promise<void> | Sets gain for a specific EQ band. |
getBandGain | (band: number) => Promise<number | null> | Gets gain of a specific band. |
getAllBandGains | () => Promise<number[]> | Returns gains for all bands. |
resetEqualizer | () => Promise<void> | Resets all EQ bands to default. |
applyEqualizerPreset | (presetName: EqualizerPreset) => Promise<void> | Applies a predefined EQ preset. |
EqualizerPreset
type EqualizerPreset =
| "flat"
| "rock"
| "pop"
| "jazz"
| "classical"
| "bass"
| "treble"
| "vocal";
๐ซ๏ธ Reverb Controls
Method | Signature | Description |
---|---|---|
setReverbWetDryMix | (wetDryMix: number) => Promise<void> | Sets the wet/dry mix ratio. |
setReverbPreset | (presetName: ReverbPreset) => Promise<void> | Applies a reverb preset. |
ReverbPreset
type ReverbPreset =
| "smallroom"
| "mediumroom"
| "largeroom"
| "mediumhall"
| "largehall"
| "plate"
| "cathedral";
โฑ๏ธ Delay Controls
Method | Signature | Description |
---|---|---|
setDelayTime | (delayTime: number) => Promise<void> | Sets the time before echo is played. |
setDelayFeedback | (feedback: number) => Promise<void> | Sets how much of delay is repeated. |
setDelayWetDryMix | (wetDryMix: number) => Promise<void> | Sets mix of dry and delayed audio. |
๐ Distortion Controls
Method | Signature | Description |
---|---|---|
setDistortionWetDryMix | (wetDryMix: number) => Promise<void> | Mix ratio of distorted vs clean audio. |
setDistortionPreset | (presetName: DistortionPreset) => Promise<void> | Applies a distortion preset. |
DistortionPreset
type DistortionPreset =
| "drumsbitterbuzz"
| "drumsbufferlayer"
| "drumslofi"
| "multibrokenspeaker"
| "multicellularcpa"
| "multidecimated1"
| "multidecimated2"
| "multidecimated3"
| "multidecimated4"
| "multidistortioncubed"
| "multiecho1"
| "multiecho2"
| "multiechotight1"
| "multiechotight2"
| "multieverything"
| "multiextrasmallroom"
| "speechalienchange"
| "speechcosmicinterference"
| "speechgoldentone"
| "speechradiodifference"
| "speechwavelform";
๐ Slowed Reverb Controls
Method | Signature | Description |
---|---|---|
enableSlowedReverb | () => Promise<void> | Enable slowed reverb effect. |
disableSlowedReverb | () => Promise<void> | Disable the effect. |
toggleSlowedReverb | () => Promise<void> | Toggle slowed reverb on/off. |
setSlowedReverb | (speed, pitch, reverbAmount) => Promise<void> | Manually configure the slowed reverb. |
applySlowedReverbPreset | (presetName: SlowedReverbPreset) => Promise<void> | Apply a preset configuration. |
getAvailableSlowedReverbPresets | () => Promise<SlowedReverbPreset[]> | List available presets. |
getSlowedReverbPresetInfo | (presetName: SlowedReverbPreset) => Promise<SlowedReverbPresetInfo> | Get full config for a preset. |
SlowedReverbPreset
type SlowedReverbPreset = "classic" | "dreamy" | "subtle" | "heavy";
SlowedReverbPresetInfo
type SlowedReverbPresetInfo = {
name: SlowedReverbPreset;
speed: number;
pitch: number;
reverbAmount: number;
delayAmount: number;
delayTime: number;
delayFeedback: number;
description: string;
};
๐งช Audio Presets (Combinations)
Method | Signature | Description |
---|---|---|
applyAudioPreset | (presetName: AudioPreset) => Promise<void> | Apply preset combination of filters. |
AudioPreset
type AudioPreset = "normal" | "concert" | "studio";
๐ ๏ธ Helper Methods
Method | Signature | Description |
---|---|---|
getAvailableEqualizerPresets | () => Promise<string[]> | List of available EQ presets. |
getAvailableReverbPresets | () => Promise<string[]> | List of available reverb presets. |
getAvailableAudioPresets | () => Promise<string[]> | List of combination presets. |
getBandFrequencies | () => Promise<number[]> | Get center frequencies of EQ bands. |