Traducere automată · Originalul în engleză

Îmbunătăţirea vorbirii ? DeepFilterNet3

Îndepărtați zgomotul de fond din înregistrările vorbirii utilizând DeepFilterNet3. Modelul rulează pe motorul neural Neural Engine via CoreML pentru a obține rezultate eficiente, în timp ce toate procesele de procesare a semnalelor (STFT, ERB filtrulbank, filtrarea profundă) rulează pe CPU prin Accelerare/vDSP.

Oficial DF3 paritate

Urmează calea DSP libdf se termină: 1/960 scalare analiză, normalizare alfa 0.99, robinete cu filtrul de adâncime zero, și corect NumPy C/Fortran. Pe o matrice fixă 20-clip VoiceBank-DEMAND subset, Swift scorată PESQ 3.097, STOI 0.964, și SI-SDR 19.12 dB versus 3.029, 0.962, și 18.31 dB pentru oficial Python DF3.

Înainte/după eșantion

Un clip de vorbire zgomotos procesat cu DeepFilterNet3 astfel încât să puteți auzi CoreML denoiser înainte de a rula la nivel local.

Introducere zgomotoasă MP3, 48 kHz
DeepFilterNet3 ieșire MP3, 48 kHz

Arhitectură

DeepFilterNet3 utilizează o arhitectură dual-decodor care separă consolidarea spectrala a învelișului de recuperarea detaliului spectral fin.

Etape Detalii
STFTTransformare Fourier pe termen scurt prin vDSP
Codor4 SepConv2d straturi + SqueezedGRU
Decodor ERBMască sigmoid aplicată benzilor de frecvență ERB
Decodor DFNameCoeficienți de filtrare cu valoare complexă cu 5-tap
ISTFTInvers STFT pentru a reconstrui semnalul de timp-domeniul

Decodorul ERB estimează o mască de câștig pe scara echivalentă a benzii dreptunghiulare (ERB), manipulând modelarea spectrală largă. Decodorul de DF prezice coeficienți de filtrare complexi de 5 tap pentru detalii fine, aplicând filtrele învățate direct în domeniul frecvenței.

Conductă de prelucrare

  1. STFT
  2. ERB Caracteristici
  3. Rețea neurală Caracteristicile proceselor de codor pe Neural Engine; decodoarele ERB și DF prevăd parametrii de îmbunătățire
  4. ERB Masking
  5. Filtrare profundă Aplică coeficienţii complexi 5-tap pentru recuperarea detaliilor fine
  6. iSTFT

Model

VariantăDimensiune Precizie
Implicit~2.2 MB8 biți de greutăți palatizate, FP16 calcul

Utilizarea 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

Opțiuni

Opțiune Descriere
--output, -o Calea fișierelor de ieșire (defaults to <input>_denoised.wav)
--modelCompatibil HuggingFace model de depozit (default: aufklarer/DeepFilterNet3-CoreML)
Important

DeepFilterNet3 ruleaza pe Neural Engine prin CoreML, nu pe GPU prin MLX Acest lucru înseamnă că funcționează eficient chiar și în timp ce alte modele bazate pe GPU (ASR, TTS) rulează. Nu este necesară compilarea metallib.

Modele de descărcări

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

Combinarea cu alte modele

Îmbunătățirea vorbirii este deosebit de utilă ca etapă de preprocesare înaintea altor modele:

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

De asemenea, disponibil la Android și la Linux & Windows prin Core de vorbire (ONNX Runtime).