Tłumaczenie automatyczne · Oryginał angielski
Wzmacnianie mowy - DeepFilterNet3
Usuwanie szumów tła z nagrań głosowych za pomocą DeepFilterNet3. Model działa na Neural Engine przez CoreML dla efektywnego wnioskowania, podczas gdy wszystkie przetwarzanie sygnału (STFT, ERB filterbank, głębokie filtrowanie) działa na CPU przez Accelerate / vDSP.
Ścieżka DSP następuje libdf koniec do końca: 1/960 skalowanie analityczne, normalizacja alfa 0.99, zero- wyściełane krany z filtrem głębokim, i poprawna kolejność macierzy C / Fortran. 20-klip VoiceBank- DEMAND podzbiór, Swift punktacja PESQ 3.097STOI 0.964oraz SI- SDR 19.12 dB wobec 3.029, 0.962oraz 18.31 dB dla urzędników Python DF3.
Przed / po pobraniu próbki
Hałaśliwy klip mowy przetwarzany za pomocą DeepFilterNet3, dzięki czemu można usłyszeć denoiser CoreML przed uruchomieniem go lokalnie.
Architektura
DeepFilterNet3 wykorzystuje architekturę dekodera dualowego, która oddziela wzmacnianie koperty widmowej od odzyskiwania szczegółowości.
| Etap | Szczegóły |
|---|---|
| STFT | Krótkoterminowa transformata Fouriera przez vDSP |
| Enkoder | Warstwy 4 SepConv2d + SqueezedGRU |
| Dekoder ERB | Maska Sigmoid stosowana do pasm częstotliwości w skali ERB- scale |
| Dekoder DF | 5-kranowe współczynniki filtrowania o wartości skomplikowanej |
| iSTFT | Odwrotna STFT do rekonstrukcji sygnału domeny czasu |
W Dekoder ERB szacuje maska zysku na równoważnej prostokątnej skali Bandwidth (ERB), obsługując szerokie kształtowanie spektralne. Dekoder DF przewiduje 5- tap złożone współczynniki filtrowania dla drobnego szczegółu, stosując uczone filtry bezpośrednio w dziedzinie częstotliwości.
Przetwarzanie rurociągu
- STFT - Dekomponowanie głośnego dźwięku na reprezentację częstotliwości czasu przy użyciu vDSP
- Funkcje ERB - Mapa STFT kosze do pasm częstotliwości w skali ERB-
- Sieć neuralna - Funkcje procesów enkodera na dekoderach Neural Engine; ERB i DF przewidują parametry wzmocnienia
- Maskowanie ERB - Zastosuj maskę sigmoid gain, aby tłumić hałas w kopercie widmowej
- Głębokie filtrowanie - Zastosuj 5- tap złożone współczynniki dla drobnego odzyskiwania szczegółowości spektralnej
- iSTFT - Odtworzyć czysty dźwięk z rozszerzonego spektrum
Wzór
| Wariant | Rozmiar | Precyzja |
|---|---|---|
| Domyślne | - 2,2 MB | 8- bit paletyzowane wagi, FP16 oblicza |
Zastosowanie 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
Opcje
| Opcja | Opis |
|---|---|
--output, -o | Ścieżka do pliku wyjściowego (domyślnie <input>_denoised.wav) |
--model | Kompatybilny identyfikator repozytorium modelu HuggingFace (domyślnie: aufklarer/DeepFilterNet3-CoreML) |
DeepFilterNet3 działa na Neural Engine przez CoreMLNie na... GPU przez MLXOznacza to, że działa skutecznie nawet podczas gdy inne modele GPU- (ASR, TTS) są uruchomione. Nie jest wymagane metallib kompilacji.
Pobieranie modeli
| Wzór | Rozmiar | HuggingFace |
|---|---|---|
| DeepFilterNet3 (CoreML, 8- bit paletyzowany) | - 2,2 MB | aufklarer / DeepFilterNet3-CoreML |
Łączenie z innymi modelami
Wzmocnienie mowy jest szczególnie przydatne jako etap wstępnego przetwarzania przed innymi modelami:
- Przed transkrypcją - Denoise audio przed uruchomieniem ASR w celu poprawy wskaźnika błędu słownego na głośnych nagraniach
- Przed umieszczeniem głośnika - Czystsze audio produkuje bardziej niezawodne osadzenia głośników
- Przed diaryzacją - Usuwanie hałasu może poprawić dokładność segmentacji
# 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)
Dostępne również na stronie Android, i Linux i Windows poprzez rdzeń mowy (ONNX Runtime).