beat lab / sculptor
INVERSE FFT AS INSTRUMENT

Draw the
frequency
domain.

32 bars. Each one is a harmonic partial of the fundamental. Drag them up to set their amplitude. What you draw is exactly what you hear. The spectrum IS the sound.

This is the inverse of a visualizer. Instead of sound producing a spectrum, the spectrum produces the sound. Fourier in reverse. You are the frequency domain.

Presets seed the bars with classic waveforms — sine, square, sawtooth, triangle. But the real instrument is the empty canvas. Draw whatever spectrum you want. Every combination is a timbre nobody has heard before.

THE BRIDGE
ADDITIVE SYNTHESIS

Every sound is a sum of sine waves — Fourier proved this in 1807. The sculptor exposes that sum directly. Each bar is a sine wave at a harmonic of the fundamental. Bar 1 = f0, bar 2 = 2*f0, bar 3 = 3*f0. The height is the amplitude. 32 partials, all independently controllable.

DUAL RECONCILIATION V4

Same architecture as Signal. 32 bin amplitudes live in a SharedArrayBuffer. The AudioWorklet reads them and performs additive synthesis. The Canvas reads them and draws the bars. One state, two transducers. But this time the state isn't a frequency — it's an entire spectrum. You don't play a note. You sculpt a timbre.

NORMALIZATION

The worklet normalizes by total power — sum of squared amplitudes — so the perceived loudness stays roughly constant whether you have 1 bin active or 32. This lets you sculpt freely without worrying about clipping or volume jumps.

WHY THIS MATTERS

Most audio tools hide the frequency domain behind knobs and sliders. The sculptor removes that abstraction. You ARE the FFT output. Every bar you draw is a coefficient in the Fourier series. The synthesizer doesn't interpret your intent — it plays your spectrum verbatim. Seeing and hearing become the same act.

SIGNAL CHAIN
draw bins
SAB write
AudioWorklet
additive synth
destination
Bins
32 harmonics
Synthesis
additive (sin sum)
Transport
SAB / postMessage
Smoothing
per-bin lerp (click-free)