songbird-separator
Audio stem separation for Songbird. Splits audio into isolated stems (vocals, drums, bass, other) using ML models via ONNX Runtime.What it owns
- Stem separation pipeline (decode → STFT → inference → iSTFT → write stems)
- Model-specific pre/post-processing configuration (BS-RoFormer, HTDemucs, etc.)
- Audio I/O for the separation workflow (decode any format, write stem WAVs)
Public API
separate()— main entry point: takes audio file path, returns stem file pathsSeparatorConfig— model selection + output preferencesSeparatorModelConfig— per-model STFT params, stem names, chunk sizesStemResult— output paths + metadata
How it fits
Depends onsongbird-inference (ONNX session, model download) and
songbird-dsp (STFT/iSTFT). Called from the separator sync channel
in songbird-sync.