WaveStack is on the iOS App Store

Band

Harmonic bandpass bank for VCV Rack

The Band module panel in VCV Rack.

Band is a harmonic bandpass bank for isolating the individual harmonics of a sound. It follows a technique the electronic musician Suzanne Ciani has described: start with a low wave that contains many harmonics, and use a very narrow bandpass filter to pull out one harmonic at a time.

Harmonics are spaced linearly (f0, 2·f0, 3·f0 …), while a normal filter’s cutoff responds exponentially at 1V/oct, so tuning a filter onto one particular harmonic by hand is slow and imprecise. Band instead locks each of its four bands to an integer harmonic of a shared fundamental, so every band is centred exactly on a partial. It can find that fundamental automatically from the incoming audio, or follow a 1V/oct pitch input. The module is 24 HP.

In a patch

How it works

  • A shared fundamental f0 is established (auto-detected from the audio, or set by TUNE + V/OCT).
  • Each of the four bands (A, B, C, D) selects an integer harmonic N; its bandpass center is computed as N × f0, so it lands exactly on that partial.
  • WIDTH sets bandwidth as a fraction of f0, giving constant absolute bandwidth: every harmonic isolates equally cleanly (the internal Q auto-scales with N).
  • Each band has its own colour (A blue, B green, C orange, D purple) carried into the on-screen spectrum so you can see which band is on which harmonic.

Controls

Per band (×4: A, B, C, D)

ControlFunction
Level (top knob)Output level of that band
Harmonic (middle knob)Which integer harmonic this band isolates (snaps 1-32; 1 = the fundamental)
Enable (button + LED)Switch the band in/out (fast anti-click fade)

Global (bottom row)

ControlFunction
TUNEManual fundamental, standard 1V/oct convention (0V = C4)
WIDTHBandpass bandwidth as a fraction of f0. Narrow settings pass a single harmonic, wider settings let neighbouring harmonics through, and settings above 1 pass clusters

Inputs

InputFunction
INAudio input: the source whose harmonics you are isolating
V/OCTFundamental pitch, 1V/oct (matches a standard oscillator; used in manual mode)
SHIFTGlobal continuous harmonic shift; slides all bands between harmonics at once (1V = 1 harmonic) for scanning across the series
W-CVWidth modulation
Per band: Level CVModulates that band’s level (10V → +full)
Per band: Harmonic CVContinuously shifts that band’s harmonic (1V = 1 harmonic)
Per band: Enable gateGate ≥1V forces the band on (overrides its button when patched)

Outputs

OutputFunction
MIXSum of all enabled bands (each × its level)
POLYEach band on its own polyphonic channel (A=1, B=2, C=3, D=4). Spatialize or process harmonics separately

The display

The display is a spectrum analyzer (FFT) of the incoming audio, drawn on a harmonic axis (frequency ÷ f0) so that the spectral peaks line up with the harmonic gridlines. Each band is drawn as a coloured bell-shaped curve centred on its harmonic, with its height showing the band’s level, and labelled with its letter and harmonic number (e.g. A5 = band A on harmonic 5). The readout at the bottom-left shows the current f0 in Hz, with AUTO shown when the pitch is being auto-detected.

Auto-follow vs. manual

  • Auto-follow (default, context menu): Band detects the source’s fundamental directly from the audio (FFT autocorrelation) and locks the harmonic grid to it. Feed it a wave that contains many harmonics and the bands move onto those harmonics with no tuning. When a melody plays into IN, the whole bank follows its pitch. (V/OCT and TUNE are ignored while auto-follow is locked.)
  • Manual: turn auto-follow off and set the fundamental with TUNE + V/OCT. Because Band uses the standard 1V/oct reference, patching the same pitch CV into both your oscillator and Band’s V/OCT keeps the harmonics aligned exactly at every note. This is the most precise option, especially for high harmonics.

Context menu

  • Follow input pitch (auto-lock harmonics): toggle auto-detection (default on).
  • Filter slope: 4-pole (steep, default) or 2-pole (gentler).

Patch ideas

Ciani-style harmonic isolation. Feed a low saw or pulse (~30-110 Hz) into IN. Leave auto-follow on. Turn WIDTH right down, then set A/B/C/D to different harmonics; each rings out a single partial. Bring WIDTH up slightly to let some of the neighbouring harmonics through.

Additive re-voicing. Isolate harmonics 1, 2, 3, 5 across the four bands and ride their Levels (or modulate with LFOs/envelopes) to re-balance the timbre of any source in real time.

Spatial harmonics. Take the POLY output into four VCAs/panners (or a poly VCA) and place each harmonic in its own position in the stereo field.

Harmonic sequencing. Sequence the per-band Harmonic CVs (1V/harmonic) or the global SHIFT to step the bands up and down the harmonic series in time with your patch.

Vocoder-like movement. Modulate WIDTH and SHIFT slowly with LFOs while the source plays. The bands slide across the partials and widen and narrow as they go, which gives a moving, formant-like tone.

In the synthesis guide

Pair with