sherpa-onnx supports source separation through the SherpaOnnxCreateOfflineSourceSeparation() API. Configure exactly one model family by filling in the corresponding field of SherpaOnnxOfflineSourceSeparationModelConfig.
- See also
- SherpaOnnxCreateOfflineSourceSeparation, SherpaOnnxOfflineSourceSeparationConfig
Spleeter
Spleeter separates audio into vocals and accompaniment (2 stems).
memset(&config, 0, sizeof(config));
"./sherpa-onnx-spleeter-2stems-fp16/vocals.fp16.onnx";
"./sherpa-onnx-spleeter-2stems-fp16/accompaniment.fp16.onnx";
const SherpaOnnxOfflineSourceSeparation * SherpaOnnxCreateOfflineSourceSeparation(const SherpaOnnxOfflineSourceSeparationConfig *config)
Create a source-separation engine.
void SherpaOnnxDestroyOfflineSourceSeparation(const SherpaOnnxOfflineSourceSeparation *ss)
Destroy a source-separation engine.
struct SherpaOnnxOfflineSourceSeparation SherpaOnnxOfflineSourceSeparation
Opaque source-separation engine handle.
Top-level source-separation configuration.
SherpaOnnxOfflineSourceSeparationModelConfig model
SherpaOnnxOfflineSourceSeparationSpleeterModelConfig spleeter
const char * accompaniment
Model package: sherpa-onnx-spleeter-2stems-fp16
Example source: source-separation-spleeter-c-api.c
UVR (MDX-Net)
UVR separates audio into vocals and non-vocals.
memset(&config, 0, sizeof(config));
SherpaOnnxOfflineSourceSeparationUvrModelConfig uvr
Model file: UVR-MDX-NET-Voc_FT.onnx
Example source: source-separation-uvr-c-api.c