CoolFace
Modelpublic

victorlfdev/bs-roformer-multi-q8

sourceHugging Facemitupdated 1mo agoView on Hugging Face
0likes17downloads
Model Card

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

CreditLink
Suno AIOriginal creators of the BS-Roformer / Mel-Band-Roformer architecture via the Bark projectGitHub
ZFTurbo (Vladislav Sukachov)Music Source Separation Training framework and community model trainingGitHub
anvuewTrained BS-RoFormer checkpoint (SDR 12.45)HuggingFace
GaboxR67Mel-Band-Roformer checkpointsHuggingFace
沉默の金 (chenmozhijin)Fork-BSRoformer.cpp — C++ GGUF inference engineGitHub
ggerganovGGML library for efficient tensor computationGitHub
dr_libsLightweight audio decoding libraryGitHub

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