Persona
Harmonic path
Click a bar to loop from it · shift-click two bars for a sub-range · alt-click transposes that bar a semitone.
Scale practice
Transport
Tracks
Rhythm drill — three subdivisions
Current bar three times: quarters, eighths, triplet eighths.
Now playing
—press play
Live score
abcjs renders chord symbols with a guide-tone line beneath, from the active path.
Tune catalog
0
| Tune | Composer | Key | Technique |
|---|
Each entry is an 8-bar practice reduction of the tune, transposed to a study key, so the technique stays playable.
Melody — order-2 Markov
Genre-neutral transition core, persona-conditioned surface, constrained to the active bar's scale.
Voice-leading check — species 1
Parallel perfect fifths and octaves, voice crossings and large leaps between consecutive voicings.
Reharmonization proposer
Quiz
About this build
IN
- 12 personas with theme, tempo, voicing, instrument profile
- Documented vs interpretive badges; pitch-class colour maps drive the keyboard
- Per-bar function glyphs ○T △D □S ◇P (shape + letter, so colourblind users read them)
- Behavioral rules: sequenceStepper, keyDrift, frozen bass ≈, motif Δ
- Six voicing modes incl. minimum motion and melody-first
- Six backing styles, per-track mutes, soft-knee saturation on the melody bus
- Sub-range loop, three-subdivision drill, scale practice, MIDI export
- Composition: Markov melody, species-1 checker, four reharmonizers, quiz
OUT
- DDSP render and FFT reverb (
/synthesize,/fx/reverb— 503 by design) - WebM→MP4 recording transcode (needs the ffmpeg endpoint)
- FluidR3 soundfonts — this build is oscillator-based, zero network needed for audio
- Magenta RNN (
/rnn) and the audio-reactive/enginepage
Single file, no bundler. Serve it from a static-SDK Space or drop it at server/static/index.html in the Docker image. Audio starts on the first click, as browsers require.