TouchPlaited v1.2.0 — Six-Op FM playability
Makes the three Six-Op FM models (the DX7-compatible engines on P0, models 3–5) actually playable. They were nearly silent over most of their range and fired only on every second pad press — the root cause was a 0.5 ms trigger pulse in the voice wrapper meeting the only Plaits engine with real DX7 key-on/key-off gate semantics. The factory DX7 banks were always on board; they just never got a gate long enough to speak.
New
- Real gates for Six-Op: pads now hold the DX7 envelopes keyed for the whole press — pads, organs and strings sustain and release on lift, and MORPH's envelope stretching is finally audible. Drum-seq hits and auditions key off on a decay-scaled gate (20–400 ms) instead.
- Preset browsing feedback: while a Six-Op model is active, the LED blinks once each time S32 steps into one of the 32 DX7 presets.
Fixed / improved
- Six-Op sounding only on every second press — fixed (the short pulse was landing on the engine's two alternating, render-staggered voices on the wrong parity).
- Six-Op level padded −14 dB: the engine is registered hotter than anything else in Plaits (unity gain, LPG bypassed), and sustained FM chords saturated the output stage even at low volume.
- Note-start clicks on Six-Op retriggers/voice steals are masked with a ~3 ms fade window aligned to Plaits' internal trigger delay — DX7 attack character is untouched.
- Voice stealing now always produces a clean retrigger edge, even when a voice is reused while its gate line is still high.
Installing
TouchPlaited.bin runs from QSPI flash, so the Daisy bootloader must be on the Seed first (one-time per device — see the README). Then put the Seed in bootloader mode (tap RESET, LED pulses) and upload the .bin with the Daisy Web Programmer, or:
dfu-util -a 0 -s 0x90040000:leave -D TouchPlaited.bin
Full controls reference: MANUAL.md
🤖 Generated with Claude Code