Automatische vertaling · Engels origineel

Speech Enhancement DeepFilterNet3

Verwijder achtergrondruis van spraakopnames met DeepFilterNet3. Het model draait op de Neural Engine via CoreML voor een efficiënte gevolgtrekking, terwijl alle signaalverwerking (STFT, ERB filterbank, diep filteren) draait op deCPU via Accelerate/vDSP.

Officiële DF3 pariteit

Het DSP-pad volgt libdf eind aan eind: 1/960 analyseschaling, normalisatie alfa 0.99, nul-gewatteerde diepfilterkranen en correcte NumPy C/Fortran matrixvolgorde. Op een vaste 20-clip VoiceBank-DEMAND-subset, Swift gescoord PESQ 3.097, STOI 0,964 en SI-SDR 19,12 dB versus 3,029, 0,962 en 18,31 dB voor officiële Python DF3.

Vóór/na het monster

Een luidruchtige spraakclip verwerkt met DeepFilterNet3 zodat je de CoreML denoiser kunt horen voordat je het lokaal uitvoert.

Luizige inputMP3, 48 kHz
DeepFilterNet3 output MP3, 48 kHz

Architectuur

DeepFilterNet3 maakt gebruik van een dual-decoder architectuur die spectrale envelopverbetering scheidt van fijnkorrelig spectrale detailsherstel.

Fase Gegevens
STFT Korte tijd Fourier transformeren via vDSP
Encoder4 SepConv2d lagen + KnijpenGRU
ERB-decoderSigmoid masker toegepast op ERB-schaal frequentiebanden
DF-decoder5-tap gecomplexeerde filtercoëfficiënten
ISTFTInverse STFT om het tijd-domein signaal te reconstrueren

De ERB Decoder schat een gain masker op de Equivalente Rechthoekige Bandbreedte (ERB) schaal, met brede spectrale vormgeving. De DF Decoder voorspelt 5-tap complexe filtercoëfficiënten voor fijn detail, waarbij geleerde filters direct in het frequentiedomein worden toegepast.

Verwerkingspijpleiding

  1. STFT .Verwijder de luidruchtige audio in tijdfrequentieweergave met behulp van vDSP
  2. ERB-kenmerken Kaart STFT-emmers naar ERB-frequentieband
  3. Neural Network › Encoder processen functies op Neural Engine; ERB en DF decoders voorspellen versterkingsparameters
  4. ERB Masking
  5. Diep filteren › Breng 5-tap complexe coëfficiënten aan voor fijne spectrale detailherstel
  6. iSTFT • Reconstrueren schone audio uit het verbeterde spectrum

Model

Variant GroottePrecisie
Standaard~2,2 MB8-bits gepalette gewichten, FP16 berekening

CLI-gebruik

# Denoise audio (output to _denoised.wav)
.build/release/speech denoise noisy.wav

# Specify output file
.build/release/speech denoise noisy.wav -o clean.wav

# Use another compatible HuggingFace repository
.build/release/speech denoise noisy.wav --model owner/DeepFilterNet3-CoreML

Opties

Optie Omschrijving
--output, -o Uitvoerbestandspad (standaarden voor <input>_denoised.wav)
--modelCompatibel HuggingFace model repository ID (standaard: aufklarer/DeepFilterNet3-CoreML)
Belangrijk

DeepFilterNet3 loopt op de Neural Engine via CoreML, niet op de GPU via MLX Dit betekent dat het efficiënt werkt, zelfs terwijl andere GPU-gebaseerde modellen (ASR, TTSEr is geen metallib compilatie nodig.

Modeldownloads

Model GrootteHuggingFace
DeepFilterNet3 (CoreML, 8-bits gepaletteerd)~2,2 MBaufklarer/DeepFilterNet3-CoreML

Combineren met andere modellen

Spraakverbetering is vooral nuttig als voorbewerkingsstap voor andere modellen:

# Denoise then transcribe
.build/release/speech denoise noisy.wav -o clean.wav
.build/release/speech transcribe clean.wav

Swift API

import SpeechEnhancement

let model = try await SpeechEnhancer.fromPretrained()
let cleanAudio = try model.enhance(audio: noisySamples, sampleRate: 48000)

Ook beschikbaar op Android, en op Linux & Windows via Speech Core (ONNX Runtime).