DeepFilterNet3 ONNX
Verified neural-network export of the official DeepFilterNet3 v0.5.6 checkpoint for native 48 kHz speech enhancement.
This is the neural graph only. It expects normalized spectral features and returns an ERB mask plus complex deep-filter coefficients. A compatible STFT, feature-normalization, filtering, and synthesis implementation is required.
Files
| File | Description |
|---|---|
deepfilter.onnx |
FP32 ONNX graph with a dynamic frame axis |
deepfilter-auxiliary.bin |
Canonical ERB matrices and Vorbis window for legacy consumers |
config.json |
Model and DSP configuration |
export_manifest.json |
Source checksum, artifact checksums, and ONNX parity results |
Tensor contract
| Direction | Name | Shape | Type |
|---|---|---|---|
| input | feat_erb |
[1, 1, T, 32] |
float32 |
| input | feat_spec |
[1, 2, T, 96] |
float32 |
| output | erb_mask |
[1, 1, T, 32] |
float32 |
| output | df_coefs |
[1, 5, T, 96, 2] |
float32 |
The feat_spec channels are real then imaginary. The coefficient axes are
batch, filter order, frame, frequency, then real/imaginary.
Required DSP contract
- sample rate: 48,000 Hz
- STFT: 960-point real FFT, 480-sample hop, Vorbis window
- spectrum: 481 bins; deep filtering: first 96 bins
- ERB bank: 32 disjoint bands with at least 2 FFT bins per band
- normalization:
tau=1.0, rounded alpha0.99; ERB mean state linearly initialized from -60 dB to -90 dB and complex unit state from 0.001 to 0.0001 - deep filter: order 5, lookahead 2, applied from an immutable copy of the noisy spectrum before fusion with the ERB-masked spectrum
- batch/offline parity: append one 960-sample analysis tail and remove the 480-sample STFT delay after overlap-add synthesis
deepfilter-auxiliary.bin is little-endian float32 data containing, in order,
the [481,32] forward ERB matrix, [32,481] inverse ERB matrix, and [960]
Vorbis window. New integrations can generate these deterministic constants.
Verification
The export script checks the graph with ONNX, then compares ONNX Runtime CPU
outputs with PyTorch for several frame lengths. Exact errors and SHA-256 hashes
are recorded in export_manifest.json.
End-to-end validation used 20 VoiceBank-DEMAND clips (101.51 seconds total):
| Runtime | PESQ | STOI | SI-SDR |
|---|---|---|---|
| official DeepFilterNet v0.5.6 | 2.9585 | 0.96064 | 18.228 dB |
| speech-core with this graph | 2.9602 | 0.96064 | 18.225 dB |
The speech-core output matched the official reference at 54.85 dB mean SI-SDR with 0.000140 mean waveform RMSE. These values validate the tested native DSP integration; other implementations must follow the contract above.
Attribution and license
DeepFilterNet is by Hendrik Schröter and contributors and is dual-licensed under Apache-2.0 or MIT. This repository publishes the converted model under the MIT option. See the upstream project and papers for architecture and training details.
- Downloads last month
- 17