Sample-free General MIDI player and renderer. Every voice is generated algorithmically — no SoundFont, no sample library, no FluidSynth. Expect a chiptune / analog-synth aesthetic.
cargo install rumplOr from a local checkout:
cargo install --path .rumpl play file.mid # real-time playback
rumpl render file.mid out.wav # offline render to 44.1 kHz / 16-bit stereo WAVFlags:
--gain <f32>— master gain (default0.8)--sample-rate <u32>— render sample rate (default44100)--tail <f32>— render seconds of release tail after last note-off (default3.0)
midlyparses the SMF; events are merged across tracks and stamped with absolute sample indices via the tempo map.- A 64-voice synth maps each MIDI program to a static
Patch(oscillator stack, ADSR, filter, LFO). Channel 10 uses a separate per-key drum patch table. - Output goes to
cpalforplayorhoundforrender.