Traduzione automatica · Originale inglese

Miglioramento del discorso — DeepFilterNet3

Rimuovere il rumore di fondo dalle registrazioni vocali utilizzando DeepFilterNet3. Il modello viene eseguito su Neural Engine tramite CoreML per un'inferenza efficiente, mentre tutti i processi di elaborazione del segnale (STFT, ERB filterbank, deep filtering) vengono eseguiti sulla CPU via Accelerate/vDSP.

parità ufficiale DF3

Il sentiero DSP segue libdf fine alla fine: 1/960 analisi scaling, normalizzazione alfa 0.99, rubinetteria a filtro profondo a zero-imposto, e corretto ordine di matrice NumPy C/Fortran. 20-clip VoiceBank-DEMAND sottoinsieme, Swift PESQ ha segnato 3.097STOI 0.964e SI-SDR 19.12 DB contro 3.029, 0.962e 18.31 dB per ufficiale Python DF3.

Prima/dopo campione

Una clip discografica rumorosa elaborata con DeepFilterNet3 in modo da poter ascoltare il denoiser CoreML prima di eseguirlo localmente.

Input rumorosoMP3, 48 kHz
Uscita DeepFilterNet3MP3, 48 kHz

Architettura

DeepFilterNet3 utilizza un'architettura a doppio decoder che separa il potenziamento della busta spettrale dal recupero dei dettagli spettrali in grana fine.

FaseDettagli
STATOTrasformazione di Fourier a breve termine tramite vDSP
Encoder4 SepConv2d strati + SqueezedGRU
Decoder ERBMaschera Sigmoid applicata alle bande di frequenza su scala ERB
DF DecoderCoefficienti di filtraggio complessi a 5 punte
ISTFTSTFT inverso per ricostruire il segnale del dominio del tempo

Il Decoder ERB stima una maschera di guadagno sulla scala Equivalent Rectangular Bandwidth (ERB), che si occupa di modellazione spettrale. DF Decoder prevede coefficienti di filtraggio complessi 5-tap per dettagli fini, applicando filtri appresi direttamente nel dominio di frequenza.

Tubo di elaborazione

  1. STFT — Decomporre l'audio rumoroso nella rappresentazione della frequenza temporale utilizzando vDSP
  2. ERB Caratteristiche — Mappa bins STFT a bande di frequenza su scala ERB
  3. Rete Neurale — Encoder elabora le caratteristiche su Neural Engine; ERB e DF decoders predicoders parametri di miglioramento
  4. ERB Masking — Applicare la maschera di guadagno sigmoid per sopprimere il rumore nella busta spettrale
  5. Deep Filtraggio — Applicare coefficienti complessi a 5 punte per un recupero dei dettagli spettrali fine
  6. iSTFT — Ricostruire l'audio pulito dallo spettro migliorato

Modello

VarianteDimensionePrecisione
Predefinito~2.2 MBpesi palettizzati a 8 bit, FP16

Uso CLI

# 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

Opzioni

OpzioneDesignazione
--output, -oPercorso file di output (defaults to <input>_denoised.wav)
--modelID del repository del modello HuggingFace compatibile (default: aufklarer/DeepFilterNet3-CoreML)
Importante

DeepFilterNet3 corre sul Neural Engine via via via via CoreML# Non sul serio # GPU via via via via MLXQuesto significa che funziona in modo efficiente anche se altri modelli basati su GPU (ASR, TTS) sono in esecuzione. Non è richiesta alcuna compilazione metallica.

Download del modello

ModelloDimensioneHuggingFace
DeepFilterNet3 ( CoreML, 8-bit palettized)~2.2 MBaufklarer/DeepFilterNet3-CoreML

Combinazione con altri modelli

La valorizzazione del discorso è particolarmente utile come passo di preelaborazione prima di altri modelli:

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

Disponibile anche su AndroidE poi... Linux & Windows attraverso Speech Core (ONNX Runtime).