--- 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