SUPERB
A DAW engine, in one crate.
Sessions, tracks, clips and a mixer, rendered with no device and no interface.
$ cargo add superbuse superb::primitives::buffers::PlanarBuffer;
use superb::primitives::session::TrackKind;
use superb::primitives::{SampleRate, TimePosition};
use superb::{clip, session, track, transport};
let mut session = session::create("demo.superb", SampleRate::HZ_48K, 256)?;
let lead = track::add(&mut session, "lead", TrackKind::Audio)?;
let mut tone = PlanarBuffer::new(2, 48_000);
tone.fill(0.25);
session.audio.insert("tone.wav", tone);
clip::add(&mut session, lead, "tone.wav", TimePosition::ZERO)?;
track::volume(&mut session, lead, -6.0)?;
transport::start(&mut session)?;
let audio = session::steps::render_blocks(&mut session, 8)?;
> peak > 0.1
© 2026 *^* MOSTFUN