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.

Officiell DF3 paritet

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.

Noisy inputMP3, 48 kHz
DeepFilterNet3-utgångMP3, 48 kHz

Arkitektur

DeepFilterNet3 använder en dual-decoder-arkitektur som separerar spektrala kuvertförbättring från finkornig spektrall detaljåterhämtning.

StegDetaljer
STFTKorttid Fourier transformeras via vDSP
Encoder4 SepConv2d lager + SqueezedGRU
ERB DecoderSigmoid mask appliceras på ERB-skala frekvensband
DF Decoder5-tap komplexa värderade filtreringskoefficienter
ISTFTOmvä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

  1. STFT - Dekomponera bullriga ljudet till tidsfrekvensrepresentation med vDSP
  2. ERB Funktioner - Karta STFT-biner till ERB-skala frekvensband
  3. Neural Network - Encoder processer funktioner på Neural Engine; ERB och DF-avkodare förutsäger förbättringsparametrar
  4. ERB Masking - Applicera sigmoid-vinstmask för att undertrycka buller i spektralkuvertet
  5. Deep Filtering - Applicera 5-tap komplexa koefficienter för fin spektral detaljåterhämtning
  6. iSTFT - Rekonstruera ren ljud från det förbättrade spektrumet

Modell

VariantStorlekPrecision
Standard~2.2 MB8-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

AlternativBeskrivning
--output, -oOutput file path (standarder till <input>_denoised.wav)
--modelKompatibel HuggingFace modellrepository ID (standard: aufklarer/DeepFilterNet3-CoreML)
Viktigt

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

ModellStorlekHuggingFace
DeepFilterNet3 (CoreML, 8-bitars palettiserad)~2.2 MBaufklarer/DeepFilterNet3-CoreML

Kombinera med andra modeller

Talförbättring är särskilt användbart som ett förbehandlingssteg före andra modeller:

# 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).