CH·106 Interactive music
verified 2026-08-01

zzfxm-rs active

meowous3 vunknown added 2026-08-01 verified 2026-08-01

[Use when]

You need to render ZzFXM tracker-style music to stereo PCM in a Rust environment without depending on a specific audio playback backend.

Engines
S Standalone * Engine-agnostic
License

MIT

Pricing

Free

Last verified

2026-08-01

Added

2026-08-01

about

zzfxm-rs is an unofficial Rust port of ZzFXM, the minimal tracker-style music renderer originally written in JavaScript by Keith Clark and Frank Force. It takes ZzFX instrument definitions, reusable patterns, a sequence, and a BPM and produces stereo f32 PCM output, leaving playback entirely to the caller.

The library targets ZzFXM 2.0.3 compatibility, covering beat timing, channel mixing, stereo panning, fractional note attenuation, end-of-note fades, instrument/note sample caching, and legacy ZzFX instrument behavior. It uses zzfx-rs for instrument synthesis. It also supports loading the compact nested-array format used by JavaScript ZzFXM songs, including JavaScript-style sparse array holes represented as None.

Useful for embedding chiptune-style music in Rust games or demos where binary size and dependency count matter. Caller-provided randomness allows deterministic rendering, and optional Serde support covers serialization needs. Not yet published to crates.io; installed directly from GitHub.