Callback-based playback with raw terminal input. Single char keys
only — no escape sequences. The Interruption: reese sidechain 0.55.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Silk Road: mellotron_flute in finale. The Dialogue: drift pad, mellotron ending.
Acid Reign: wavefold in breakdown. Chakra: drift at crown. Raga Midnight:
mellotron_strings over 808 drop. The Temple: granular_pad texture.
Sleight of Hand: mellotron_choir. Gravity: drift tambura.
Ghost Protocol: NES pulled back. An Exception: psycho bass 0.3.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ghost Protocol: arp → drift (analog wobble)
Deep Time: shimmer → drift, added granular_pad grain layer
Voltage: added hard_sync part at bar 49
The Interruption: reese bass → drift (analog menace)
An Exception Occurred: added ring_mod during psychosis
Intrusive: thought → wavefold with organ envelope (uglier, harder)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ghost Protocol: no more Portishead/Strobe references.
Apex: no more Beast Mode reference. Descriptions stand alone.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Picker shows docstring titles (RAGA MIDNIGHT, BEAST MODE) instead of
filenames. Non-440 reference pitch shown next to BPM.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Album arc: opener → cool down → world → energy peak → emotional
heart → exploration → sacred → closing. Track names link to source.
Table shows key, BPM, tuning system, vibe.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
First-run prompt and 'R' render-all both use 4 parallel workers.
Each track renders in its own subprocess. Colored first-run UI.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tracks auto-cache to wavs/ on first play. Subsequent plays load the
WAV instantly (no render wait). 'r' key in picker force-renders.
Checkmark shows cached tracks. Picker returns to loop after playback.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Music Box Factory: G major, 108 BPM — 8 tuned percussion instruments.
Kalimba, vibraphone, celesta, marimba, glockenspiel, xylophone,
crotales, timpani. No synths, no strings.
Cathedral: D minor, 60 BPM — tubular bells in taj_mahal, bagpipe
drone, mellotron choir, timpani thunder, pipe organ, kick in
cathedral reverb. Mellotron choir solo at the heart.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
E minor, 100 BPM. Singing bowls + tingsha opening, didgeridoo,
mellotron flute, sitar 16th arps with dynamic velocity and 32nd
shreds. Synths emerge at bar 33. Both worlds collide at the peak.
Mellotron solo bridges them. Bowls alone at the end.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tape Memory: Db minor, 90 BPM — mellotron flute, FM bells, drift,
crotales, granular texture, hard_sync, PWM, wavefold, ring_mod.
Theremin solo at the peak. Singing bowls + tingsha throughout.
Play.py now returns to track picker after playback finishes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New sections: FM solo melody (bars 65-72), saw + square harmony in
thirds (73-80), sine/triangle/PWM canon in a round (81-88), all
waveforms return for finale then dissolve (89-96). Lead melody louder.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Three new oscillator types join the stack: FM (metallic, bar 25),
PWM (wobbling pulse width, bar 33), wavefold (harsh harmonics, bar 41).
Nine waveforms total now stacking into the peak.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Waveforms: F minor, 118 BPM — percussive synth blips stacking with
occasional sustained pads, 808 sub, rhythmic drums with ghost notes.
Intrusive: saw phrase loops, acceptance arc with sub and cello.
Voices: five vocal parts multiplying, piano as reality.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bb minor, 92 BPM. One saw synth phrase loops endlessly. Rhodes tries
to play something else, drums try to drown it — fighting makes it
louder. Acceptance at bar 33: stop fighting, sub bass enters as
ground, cello warmth, the thought slows and passes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
F# minor, 65 BPM. Five vocal parts multiplying across the stereo
field, each with different vowels/delay/reverb/pan. Overwhelm at
bar 25. Piano enters as reality at bar 33. Voices fade one by one.
One last whisper at bar 55, then silence.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Peak volume 0.55→0.32, velocities capped at 85. Still screaming,
just not clipping.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Three singing bowls panned across stereo during despair. Deep tambura
drone from bar 1 — Sa-Pa fifth that darkens to minor third during
the shift, disappears in psychosis, returns in recovery. Tabla 0.38.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Theremin ceiling lowered from +24 to +12. Despair section doubled to
8 bars — broken minor melody attempt, lowest piano note of the piece.
Psychosis bass volume 0.5→0.7. Tingsha + tabla added for meditation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>