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](https://github.com/victorlfdev/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](https://github.com/suno/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](https://github.com/ZFTurbo/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](https://github.com/ZFTurbo/Music-Source-Separation-Training) | |
| ## Credits | |
| | Credit | Link | | |
| |--------|------| | |
| | **Suno AI** | Original creators of the BS-Roformer / Mel-Band-Roformer architecture via the Bark project | [GitHub](https://github.com/suno/bark) | | |
| | **ZFTurbo (Vladislav Sukachov)** | Music Source Separation Training framework and community model training | [GitHub](https://github.com/ZFTurbo/Music-Source-Separation-Training) | | |
| | **anvuew** | Trained BS-RoFormer checkpoint (SDR 12.45) | [HuggingFace](https://huggingface.co/anvuew/BS-RoFormer) | | |
| | **GaboxR67** | Mel-Band-Roformer checkpoints | [HuggingFace](https://huggingface.co/GaboxR67/MelBandRoformers) | | |
| | **沉默の金 (chenmozhijin)** | Fork-BSRoformer.cpp — C++ GGUF inference engine | [GitHub](https://github.com/chenmozhijin/Fork-BSRoformer.cpp) | | |
| | **ggerganov** | GGML library for efficient tensor computation | [GitHub](https://github.com/ggerganov/ggml) | | |
| | **dr_libs** | Lightweight audio decoding library | [GitHub](https://github.com/mackron/dr_libs) | | |
| ## Usage | |
| ### Via Fork-BSRoformer.cpp | |
| Download the compiled binary and run: | |
| ```bash | |
| ./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 |