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.

Oficjalna parytet DF3

Ś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.

Hałaśliwe wejścieMP3, 48 kHz
Wyjście DeepFilterNet3MP3, 48 kHz

Architektura

DeepFilterNet3 wykorzystuje architekturę dekodera dualowego, która oddziela wzmacnianie koperty widmowej od odzyskiwania szczegółowości.

EtapSzczegóły
STFTKrótkoterminowa transformata Fouriera przez vDSP
EnkoderWarstwy 4 SepConv2d + SqueezedGRU
Dekoder ERBMaska Sigmoid stosowana do pasm częstotliwości w skali ERB- scale
Dekoder DF5-kranowe współczynniki filtrowania o wartości skomplikowanej
iSTFTOdwrotna 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

  1. STFT - Dekomponowanie głośnego dźwięku na reprezentację częstotliwości czasu przy użyciu vDSP
  2. Funkcje ERB - Mapa STFT kosze do pasm częstotliwości w skali ERB-
  3. Sieć neuralna - Funkcje procesów enkodera na dekoderach Neural Engine; ERB i DF przewidują parametry wzmocnienia
  4. Maskowanie ERB - Zastosuj maskę sigmoid gain, aby tłumić hałas w kopercie widmowej
  5. Głębokie filtrowanie - Zastosuj 5- tap złożone współczynniki dla drobnego odzyskiwania szczegółowości spektralnej
  6. iSTFT - Odtworzyć czysty dźwięk z rozszerzonego spektrum

Wzór

WariantRozmiarPrecyzja
Domyślne- 2,2 MB8- 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

OpcjaOpis
--output, -oŚcieżka do pliku wyjściowego (domyślnie <input>_denoised.wav)
--modelKompatybilny identyfikator repozytorium modelu HuggingFace (domyślnie: aufklarer/DeepFilterNet3-CoreML)
Ważne

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órRozmiarHuggingFace
DeepFilterNet3 (CoreML, 8- bit paletyzowany)- 2,2 MBaufklarer / DeepFilterNet3-CoreML

Łączenie z innymi modelami

Wzmocnienie mowy jest szczególnie przydatne jako etap wstępnego przetwarzania przed innymi modelami:

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