Practical overview
When it fits
Use it when you want to run BS Roformer or Mel-Band-Roformer separation locally through a CLI or C++ integration, and can provide a compatible GGUF model and 44.1 kHz audio.
Who it is for
- People who need to extract vocals or accompaniment from 44.1 kHz WAV music.
- Developers embedding source-separation inference in a C++ audio or music application.
- Users building an audio-processing workflow that can use GGUF models and GGML.
Documented uses
- Separate a music track into vocal or accompaniment output.
- Process WAV files through the command-line tool with adjustable chunking and overlap.
- Integrate model inference, audio I/O, progress reporting and cancellation into a C++ application.
Requirements & limits
The project is publicly available on GitHub and identifies its license as MIT. Its README describes pre-built binaries and GGUF models.
- The CLI input requirement is 44.1 kHz WAV; mono and stereo are supported.
- The supported model architectures are BS Roformer and Mel-Band-Roformer, using GGUF model files.
- CPU, CUDA and Vulkan backend availability depends on the GGML build configuration.
- Chunk size trades memory use against processing efficiency; additional overlap may reduce reassembly artifacts but increases inference time.
- Source builds require CMake 3.17+, a C++17-compatible compiler and GGML source.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build the CLI from source
Configure and compile the command-line tool with GGML.
Before you start
- CMake 3.17 or later.
- A C++17-compatible compiler: MSVC 2019+, GCC 9+, or Clang 10+.
- GGML source code as a submodule or local directory.
Steps
Provide GGML source, either as a submodule or local directory.
Configure a CPU build with cmake -B build.
Compile with cmake --build build --config Release --parallel.
Expected outcome
The documented build configuration compiles the project; the CLI build option is enabled by default.
Guide limitations
- CUDA acceleration requires configuring the build with -DGGML_CUDA=ON.
- This recipe covers compilation, not model acquisition or running inference.
Compare options for Model inference and serving
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Bsroformer.cpp | Separate a music track into vocal or accompaniment output. | CLI, Linux, macOS, Windows | The project is publicly available on GitHub and identifies its license as MIT. Its README describes pre-built binaries and GGUF models. |
| Bluetts | Generate speech audio from text in a supported language. | CLI, Linux, macOS, Windows | The repository is public and identifies the project license as MIT. |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- chenmozhijin/BSRoformer.cpp · Official homepage title · retained in its source language

