Bunting recolours any sound toward a chord by reshaping its frequency spectrum — energy near lit pitch classes blooms through; energy between notes is dissolved. This guide covers the interface, every control, and practical workflows.
The 12-key keyboard at the top of the UI is the heart of Bunting. Each key toggles a pitch class — C through B — on or off. Lit keys pass through at full gain across every octave in the spectrum. Unlocked pitch classes are attenuated by the Amount control.
The keyboard shows standard chromatic layout (C, C♯, D, D♯, E, F, F♯, G, G♯, A, A♯, B). Click any key to toggle it. Multiple keys can be active at once — build any chord, scale, or cluster. Default: C–E–G (major triad).
These two controls define how aggressively the chroma mask cuts the spectrum and how wide the Gaussian "bells" around each note are.
Increase both together for a powerful but musical sound. Lower Amount with very wide Width creates a subtle brightening effect with almost no audible cutting.
Smooth applies a per-bin time-domain low-pass to the chroma gain values across STFT frames. Without it, spectral bins near the edge of a note boundary would flicker as instantaneous pitch drifts between frames — producing a metallic warble or "underwater" effect.
When Mask Motion is active, Smooth is automatically floored at a minimum value (~25 ms time constant) so chord steps from the LFO don't produce clicks even at low Smooth settings.
Mask Motion swings the Root semitone value through an LFO pattern, creating a slow or fast chord sweep over time. All Motion parameters are independent of the static Root knob — the LFO offset adds on top of the Root value.
Use Tri synced to 1 bar for a predictable in-key progression sweep. Use Rand at low Motion depth (20–30%) for an organic, breathing chord colour.
The Freeze button engages a full phase-vocoder hold. Bunting captures two consecutive STFT frames, measures the true instantaneous frequency of each bin, and rebuilds the spectrum every frame from the locked magnitudes with continuously advancing phases. The frozen sound sustains indefinitely without metallic artifacts or beating.
The chroma mask is still applied on top of the frozen spectrum. This means you can:
When Freeze is released, the engine returns to live STFT processing on the next hop boundary. There is no fade — the engine simply resumes reading new frames.
Drop Bunting on a reverb return or a sustained synth pad. Set the chord to match your track key (e.g. F minor: F–Ab–C). Set Amount 45–60%, Width 90–120 ct, Smooth 40%. Pull Mix back to 70–85% to keep some of the original character. The reverb tails will gradually drift into the chord.
Send a noise generator through Bunting. Set a 5–7 note scale (try pentatonic: C–D–E–G–A). Raise Amount to 85–100%, Width 50–70 ct, Smooth 50%. The noise snaps into a buzzing, tonal pad that follows the lit pitches at every octave simultaneously — no oscillator needed.
Feed Bunting a held chord or a lush reverb. Engage Freeze once the sound fills the buffer (it locks after two frames). Enable Mask Motion: Tri shape, synced 1 bar, Motion 40–60%. The frozen sound now plays as a repeating chord that sweeps up and down the scale in time with the bar. Change the keyboard pattern while frozen to shift the chord.
Set your chord voicing on the keyboard (e.g. major triad). In your DAW, automate the Root parameter to step through a four-bar progression: 0 (C) → 5 (F) → 7 (G) → 9 (A). The lit pitch classes follow Root automatically, so a C–E–G on the keyboard plays C maj, F maj, G maj, A maj in sequence. Combine with Smooth 50%+ to cross-fade smoothly between chords.