metronome/rust/synthrender
Me Here 964dee01d6 pm-synth: port engine.js 808/909/GM voices to Rust + host wav renderer
pm-synth: a polyphonic drum-voice synth, a faithful f32 port of engine.js DRUMS
(tone/ampEnv/v_noise/metalHat/clap recipes; RBJ biquads; exp envelopes). A Synth
mixes active Voices sample-by-sample (transport-agnostic: offline render now,
real-time device buffer fills later). All 808/909 + GM voices ported.

synthrender (host bin): parse a groove -> track-format schedule -> trigger voices
at click times -> 16-bit/48k mono WAV. Applies the editor default kit (kick->
kick909 etc.). Renders four demo grooves to audition off-bench.

This is the reusable half of the audio feature; the device port (no_std +
fixed-point/table osc, since the M0+ has no FPU) comes with the transport.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 12:34:31 -05:00
..
src pm-synth: port engine.js 808/909/GM voices to Rust + host wav renderer 2026-06-04 12:34:31 -05:00
.gitignore pm-synth: port engine.js 808/909/GM voices to Rust + host wav renderer 2026-06-04 12:34:31 -05:00
Cargo.toml pm-synth: port engine.js 808/909/GM voices to Rust + host wav renderer 2026-06-04 12:34:31 -05:00