Maskinöversättning · Engelskt original
Talförbättring - DeepFilterNet3
Ta bort bakgrundsljud från talinspelningar med DeepFilterNet3. Modellen körs på Neural Engine via CoreML för effektiv inferens, medan all signalbehandling (STFT, ERB-filterbank, djup filtrering) körs på den CPU via Accelerate/vDSP.
DSP vägen följer libdf Slutet till slutet: 1/960 analys skalning, normalisering alfa 0.99, noll vadderade djupfilterkranar och korrigera NumPy C/Fortran matrisordning. 20-Clip VoiceBank-DEMAND subset, Swift Gör PESQ 3.097STOI 0.964och SI-SDR 19.12 dB versus 3.029, 0.962och 18.31 dB för officiell Python DF3.
Före/efter prov
Ett bullrigt talklipp bearbetat med DeepFilterNet3 så att du kan höra CoreML denoiser innan du kör den lokalt.
Arkitektur
DeepFilterNet3 använder en dual-decoder-arkitektur som separerar spektrala kuvertförbättring från finkornig spektrall detaljåterhämtning.
| Steg | Detaljer |
|---|---|
| STFT | Korttid Fourier transformeras via vDSP |
| Encoder | 4 SepConv2d lager + SqueezedGRU |
| ERB Decoder | Sigmoid mask appliceras på ERB-skala frekvensband |
| DF Decoder | 5-tap komplexa värderade filtreringskoefficienter |
| ISTFT | Omvänt STFT för att rekonstruera tidsdomänsignalen |
ERB Decoder uppskattar en vinstmask på Equivalent Rectangular Bandwidth (ERB)-skalan, hanterar bred spektralformning. DF Decoder förutspår 5-tap komplexa filtreringskoefficienter för fin detalj, tillämpar lärda filter direkt i frekvensdomänen.
Processing Pipeline
- STFT - Dekomponera bullriga ljudet till tidsfrekvensrepresentation med vDSP
- ERB Funktioner - Karta STFT-biner till ERB-skala frekvensband
- Neural Network - Encoder processer funktioner på Neural Engine; ERB och DF-avkodare förutsäger förbättringsparametrar
- ERB Masking - Applicera sigmoid-vinstmask för att undertrycka buller i spektralkuvertet
- Deep Filtering - Applicera 5-tap komplexa koefficienter för fin spektral detaljåterhämtning
- iSTFT - Rekonstruera ren ljud från det förbättrade spektrumet
Modell
| Variant | Storlek | Precision |
|---|---|---|
| Standard | ~2.2 MB | 8-bitars paletterade vikter, FP16 beräkning |
CLI Användning
# 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
Alternativ
| Alternativ | Beskrivning |
|---|---|
--output, -o | Output file path (standarder till <input>_denoised.wav) |
--model | Kompatibel HuggingFace modellrepository ID (standard: aufklarer/DeepFilterNet3-CoreML) |
DeepFilterNet3 körs på Neural Engine via CoreML, inte på GPU via = MLX. Detta innebär att det fungerar effektivt även när andra GPU-baserade modeller (ASR, TTS) körs. No metallib compilation krävs.
Modell nedladdningar
| Modell | Storlek | HuggingFace |
|---|---|---|
| DeepFilterNet3 (CoreML, 8-bitars palettiserad) | ~2.2 MB | aufklarer/DeepFilterNet3-CoreML |
Kombinera med andra modeller
Talförbättring är särskilt användbart som ett förbehandlingssteg före andra modeller:
- Before transkription - Denoise ljud innan du kör ASR för att förbättra ordfelhastigheten på bullriga inspelningar
- Innan högtalaren inbäddar - Renare ljud producerar mer tillförlitliga högtalarinbäddningar
- Innan diarization - Bullerborttagning kan förbättra segmenteringsnoggrannheten
# 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)
Också tillgänglig på Android, och på Linux & Windows genom Speech Core (ONNX Runtime).