Instructions to use victorlfdev/bs-roformer-multi-q8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use victorlfdev/bs-roformer-multi-q8 with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("victorlfdev/bs-roformer-multi-q8", device_map="auto") - Notebooks
- Google Colab
- Kaggle
license: mit
tags:
- music-source-separation
- bs-roformer
- gguf
- stem-separation
- source-separation
- pytorch
- transformers
BS-Roformer Multi-Stem Model (GGUF Q8)
A quantized GGUF version of the BS-Roformer model, optimized for C++ inference via Fork-BSRoformer.cpp. Supports multi-stem separation (drums, bass, vocals, others).
Model description
BS-Roformer (Band Split RoFormer) is a neural network architecture for music source separation. It splits the audio frequency spectrum into multiple bands and processes each band independently using a transformer encoder with self-attention mechanisms. The model was originally derived from Suno AI's Bark project (text-to-music generation), where it was used internally for music source separation.
This checkpoint has been quantized to Q8 format using the GGUF library for efficient inference in C++ environments, reducing memory usage while maintaining high separation quality.
Training Data
This model was trained using the framework from Music Source Separation Training, which is a PyTorch-based training framework for music source separation models. The training data consists of publicly available music datasets used by the community training efforts documented in that repository.
Original Research
- BS-Roformer (Band Split RoFormer): Architecture derived from Suno AI's Bark project for music source separation
- Music Source Separation Training: ZFTurbo/Music-Source-Separation-Training
Credits
| Credit | Link |
|---|---|
| Suno AI | Original creators of the BS-Roformer / Mel-Band-Roformer architecture via the Bark project |
| ZFTurbo (Vladislav Sukachov) | Music Source Separation Training framework and community model training |
| anvuew | Trained BS-RoFormer checkpoint (SDR 12.45) |
| GaboxR67 | Mel-Band-Roformer checkpoints |
| 沉默の金 (chenmozhijin) | Fork-BSRoformer.cpp — C++ GGUF inference engine |
| ggerganov | GGML library for efficient tensor computation |
| dr_libs | Lightweight audio decoding library |
Usage
Via Fork-BSRoformer.cpp
Download the compiled binary and run:
./bs_roformer-cli -m bs-roformer-multi-q8.gguf -a input.wav -o output.wav
See Fork-BSRoformer.cpp (https://github.com/victorlfdev/Fork-BSRoformer.cpp) for full CLI options and usage.
Via Python
from bs_roformer_cpp_cli import BsRoformerCppCLI
cli = BsRoformerCppCLI(model_path="./bs-roformer-multi-q8.gguf", device="cuda")
cli.process("input.wav", "output.wav")
Model Architecture
- Type: Band Split RoFormer (transformer-based music source separator)
- Quantization: Q8 (8-bit uniform quantization via GGUF)
- Stems: 4 (drums, bass, vocals, other)
- Input: Mono/stereo WAV audio (any sample rate, resampled internally)
- Output: 4-channel separated stems (WAV format)
License
This model is shared for research and educational purposes. The underlying BS-Roformer architecture and training methodology are derived from community efforts referenced above. Redistribution of trained weights should comply with the original training data licenses.
Acknowledgements
- ggerganov/ggml (https://github.com/ggerganov/ggml) — Efficient tensor library
- ZFTurbo/Music-Source-Separation-Training (https://github.com/ZFTurbo/Music-Source-Separation-Training) — PyTorch reference implementation
- dr_libs (https://github.com/mackron/dr_libs) — Lightweight audio library