DeepFilterNet3 Streaming Core ML

A stateful, fixed-shape Core ML conversion of DeepFilterNet3 for real-time 48 kHz speech enhancement on Apple platforms. It consumes one 480-sample (10 ms) hop at a time and exposes all recurrent state explicitly.

This repository is the default model source for the DeepFilterNetCoreML Swift product. It is self-contained: the Core ML graph, matching MLX weights/configuration, and normalization state are versioned together.

Origin

Runtime contract

Property Value
Sample rate 48,000 Hz
Input hop 480 samples / 10 ms
Fixed algorithmic delay 1,440 samples / 30 ms
Core ML graph DeepFilterNet3-Streaming.mlpackage
Recurrent state Explicit inputs and outputs

The fixed 30 ms delay is separate from model execution time and application audio buffering.

Validation

The validated Swift streaming path measured 0.999993 correlation to the official PyTorch CLI output. A fresh end-to-end run from the original stereo source, including Swift downmix/resampling, measured 0.999969 correlation and 42.13 dB signal-to-error ratio. On the development Apple Silicon Mac, unpaced steady per-hop Core ML compute was 0.264 ms and the 52.13-second validation clip processed in 1.494 seconds (34.9x real time). Performance and paced callback latency vary by device, operating system, and concurrent load.

Swift usage

import DeepFilterNetCoreML

let enhancer = try await DeepFilterNetCoreMLStreamer.load(
    configuration: .init(variant: .deepFilterNet3)
)

let enhancedHop = try enhancer.processHop(input480Samples)
let tail = try enhancer.flush()

The default loader downloads this repository through swift-huggingface. Applications can instead provide .local(...) or .bundle(...) as the model source.

Files

  • DeepFilterNet3-Streaming.mlpackage: stateful one-hop Core ML graph.
  • auxiliary.npz: validated normalization state.
  • config.json and model.safetensors: matching model configuration and DSP/filterbank data used by the Swift runtime.
  • LICENSE-APACHE and LICENSE-MIT: upstream dual-license terms.

License

DeepFilterNet is available under Apache-2.0 or MIT at your option. This repository preserves both upstream license files. See the original project for full attribution.

Downloads last month
-
Safetensors
Model size
2.17M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for iky1e/DeepFilterNet3-Streaming-CoreML