DPDFNet

DPDFNet is a family of causal, single-channel speech enhancement models for real-time noise suppression. It extends DeepFilterNet2 with Dual-Path RNN (DPRNN) blocks in the encoder for stronger long-range temporal and cross-band modeling while staying streaming-friendly. The paper is available on arXiv. The source project is hosted at GitHub and the pre-trained ONNX models used by sherpa-onnx are published in the speech-enhancement-models release.

In sherpa-onnx, DPDFNet supports offline speech enhancement and online streaming speech enhancement in the runtime and C API.

Note

DPDFNet ONNX models and sample wave files such as inp_16k.wav and speech_with_noise.wav are available from the speech-enhancement-models GitHub release.

Model variants

Model

Params (M)

MACs (G)

Sample rate

Intended use

dpdfnet_baseline

2.31

0.36

16 kHz

Fastest / lowest resource usage

dpdfnet2

2.49

1.35

16 kHz

Real-time / embedded devices

dpdfnet4

2.84

2.36

16 kHz

Balanced performance

dpdfnet8

3.54

4.37

16 kHz

Best enhancement quality

dpdfnet2_48khz_hr

2.58

2.42

48 kHz

High-resolution audio

Hint

Use dpdfnet_baseline, dpdfnet2, dpdfnet4, or dpdfnet8 for 16 kHz downstream ASR or speech recognition. Use dpdfnet2_48khz_hr when you want 48 kHz enhancement output.

Download pre-trained models

Please use the following commands to download DPDFNet ONNX models and a test wave file:

wget https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet_baseline.onnx
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet2.onnx
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet4.onnx
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet8.onnx
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/dpdfnet2_48khz_hr.onnx

wget https://github.com/k2-fsa/sherpa-onnx/releases/download/speech-enhancement-models/inp_16k.wav

After downloading, you should have files similar to the following:

ls -lh *.onnx inp_16k.wav

Please refer to DPDFNet Python API for Python usage and DPDFNet C API for C API examples.

Citation

@article{rika2025dpdfnet,
  title = {DPDFNet: Boosting DeepFilterNet2 via Dual-Path RNN},
  author = {Rika, Daniel and Sapir, Nino and Gus, Ido},
  year = {2025},
}