File size: 2,641 Bytes
c92bc18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
---
license: apache-2.0
library_name: coreml
tags:
- coreml
- audio
- speech-enhancement
- noise-suppression
- streaming
- dpdfnet
- 48khz
---

# DPDFNet-8 48 kHz HR Core ML

Stateful Core ML and MLX assets for CEVA's high-resolution **DPDFNet-8 48 kHz HR** speech-enhancement model. This is a separate architecture/profile from DPDFNet-4 and is supported by the [`DeepFilterNetCoreML`](https://github.com/kylehowells/DeepFilterNet-mlx) Swift product.

## Origin

- Official implementation: [ceva-ip/DPDFNet](https://github.com/ceva-ip/DPDFNet)
- Official models: [Ceva-IP/DPDFNet](https://huggingface.co/Ceva-IP/DPDFNet)
- Paper: [DPDFNet](https://arxiv.org/abs/2512.16420)
- Swift runtime and conversions: [kylehowells/DeepFilterNet-mlx](https://github.com/kylehowells/DeepFilterNet-mlx)
- Conversion script: [`Scripts/Conversion/convert_dpdfnet_to_coreml.py`](https://github.com/kylehowells/DeepFilterNet-mlx/blob/feature/deepfilternet4/Scripts/Conversion/convert_dpdfnet_to_coreml.py)

## Runtime contract

| Property | Value |
|---|---:|
| Sample rate | 48,000 Hz |
| Input hop | 480 samples / 10 ms |
| FFT | 960 samples |
| DPRNN blocks | 8 |
| Fixed algorithmic delay | 2,400 samples / 50 ms |

## Recommended model

`DPDFNet8-48kHz-HR-Streaming-FP32.mlpackage` is the production default. Conversion validation against PyTorch produced effectively perfect output correlation (0.999999999998). FP16 explicit-state and resident-state variants are included for experimentation but are not selected automatically because their fidelity is lower.

Current 60-second Swift/Core ML validation: 38.664 seconds total (1.55x real time), with 0.99999966 waveform correlation to official ONNX. Live p50/p95 model processing latency was 6.326/7.067 ms on the development Apple Silicon Mac. Device results vary.

## Swift usage

```swift
import DeepFilterNetCoreML

let enhancer = try await DeepFilterNetCoreMLStreamer.load(
    configuration: .init(variant: .dpdfNet8HighResolution)
)
let output = try enhancer.processHop(input480Samples)
```

## Files

- `DPDFNet8-48kHz-HR-Streaming-FP32.mlpackage`: recommended explicit FP32 state graph.
- `DPDFNet8-48kHz-HR-Streaming.mlpackage`: explicit FP16 state graph.
- `DPDFNet8-48kHz-HR-Streaming-State.mlpackage`: Core ML `MLState` graph.
- `DPDFNet8-48kHz-HR-initial-state-f32.bin`: canonical recurrent-state initialization.
- `config.json` and `model.safetensors`: matching Swift MLX/DSP model assets.
- `conversion-report.json`: graph-level validation and measured conversion latency.

## License

Apache-2.0, matching the official CEVA DPDFNet repository. See `LICENSE` and the original project.