File size: 1,646 Bytes
07386c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: apache-2.0
tags:
- speech-enhancement
- denoising
- coreml
- apple-silicon
- deepfilternet
- streaming
base_model: Rikorose/DeepFilterNet3
library_name: coreml
pipeline_tag: audio-to-audio
---

# DeepFilterNet3 — Streaming CoreML (GRU state I/O)

Same DeepFilterNet3 Neural Engine model as
[`aufklarer/DeepFilterNet3-CoreML`](https://huggingface.co/aufklarer/DeepFilterNet3-CoreML),
re-exported with the three SqueezedGRU hidden states as **explicit inputs and
outputs**. Carrying those states across blocks gives glitch-free live
denoising (no GRU re-warm at every chunk boundary).

## I/O

| Name | Shape | Role |
|------|-------|------|
| `feat_erb` | `[1, 1, T, 32]` | ERB features (T = 1…6000) |
| `feat_spec` | `[1, 2, T, 96]` | Spec features (real/imag) |
| `h_enc` | `[1, 1, 256]` | Encoder GRU state in |
| `h_erb` | `[2, 1, 256]` | ERB-decoder GRU state in |
| `h_df` | `[2, 1, 256]` | DF-decoder GRU state in |
| `erb_mask` | `[1, 1, T, 32]` | ERB gain mask |
| `df_coefs` | `[1, 5, T, 96, 2]` | Deep-filter coefficients |
| `h_enc_out` / `h_erb_out` / `h_df_out` | same as inputs | Updated GRU states |

Pass zeros for the first block; feed each `*_out` back as the next block's
input. STFT / ERB / iSTFT stay on CPU (same `auxiliary.npz` as the stock pack).

## Files

| File | Description |
|------|-------------|
| `DeepFilterNet3.mlmodelc` | Pre-compiled CoreML (ANE) |
| `DeepFilterNet3.mlpackage` | Source package |
| `auxiliary.npz` | ERB filterbank, Vorbis window, norm states |
| `config.json` | Shapes / metadata |

## License

- Weights: Apache-2.0 / MIT (Rikorose/DeepFilterNet3)
- Conversion: Apache-2.0