How to use from the
Use from the
Transformers library
# Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("victorlfdev/bs-roformer-multi-q8", device_map="auto")
Quick Links

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

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
Downloads last month
13
GGUF
Model size
0.2B params
Architecture
bs_roformer
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support