sherpa-onnx supports both offline and online speech enhancement with two model families: GTCRN and DPDFNet.
- See also
- SherpaOnnxCreateOfflineSpeechDenoiser, SherpaOnnxCreateOnlineSpeechDenoiser
Offline GTCRN
memset(&config, 0, sizeof(config));
wave->sample_rate);
"./clean.wav");
struct SherpaOnnxOfflineSpeechDenoiser SherpaOnnxOfflineSpeechDenoiser
Opaque offline speech denoiser handle.
void SherpaOnnxDestroyOfflineSpeechDenoiser(const SherpaOnnxOfflineSpeechDenoiser *sd)
Destroy an offline speech denoiser.
const SherpaOnnxDenoisedAudio * SherpaOnnxOfflineSpeechDenoiserRun(const SherpaOnnxOfflineSpeechDenoiser *sd, const float *samples, int32_t n, int32_t sample_rate)
Run offline speech denoising on a complete waveform.
const SherpaOnnxOfflineSpeechDenoiser * SherpaOnnxCreateOfflineSpeechDenoiser(const SherpaOnnxOfflineSpeechDenoiserConfig *config)
Create an offline speech denoiser.
int32_t SherpaOnnxWriteWave(const float *samples, int32_t n, int32_t sample_rate, const char *filename)
Write floating-point PCM to a mono 16-bit WAVE file.
void SherpaOnnxDestroyDenoisedAudio(const SherpaOnnxDenoisedAudio *p)
Destroy denoised audio returned by a speech enhancement API.
Denoised audio returned by offline or online speech enhancement APIs.
Configuration for offline speech denoising.
SherpaOnnxOfflineSpeechDenoiserModelConfig model
SherpaOnnxOfflineSpeechDenoiserGtcrnModelConfig gtcrn
Model file: gtcrn_simple.onnx
Example source: speech-enhancement-gtcrn-c-api.c
Offline DPDFNet
memset(&config, 0, sizeof(config));
SherpaOnnxOfflineSpeechDenoiserDpdfNetModelConfig dpdfnet
Model file: dpdfnet_baseline.onnx (also: dpdfnet2.onnx, dpdfnet4.onnx, dpdfnet8.onnx for 16 kHz; dpdfnet2_48khz_hr.onnx for 48 kHz)
Example source: speech-enhancement-dpdfnet-c-api.c
Online GTCRN
memset(&config, 0, sizeof(config));
int32_t frame_shift =
void SherpaOnnxDestroyOnlineSpeechDenoiser(const SherpaOnnxOnlineSpeechDenoiser *sd)
Destroy an online speech denoiser.
struct SherpaOnnxOnlineSpeechDenoiser SherpaOnnxOnlineSpeechDenoiser
Opaque online speech denoiser handle.
const SherpaOnnxOnlineSpeechDenoiser * SherpaOnnxCreateOnlineSpeechDenoiser(const SherpaOnnxOnlineSpeechDenoiserConfig *config)
Create an online speech denoiser.
int32_t SherpaOnnxOnlineSpeechDenoiserGetFrameShiftInSamples(const SherpaOnnxOnlineSpeechDenoiser *sd)
Return the recommended chunk size in samples for streaming input.
const SherpaOnnxDenoisedAudio * SherpaOnnxOnlineSpeechDenoiserFlush(const SherpaOnnxOnlineSpeechDenoiser *sd)
Flush buffered samples and reset the online denoiser.
Configuration for streaming speech denoising.
SherpaOnnxOfflineSpeechDenoiserModelConfig model
Model file: gtcrn_simple.onnx
Example source: online-speech-enhancement-gtcrn-c-api.c
Online DPDFNet
memset(&config, 0, sizeof(config));
Model file: dpdfnet_baseline.onnx
Example source: online-speech-enhancement-dpdfnet-c-api.c