register — stops
spectrum — the mode structure, as math
ready
partial r : a : p° : Q · sum sum n=1..N : r(n) : a(n) : p(n) : Q(n) · env env : f(r) (scales amp) · q q : f(r) (global width law).
Q = quality: high Q = narrow line, rings long; low Q = broad, colored hiss. Q=* (or inf) → a pure sine — this is the chimera notation, some lines ring, some are struck. In scope: r · hz(=r·X) · f0(=X) · index n,k. Fns prime fib sin cos exp log sqrt pow abs mod iff odd even · consts pi e phi tau.
time — put t (seconds since note-on) in the ratio for a swept resonance (1+0.5*sin(tau*t)) or in Q for a breathing width (20*(1+4*t) — starts broad, narrows). t-modes keep updating through the ring-out.
excitation — what enters the chamber
built-in noise
common = one breath, all modes share it (interference, beating). independent = clean, no beat. ADSR gates the drive, not the output — release stops bowing and each mode rings out at its own 1/γ.
Q ✕
master
ensemble — inhomogeneous broadening → Voigt
spread¢
voices K
each line becomes K micro-detuned resonators (a chorus of near-identical modes). spread 0 = one pure Lorentzian; wide spread = Gaussian bloom. Homogeneous Q ⊛ inhomogeneous spread = Voigt. Applied when a note starts.
drift — living detune, the whole line wanders
depth¢
rate Hz
per-mode random detune (static offset) + slow sine wander at rate. Unlike ensemble spread (which smears one line into a band), drift shifts each whole line coherently — the chamber breathing, strings never quite in tune. Dequantize the dead-steady tone. Applied when a note starts.
envelope — ADSR, gates the drive
attack
decay
sustain
release
tuning
MIDI file — audition · render to WAV
no file
notes play through the current spectrum, tuned by EDO (12 = faithful; other = dequantized). Export renders offline (silent, faster than realtime).