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.
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.
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 |
| Encoder | 4 SepConv2d lagen + KnijpenGRU |
| ERB-decoder | Sigmoid masker toegepast op ERB-schaal frequentiebanden |
| DF-decoder | 5-tap gecomplexeerde filtercoëfficiënten |
| ISTFT | Inverse 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
- STFT .Verwijder de luidruchtige audio in tijdfrequentieweergave met behulp van vDSP
- ERB-kenmerken Kaart STFT-emmers naar ERB-frequentieband
- Neural Network › Encoder processen functies op Neural Engine; ERB en DF decoders voorspellen versterkingsparameters
- ERB Masking
- Diep filteren › Breng 5-tap complexe coëfficiënten aan voor fijne spectrale detailherstel
- iSTFT • Reconstrueren schone audio uit het verbeterde spectrum
Model
| Variant | Grootte | Precisie |
|---|---|---|
| Standaard | ~2,2 MB | 8-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) |
--model | Compatibel HuggingFace model repository ID (standaard: aufklarer/DeepFilterNet3-CoreML) |
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 | Grootte | HuggingFace |
|---|---|---|
| DeepFilterNet3 (CoreML, 8-bits gepaletteerd) | ~2,2 MB | aufklarer/DeepFilterNet3-CoreML |
Combineren met andere modellen
Spraakverbetering is vooral nuttig als voorbewerkingsstap voor andere modellen:
- Vóór transcriptie Denoise audio voor het draaien van ASR om woordfoutsnelheid op luidruchtige opnames te verbeteren
- Voor inbedding van de luidspreker Schonere audio produceert meer betrouwbare luidsprekerinbeddingen
- Voor diarization kan geluidsverwijdering de segmentatienauwkeurigheid verbeteren
# 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).