CoolFace
Modelpublic

aufklarer/DeepFilterNet3-CoreML

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
4likes3.5kdownloads
Model Card

DeepFilterNet3 — CoreML INT8

Real-time speech enhancement for Apple Silicon. Removes background noise from speech audio. Runs on Neural Engine via CoreML.

  • 2.1M params, INT8 k-means palettization, 2.2 MB
  • 48 kHz native, 10 ms frames
  • Requires macOS 14+ / iOS 17+

Quality

Measured on 30 VoiceBank-DEMAND test clips via Python CoreMLBackend (replaces only the NN forward; keeps the PyTorch STFT / ERB / deep-filter post-processing intact).

VariantPESQSTOISI-SDRSize
PyTorch FP32 (reference)2.9000.94718.19
CoreML FP162.9010.94718.194.2 MB
CoreML INT8 (this repo)2.9070.94718.112.2 MB

INT8 matches FP16 within run-to-run noise (ΔPESQ +0.006, ΔSI-SDR −0.07 dB, STOI identical) while cutting size by 48%.

Latency (M2 Max)

DurationTimeRTF
5 s0.65 s0.13
10 s1.2 s0.12
20 s4.8 s0.24

Files

FileSizeDescription
DeepFilterNet3.mlmodelc2.2 MBPre-compiled CoreML model (runs on Neural Engine)
auxiliary.npz126 KBERB filterbank, Vorbis window, normalization states

Usage

Add speech-swift to Package.swift:

swift
.package(url: "https://github.com/soniqo/speech-swift", branch: "main")

Then denoise:

swift
import SpeechEnhancement

let enhancer = try await SpeechEnhancer.fromPretrained()
let clean = try enhancer.enhance(audio: noisyAudio, sampleRate: 48000)

CLI:

bash
swift run audio denoise noisy.wav --output clean.wav

Source

License

  • Model weights: Apache-2.0 / MIT dual license
  • CoreML conversion: Apache-2.0

Links

Reference