# @coda/audio

# bitcrusher

 bitcrusher(options: Object): Bitcrusher

Create a Bitcrusher audio effect.Based on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Bitcrusher parameters
options.bits Number 16 Number of bits (decimation)
options.normfreq Number 0.1 Normalized downsampling frequency
options.bufferSize Number 4096 Buffer size

Returns Bitcrusher Bitcrusher engine

# catart

 catart(options: Object): PolyCatartEngine

Create a Polyphonic Catart-style descriptor-driven corpus-based concatenative synthesis

TODO

Code example + Description of markers file structure

Parameter Type Default Description
options Object {} Concatenative synthesis parameters
options.voices Number 1 Number of voices (polyphony)
options.file String Array<String> ''
options.filePrefix String '/media/' Address where audio files are stored
options.fileExt String 'flac' Audio files extension
options.descriptors Array<string> ['loudness'] List of descriptors to consider
options.target Array<Number> [0] Target descriptors for driving the synthesis
options.k Number Array<Number> 1
options.periodAbs Number Array<Number> 0
options.periodRel Number Array<Number> 1
options.periodVar Number Array<Number> 0
options.durationAbs Number Array<Number> 1
options.durationRel Number Array<Number> 1
options.index Number Array<Number> 0
options.positionVar Number Array<Number> 0
options.attackAbs Number Array<Number> 0.001
options.attackRel Number Array<Number> 0
options.releaseAbs Number Array<Number> 0.001
options.releaseRel Number Array<Number> 0
options.resampling Number Array<Number> 0
options.resamplingVar Number Array<Number> 0
options.gain Number Array<Number> 0
options.repeat Boolean true Allow segment repeat
options.throttle Number Array<Number> 20

Returns PolyCatartEngine Concatenative synthesis engine

# chorus

 chorus(options: Object): Chorus

Create a Chorus effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Effect options
options.rate Number 1.5 Chorus rate (Hz)
options.feedback Number 0.4 Feedback level
options.depth Number 0.7 Feedback level
options.delay Number 0.0045 Delay time (s)

Returns Chorus Chorus engine

# compressor

 compressor(options: Object): Compressor

Create a Compressor effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Effect options
options.threshold Number -1 Threshold (dB)
options.makeupGain Number 1 Makeup Gain
options.attack Number 1 Attack time (ms)
options.release Number 0 Release time (ms)
options.ratio Number 4 Compression Ratio
options.knee Number 5 Knee
options.automakeup Number true Automakeup

Returns Compressor Compressor engine

# concatenative

 concatenative(options: Object): ConcatenativeEngine

Create a polyphonic concatenative synthesizer

TODO

Code example + Description of markers file structure

Parameter Type Default Description
options Object {} Concatenative synthesis parameters
options.voices number 1 NNumber of voices (polyphony)
options.file String '' Default audio file. Each audio file must be associated with
a JSON file containing the associated markers.
options.filePrefix String '/media/' Address where audio files are stored
options.fileExt String 'flac' Audio files extension
options.periodAbs number 0 Segment period (absolute, in s)
options.periodRel number 1 Segment period (relative to segment duration)
options.periodVar number 0 Segment period random variation
options.durationAbs number 1 Segment duration (absolute, in s)
options.durationRel number 1 Segment duration (relative to segment duration)
options.index number 0 Segment index
options.positionVar number 0 Segment position random variation
options.attackAbs number 0.001 Segment attack (absolute)
options.attackRel number 0 Segment attack (relative to duration)
options.releaseAbs number 0.001 Segment release (absolute)
options.releaseRel number 0 Segment release (relative to duration)
options.resampling number 0 Segment resampling
options.resamplingVar number 0 Segment resampling random variation
options.gain number 1 Segment gain
options.repeat Boolean true Allow segment repeat
options.throttle number 20 Throttle time for stream parameters

Returns ConcatenativeEngine Concatenative synthesis engine

# convolver

 convolver(options: Object): Convolver

Create a Convolver effect

Parameter Type Default Description
options Object {} Convolution parameters
options.file String '' Default audio file
options.filePrefix String '' Address where audio files are stored
options.fileExt String '' Audio files extension

Returns Convolver Convolution engine

# filt

 filt(options: Object): AudioFilter

Create an Audio Filter effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} AudioFilter parameters
options.frequency Number 440 Cutoff Frequency (Hz)
options.Q Number 1 Q factor (resonance)
options.gain Number 0 Filter gain
options.filterType String 'lowpass' Filter type (lowpass, highpass, bandpass,
lowshelf, highshelf, peaking, notch, allpass)

Returns AudioFilter AudioFilter engine

# granular

 granular(options: Object): GranularEngine

Create a polyphonic granular synthesizer

Parameter Type Default Description
options Object {} Granular synthesis parameters
options.voices Number 1 Number of voices (polyphony)
options.file String '' Default audio file
options.filePrefix String '' Address where audio files are stored
options.fileExt String '' Audio files extension
options.period Number 0.01 Grain period
options.duration Number 0.1 Grain duration
options.position Number 0 Grain position
options.positionVar Number 0 Grain position random variation
options.attackAbs Number 0 Grain attack (absolute)
options.attackRel Number 0.5 Grain attack (relative to duration)
options.releaseAbs Number 0 Grain release (absolute)
options.releaseRel Number 0.5 Grain release (relative to duration)
options.resampling Number 0 Grain resampling
options.resamplingVar Number 0 Grain resampling random variation
options.gain Number 1 Grain gain
options.throttle Number 20 Throttle time for stream parameters

Returns GranularEngine Granular synthesis engine

# microphone

 microphone(options: Object): MicrophoneSource

Create an audio source from the microphone

Parameter Type Default Description
options Object {} Options
options.gain Number 0.5 Gain

Returns MicrophoneSource

Example

// Create a source from the microphone
m = microphone();

// Create a chorus effect and connect the microphone input
c = chorus({ rate: 0.9 }).connect();
m.connect(c);

// Modulate chorus parameters
c.feedback = 0.97;
c.delay = 0.45;
c.rate = 10;

# moogFilter

 moogFilter(options: Object): MoogFilter

Create a MoogFilter effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} MoogFilter parameters
options.cutoff Number 0.065 Cutoff frequency (Hz)
options.resonance Number 3.5 Filter resonance
options.bufferSize Number 4096 Buffer size

Returns MoogFilter MoogFilter engine

# overdrive

 overdrive(options: Object): Overdrive

Create a Overdrive effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Effect options
options.outputGain Number -3 Output Gain (dB)
options.drive Number 1 Drive
options.amount Number 0 Amount
options.algorithmIndex Number 0 Type of Overdrive Algorithm (0-5)

Returns Overdrive Overdrive engine

# panner

 panner(options: Object): Panner

Create a Panner effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Effect options
options.pan Number 0 Pan position (-1 < 1)

Returns Panner Panner engine

# phaser

 phaser(options: Object): Phaser

Create a Phaser effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Effect options
options.rate Number 1.2 Rate
options.depth Number 0.3 Depth
options.feedback Number 0.2 Feedback
options.stereoPhase Number 30 Stereo Phase (deg)
options.baseModulationFrequency Number 700 Base Modulation Frequency

Returns Phaser Phaser engine

# pingpong

 pingpong(options: Object): PingPongDelay

Create a PingPongDelay effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Effect options
options.level Number 0.5 Level
options.feedback Number 0.3 Feedback
options.timeLeft Number 150 Left delay time (ms)
options.timeRight Number 200 Left delay time (ms)

Returns PingPongDelay PingPongDelay engine

# sampler

 sampler(options: Object): SamplerEngine

Create a polyphonic concatenative synthesizer

TODO

Code example + Description of markers file structure

Parameter Type Default Description
options Object {} Sampler synthesis parameters
options.file String '' Default audio file. Each audio file must be associated with
a JSON file containing the associated markers.
options.filePrefix String '/media/' Address where audio files are stored
options.fileExt String 'flac' Audio files extension
options.fadeTime number 600 Fade time for chaining segments
options.cyclic number false Loop mode
options.gain number 1 Segment gain
options.throttle number 20 Throttle time for stream parameters

Returns SamplerEngine Sampler synthesis engine

# tremolo

 tremolo(options: Object): Tremolo

Create a Tremolo effectBased on the Tuna Audio effect library: https://github.com/Theodeus/tuna/

Parameter Type Default Description
options Object {} Effect options
options.intensity Number 0.3 intensity
options.rate Number 4 Rate
options.stereoPhase Number 0 Stereo Phase (deg)

Returns Tremolo Tremolo engine