Terjemahan mesin · Versi asli bahasa Inggris
Speech Enhancement - DeepFilterNet3
Hapus suara latar belakang dari rekaman bicara memakai DeepFilterNet3Model berjalan di Neural Engine via CoreML untuk inferensi efisien, sedangkan semua pemrosesan sinyal (STFT, ERB filterbank, penyaringan dalam) berjalan di CPU via Akselerator / vDSP.
Path DSP mengikuti libdf akhir ke akhir: 1/960 analisis skala, normalisasi alpha 0.99, zero- padded deep-filter taps, dan benar NumPy C / Fortran urutan matriks. Pada urutan tetap 20-Clip VoiceBank- DEMAND subset, Swift skor PESQ 3.097, STOI! 0.964, dan SI- SDR 19.12 dB versus 3.029, 0.962, dan 18.31 dB untuk resmi Python DF3.
Sebelum / setelah contoh
Sebuah klip pidato yang bising diproses dengan DeepFilterNet3 sehingga Anda dapat mendengar denoiser CoreML sebelum menjalankannya secara lokal.
Arsitektur
DeepFilterNet3 menggunakan arsitektur dual- decoder yang memisahkan peningkatan amplop spektral dari sempurna spektral detail pemulihan.
| Tahap | Rincian |
|---|---|
| STFT | Transformasi singkat Fourier melalui vDSP |
| Enkoder | 4 SepConv2d lapisan + SqueezedGRU |
| ERB Decoder | Masker Sigmoid diterapkan ke pita frekuensi ERB-skala |
| Decoder DF | Koefisien penyaringan yang bernilai 5- tap |
| ISTFT | Inverse STFT untuk merekonstruksi waktu - domain sinyal |
The ERB Decoder perkiraan topeng gain pada skala Rectangular (ERB), penanganan bentuk spektral luas. Decoder DF memprediksi kompleks 5- tap koefisien penyaringan untuk detail halus, menerapkan filter belajar langsung di domain frekuensi.
Memproses Baris Piringnya
- STFT - Decompose audio berisik ke representasi frekuensi waktu menggunakan vDSP
- Fitur ERB - Peta STFT tempat sampah untuk ERB-skala frekuensi band
- Jaringan Neural - Proses Enkoder fitur pada Neural Engine; ERB dan DF decoder memprediksi parameter peningkatan
- ERB Mesking - Terapkan sigmoid gain mask untuk menekan kebisingan dalam amplop spektral
- Penyaringan Dalam - Terapkan 5-tap koefisien kompleks untuk spesifikasi baik pemulihan detail
- ISTFT - Rekonstruksi audio bersih dari spektrum yang ditingkatkan
Model
| Varian | Ukuran | Presisi |
|---|---|---|
| Baku | ~ 2.2 MB | 8-bit paletized bobot, FP16 kompute |
Penggunaan 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
Opsi
| Opsi | Deskripsi |
|---|---|
--output, -o | Path berkas keluaran (baku ke <input>_denoised.wav) |
--model | ID repositori model HuggingFace yang kompatibel (baku: aufklarer/DeepFilterNet3-CoreML) |
DeepFilterNet3 berjalan di Neural Engine melalui CoreML, tidak pada GPU via MLX. Ini berarti bekerja secara efisien bahkan ketika GPU- menggunakan model lain (ASR), TTS yang sedang berjalan. Tidak ada kompilasi metalik yang diperlukan.
Unduhan Model
| Model | Ukuran | HuggingFace |
|---|---|---|
| DeepFilterNet3 (CoreML, 8- bit palettized) | ~ 2.2 MB | aufklarer / DeepFilterNet3-CoreML |
Menggabungkan dengan Model Lain
Perbaikan pidato sangat berguna sebagai langkah preprosesing sebelum model lain:
- Sebelum transkripsi - Audio Denoise sebelum menjalankan ASR untuk meningkatkan tingkat kesalahan kata pada rekaman berisik
- Sebelum pembicara embedding - Audio Cleaner menghasilkan penggelapan speaker yang lebih handal
- Sebelum diarisasi - Pemindahan kebisingan dapat meningkatkan akurasi segmentasi
# 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)
Juga tersedia di Android, dan pada Linux & Windows melalui Speech Core (ONNX Runtime).