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>
10 lines
500 B
TOML
10 lines
500 B
TOML
[package]
|
|
name = "pm-synth"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Polyphonic drum-voice synthesizer — a Rust port of engine.js's 808/909 voices. Transport-agnostic (offline render now; on-device real-time later)."
|
|
|
|
# f32 reference implementation for now (host-rendered to .wav to verify the sound). The on-device
|
|
# port (no_std + fixed-point/table osc, since the Cortex-M0+ has no FPU) comes with the audio
|
|
# transport. Kept buildable for the host (the synthrender bin).
|
|
[dependencies]
|