SpyBand is a band vocoder, ported from the 2004 Cakewalk DXi to VST3 and Audio Unit for macOS and rebuilt from its own sources rather than reimplemented from its behaviour.
It runs the input through a bank of 9, 12, 18 or 22 bandpass filters, takes the envelope of each band of a second signal, and multiplies the two together through a 22 × 22 patch matrix — so any band of the modulator can drive any band of the carrier, not just its own. The diagonal is a plain vocoder. Everything off it is why the plug-in exists, and is what it is named after.
You can report bugs or request features on the project’s GitHub issues page.
New in 1.1.1.0
Flush-to-zero on the audio thread. Each processing block now runs with the CPU's flush-to-zero mode on, putting the host's setting back afterwards, so a signal decaying towards silence can never slow the plug-in down. SpyBand already cleared its own filters and envelopes of these tiny “denormal” numbers; this covers everything else, and anything added later.
Nothing you can hear has changed: the sound, the presets, the parameters and saved projects are exactly as in 1.1.0.0. The version number has moved so that hosts which cache Audio Units notice the new one.
New in 1.1.0.0
A new panel
The editor is no longer a copy of the DXi's dialog. It is a black hardware panel to match R2Synth: white printing on matte black, knurled knobs with printed scales, a rotary selector for every switch, small OLED-style screens and a little wear from years on a desk. All the lettering is drawn by the plug-in itself, so it is sharp at any size and the same in every host.
- A display with three pages. BANDS shows each band's filter as the response it really has, with the modulator's envelopes as bars — drag Bottom and Top to move the band span (Shift for fine). MATRIX shows the patch matrix large. INPUT shows the two inputs before any level control, and Mono / Stereo processing.
- The matrix as a pin board. A red pin is 100 %, a white pin 50 %. Click to pin or unpin; drag up or down to set a cell's level. DIAGONAL, REVERSE, SHIFT and CLEAR set a pattern in one click.
- Changing the band count keeps the pattern. Going from 9 bands to 22 carries a diagonal, reverse or shifted pattern on to every band, and moves any other pins to the same place relative to the bands.
- Input Check replaces the two LED columns: the left and right inputs as meters, and a SAME AUDIO ON L AND R lamp that lights when the two are one signal — the mono-into-Interlace mistake, answered at a glance.
- The sample slots show each file's waveform. Drop a
.wavon a slot to load it, or right-click for Choose and Clear. The lamp shows what will actually play.
Eight factory presets
Classic 9-Band, Wide 12-Band, Fine 22-Band, Upside Down, Shifted Up,
Interlace Live, Noise Whisper and DXi Defaults, chosen from the bar at the
top of the panel. Classic 9-Band spans about 100 Hz to
8 kHz and is the quickest way past the near-silent defaults. Presets
leave your loaded files alone. SAVE writes your own as
.vstpreset files to
~/Library/Audio/Presets/AE Cobley/SpyBand, where hosts that
browse that folder find them too, and a project reopens showing the preset
it was on. The factory presets are built into the plug-in, so the installer
still offers just the two formats.
Output Trim reaches +6 dB
It ran from −60 to 0 dB; it now runs to +6 dB. The default is still −20 dB, and projects and presets saved with earlier versions keep the trim they had. Nothing in the sound changed, and the identity codes are the same, so SpyBand stays in place in your projects.
One-way upgrade. Projects saved with 1.1.0.0 will not open their SpyBand settings in an earlier version — the saved state has a new version number for the trim's range. Earlier projects open in 1.1.0.0 unchanged.
New in 1.0.1.0
The maker is now “AE Cobley”, in both formats — it was “A. E. Cobley”. REAPER files an Audio Unit's presets under its name cut off at the first full stop, so every A. E. Cobley Audio Unit shared one REAPER preset list and showed the others' presets, which did nothing when chosen. The plug-in's identity codes are unchanged, so projects saved with earlier versions still open with SpyBand in place. Hosts that list plug-ins by maker now show it under AE Cobley. Nothing in the sound changed.
After upgrading. Presets you saved in a
host that files them by maker are in
~/Library/Audio/Presets/A. E. Cobley/SpyBand
— move them to
~/Library/Audio/Presets/AE Cobley/SpyBand to see them
again. In REAPER, Audio Unit presets you saved earlier stay in its old
shared list; the VST3 is unaffected.
Read this first, or it will seem broken
Three things about SpyBand are the opposite of what you would guess, and between them they account for every "this is faulty" moment during the port.
1. The live input is the CARRIER, not the modulator. In
most vocoders you sing into the modulator and a synth is the carrier. Here
it is the other way round: your input is the thing being shaped,
and the loaded .wav files — or the right input channel
— do the shaping. So the input is always audible in the output. That
is the plug-in working, not leaking.
2. It is nearly silent at its factory defaults. Bottom Freq and Top Freq default to 1 % and 2 %, which puts all nine bands between 26.8 Hz and 51.8 Hz. These are the DXi's own defaults, kept deliberately as the DXi Defaults preset. Load Classic 9-Band instead, or move both controls before judging anything.
3. Interlace mode needs a genuinely stereo input. It makes the LEFT channel the carrier and the RIGHT channel the modulator. Feed it a mono source and the signal becomes its own modulator: every band gets multiplied by its own envelope, which is a per-band squaring that sounds like harsh distortion. Watch the SAME AUDIO ON L AND R lamp in Input Check. If it lights, you have a mono source and no plug-in setting will help.
Getting a sound out of it in thirty seconds
Quickest of all: put SpyBand on a track, load a .wav into a
sample slot and choose the Classic 9-Band preset. The
fastest route with no files at all:
- Put SpyBand on a track carrying a stereo signal with different content in each channel.
- Choose the Interlace Live preset, or set
Interlaced to
Interlaceby hand (the Source selector'sRight Inposition on the panel). - Set Bottom Freq to about 50 % and Top Freq to about 92 % — that spans roughly 100 Hz to 8 kHz.
- Play. The left channel is now vocoded by the right.
For the intended workflow, load a .wav instead: drop it on a
sample slot (or right-click the slot and Choose), make sure the slot's
lamp is lit, leave Interlaced on
Use Sample (Source on Samples), and set the two
frequency controls as above. Your input is the carrier; the file is the
modulator.
The controls
Levels
- Src Level — the carrier. Unity at 20 %; the top
of the control is +14 dB. Reads
L Src Levelwith Interlace on,L+Rwithout, because without Interlace both channels are the carrier. - Wav Level — the modulator: the right channel with Interlace on, the sample slots without it.
- Through — passes the modulator to the output dry. It never touches the carrier. At zero it is digital silence.
- Output Trim — −60 to +6 dB. 0 dB is the original's own gain staging, so nothing is lost; it defaults to −20 dB because the DXi's staging clips at anything past nine bands.
The bands
- Bottom Freq — centre of the lowest band. The readout shows the actual frequency.
- Top Freq — spread. Together with Bottom Freq this sets where all the bands land; the readout shows the highest band's centre.
- Resonance — band width, as a bandwidth in octaves. Higher is narrower.
- Bands — 9, 12, 18 or 22. More bands is more resolution and more level.
- Filter Slopes — Shallow, Medium or Steep: one, two or three cascaded sections, giving 6, 12 or 18 dB/octave skirts. It does not change the level at a band's centre; it trades band overlap for separation. Steep sounds more articulate and about 5 dB quieter on broadband material.
The envelope
- Env Attack — 1 to 251 ms. How fast a band opens.
- Env Release — 1 to 101 ms. How fast it closes. Short is articulate, long is smeared.
- Env Level — multiplies every band envelope, up to ×10. This is the main "amount" control.
Voiced / unvoiced
A vocoder gets its consonants from noise. This detector watches the modulator and opens a pink-noise substitute when it goes unvoiced.
- Voiced Detect — arms the detector. Its lamp lights while the modulator is voiced.
- Voiced Sensitivity — the threshold: low-band level × this, against the high-band level.
- Unvoiced Noise Level — how much noise gets substituted.
- Noise HighPass — corner of a high pass on that noise.
- Noise Override —
Input Carrieruses your input;Noise Carrierreplaces it with pink noise entirely, in either mode.
Modes
- Stereo —
Monosums L+R and vocodes once.Stereoruns two independent banks. Interlace forces Mono. - Interlaced —
Use Sampletakes the modulator from the file slots;Interlacetakes it from the right input channel instead. - Single Shot / Repeat — whether a sample loops.
The patch matrix
The 22 × 22 grid is the heart of it. Row runs across and is the modulator; column runs down and is the carrier. Set the diagonal and you have an ordinary vocoder. Every cell off the diagonal routes one part of the spectrum to control another — low bands opening high ones, spectral inversion, and anything else the grid allows.
On the panel it is a pin board: a red pin is 100 %, a white pin 50 %, and dragging a cell up or down sets any level between. DIAGONAL, REVERSE, SHIFT and CLEAR set the common patterns in one click, and the pattern survives a change of band count. The small matrix beside the display shows the corner in use; the display's MATRIX page shows all of it.
Known gaps
- No resampling of loaded files. As in the DXi, a
.wavplays back at the host's sample rate whatever its header says. - Mono, stereo and Interlace only — the DXi's unfinished surround path was not brought across.