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.
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.
Arhitectură
DeepFilterNet3 utilizează o arhitectură dual-decodor care separă consolidarea spectrala a învelișului de recuperarea detaliului spectral fin.
| Etape | Detalii |
|---|---|
| STFT | Transformare Fourier pe termen scurt prin vDSP |
| Codor | 4 SepConv2d straturi + SqueezedGRU |
| Decodor ERB | Mască sigmoid aplicată benzilor de frecvență ERB |
| Decodor DFName | Coeficienți de filtrare cu valoare complexă cu 5-tap |
| ISTFT | Invers 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
- STFT
- ERB Caracteristici
- Rețea neurală Caracteristicile proceselor de codor pe Neural Engine; decodoarele ERB și DF prevăd parametrii de îmbunătățire
- ERB Masking
- Filtrare profundă Aplică coeficienţii complexi 5-tap pentru recuperarea detaliilor fine
- iSTFT
Model
| Variantă | Dimensiune | Precizie |
|---|---|---|
| Implicit | ~2.2 MB | 8 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) |
--model | Compatibil HuggingFace model de depozit (default: aufklarer/DeepFilterNet3-CoreML) |
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
| Model | Dimensiune | HuggingFace |
|---|---|---|
| DeepFilterNet3 (CoreML, palettized 8-bit) | ~2.2 MB | aufklarer/DeepFilterNet3-CoreML |
Combinarea cu alte modele
Îmbunătățirea vorbirii este deosebit de utilă ca etapă de preprocesare înaintea altor modele:
- Înainte de transcriere Denoise audio înainte de a rula ASR pentru a îmbunătăți rata de eroare a cuvântului pe înregistrări zgomotoase
- Înainte ca difuzorul să fie integrat
- Înainte de diarizare
# 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).