Vocoder

Channel vocoder: a modulator on Key imposes its band envelopes on the carrier through 8 to 32 band-pass filters, with formant shift and sibilance.

  • Effect
  • Since 0.2.0
  • vocoder
  • voice
  • robot
  • formant
  • talkbox
  • filterbank
  • sidechain

Open in TuneToys

Vocoder as the Patch draws it, at default values: inlets on the left, outlets on the right.

Make any sound speak: a voice, drum or noise on Key shapes the spectrum of a synth or chord on Audio, band by band.

What it does#

The vocoder splits both signals into the same set of bands, spaced evenly in pitch from Low band to High band. For each band it follows the level of the modulator (the key input) and sets the level of that band of the carrier (the audio input) to match. The carrier supplies the pitch and the tone; the modulator supplies the moving shape of vowels and consonants. Each band is a pair of band-pass filters, and the envelopes rise with Attack and fall with Release. There is no added latency.

With nothing on Key, the vocoder uses its own input as the modulator, which turns it into a smooth band-envelope filter. A one-lane modulator drives every lane of a wider carrier. The level is set so a broadband modulator at about −12 dBFS RMS leaves a broadband carrier near its own level, whatever the band count and width.

When to use it#

Use it for robot voices, talking synths and pads, drums that "speak" through a chord, or rhythmic gating of a sustained sound by another part. Put the sound with the pitch on Audio and the sound with the rhythm or words on Key. For one moving resonance rather than a whole bank, use the Filter.

Ports#

PortDirectionSignalLanes
audioInputAudioInferred from the cable
keyInputAudioInferred from the cable
audioOutputAudioInferred from the cable

Parameters#

ParameterLabelRangeDefaultUnitScaleNotes
bandsBands0 to 42linearNumber of bands, spaced evenly in pitch from Low band to High band. More bands make speech clearer. Choices: 0 8, 1 12, 2 16, 3 24, 4 32.
low_hzLow band20 to 2000100HzlogCentre of the lowest band.
high_hzHigh band500 to 160008000HzlogCentre of the highest band, kept at least an octave above Low band and below 0.45 times the sample rate.
widthBand width0.5 to 21×logBand width relative to the band spacing: 1 makes neighbouring bands cross at −3 dB, lower is narrower and more resonant.
attack_msAttack0.5 to 1004mslogHow fast each band envelope follows a rise in the modulator.
release_msRelease5 to 100060mslogHow fast each band envelope falls after the modulator drops.
sibilanceSibilance0 to 10.2%linearLevel of the modulator itself above High band, so consonants such as s and t stay audible. Stored as a fraction; shown ×100 as a percentage.
formantFormant-12 to 120stlinearShifts the carrier bands up or down against the modulator bands, in semitones, for a smaller or larger voice.
mixMix0 to 11%linearBlend from the dry carrier to the vocoded signal. Stored as a fraction; shown ×100 as a percentage.
outputOutput-24 to 240dBlinearOutput trim after the mix.

Bands (bands)#

8, 12, 16, 24 or 32 bands. Few bands sound vintage and blurry; many bands make words clearer. Changing the count crossfades over 5 ms.

Low band and High band (low_hz, high_hz)#

The centres of the lowest and highest bands. The bank always spans at least an octave and stays under 0.45 times the sample rate. Most of a voice sits between 100 Hz and 8 kHz.

Band width (width)#

How wide each band is relative to the spacing between bands. At 1, neighbours cross at −3 dB. Lower values make narrow, resonant, metallic bands; higher values overlap them for a smoother sound.

Attack and Release (attack_ms, release_ms)#

How fast each band follows the modulator when it gets louder and when it gets quieter. Short attacks keep consonants crisp; longer releases smear words into pads.

Sibilance (sibilance)#

Mixes in the modulator itself above the top band, through a 12 dB/oct high-pass. Consonants like s, t and f have little to vocode in most carriers; this keeps them audible.

Formant (formant)#

Moves the carrier bands up or down against the modulator bands, from −12 to +12 semitones. Down sounds like a larger voice, up like a smaller one. The pitch of the carrier does not change.

Mix and Output (mix, output)#

Mix blends from the dry carrier to the vocoded signal. Output trims the level after the mix.

Tips#

  • A bright, harmonically rich carrier works best: a saw, a pulse, a chord or noise. A sine has nothing to vocode.
  • Keep the modulator dry and up front. A voice with reverb on it smears every band.
  • Raise Sibilance when words lose their edges, and lower it if the hiss is distracting.
  • For a whisper, put noise on Audio.

See also#

Oscillator, Noise, Filter, Parametric EQ.

Help patches

Each help patch is an ordinary Toy that teaches one idea. The diagram shows the Patch; the preview shows its Frame. Open it in TuneToys to play and edit it.

1. Make a synth talk

beginner Teaches: bands, attack_ms, release_ms, mix

A saw wave vocoded by a noise voice whose formant wanders and whose syllables pulse.

Patch: Oscillator audio output connected to Vocoder audio input. Noise audio output connected to Filter audio input. Control LFO “wander” control output connected to Filter @cutoff input. Filter audio output connected to Gain audio input. Control LFO “syllables” control output connected to Gain @level input. Gain audio output connected to Vocoder key input. Vocoder audio output connected to Patch outputs audio input.
Connections as text
  • Oscillator audio output connected to Vocoder audio input
  • Noise audio output connected to Filter audio input
  • Control LFO “wander” control output connected to Filter @cutoff input
  • Filter audio output connected to Gain audio input
  • Control LFO “syllables” control output connected to Gain @level input
  • Gain audio output connected to Vocoder key input
  • Vocoder audio output connected to Patch outputs audio input
  • The saw on Audio is the carrier: it supplies the pitch. The noise on Key is the modulator: its moving band-pass and pulsing level stand in for a voice.
  • Each band of the modulator sets the level of the same band of the carrier, so the saw takes on the voice's moving vowel and rhythm.
  • More bands make the words clearer. Attack and Release set how tightly the bands follow the voice; Mix 0 plays the plain saw.
Frame preview: Make a synth talkFrame “Make a synth talk” with 5 elements: knob Attack, segmented Bands, text heading, knob Mix, knob Release.4 msAttack812162432BandsMAKE A SYNTH TALK1 %Mix60 msRelease
Frame preview (static). Controls show their default values.

Open in TuneToys

2. Shift the formant, keep the consonants

intermediate Teaches: formant, sibilance, width, low_hz, high_hz, output

Formant moves the carrier bands, Sibilance lets the modulator's hiss through, and the band range and width shape the bank.

Patch: Oscillator audio output connected to Vocoder audio input. Mixer audio output connected to Vocoder key input. Vocoder audio output connected to Patch outputs audio input. Noise “voice” audio output connected to Filter audio input. Control LFO “wander” control output connected to Filter @cutoff input. Filter audio output connected to Gain “mouth” audio input. Control LFO “syllables” control output connected to Gain “mouth” @level input. Gain “mouth” audio output connected to Mixer mouth.in input. Noise “hiss” audio output connected to Gain “sss” audio input. Control LFO “consonants” control output connected to Gain “sss” @level input. Gain “sss” audio output connected to Mixer sss.in input.
Connections as text
  • Oscillator audio output connected to Vocoder audio input
  • Mixer audio output connected to Vocoder key input
  • Vocoder audio output connected to Patch outputs audio input
  • Noise “voice” audio output connected to Filter audio input
  • Control LFO “wander” control output connected to Filter @cutoff input
  • Filter audio output connected to Gain “mouth” audio input
  • Control LFO “syllables” control output connected to Gain “mouth” @level input
  • Gain “mouth” audio output connected to Mixer mouth.in input
  • Noise “hiss” audio output connected to Gain “sss” audio input
  • Control LFO “consonants” control output connected to Gain “sss” @level input
  • Gain “sss” audio output connected to Mixer sss.in input
  • A short burst of hiss joins the voice on every beat, like an s. Sibilance passes it above High band, where the saw has little to vocode.
  • Formant shifts the carrier bands against the modulator bands: down for a larger voice, up for a smaller one.
  • Low band and High band set the range of the bank; Band width overlaps the bands for a smoother, less resonant sound.
Frame preview: Shift the formant, keep the consonantsFrame “Shift the formant, keep the consonants” with 7 elements: knob Formant, text heading, knob High band, knob Low band, knob Output, knob Sibilance, knob Band width.-4 stFormantSHIFT THE FORMANT, KEEP THE CONSONANTS6000 HzHigh band100 HzLow band0 dBOutput0.5 %Sibilance1 ×Band width
Frame preview (static). Controls show their default values.

Open in TuneToys

  • Oscillator Selected waveform kernels, continuous morphing, harmonic shapes and phase/gate control; an optional MIDI input plays notes in the Toy's tuning.
  • Noise Deterministic white noise with independent channel and instance streams.
  • Filter Low-pass, high-pass, band-pass, notch, all-pass or morphing filter with resonance, 12/24 dB slopes, curve editing and output RTA.
  • Parametric EQ Parametric EQ with up to 32 reorderable RBJ bands: cuts, shelves, bells and notches, per-band bypass and output trim.

Edit this page on GitHub

esc

↑ ↓ move↩ open⌘↩ new tabesc close