Tłumaczenie automatyczne · Oryginał angielski

Przywrócenie mowy - Sidon

Przywracanie głośnej, pogłosu lub ograniczonej do czyszczenia mowy 48 kHz audio z Sidon - jeden model, który łączy denoizację, dełkowanie i rozszerzenie pasma. Działa on całkowicie na urządzeniu (CoreML na Apple Silicon, ONNX Runtime gdzie indziej). Ponieważ rekonstruuje mowę z uczonych reprezentacji, a nie tylko maskując hałas, jest szczególnie dobry w przygotowaniu Odniesienie do klonowania głosu: czyści nagranie, zachowując jednocześnie tożsamość mówcy.

Kiedy stosować Sidon vs DeepFilterNet3

Wzmacnianie mowy (DeepFilterNet3) jest malutki, real- time tłumik hałasuSidon jest cięższy odbudowa generacyjna Model: usuwa również pogłos i odbudowuje detale wysokiej częstotliwości do 48 kHz. Użyj DeepFilterNet3 do usuwania hałasu na żywo, Sidon dla offline czyszczenia referencji i archiwalnych nagrań.

Architektura

Sidon jest dwuetapowym rurociągiem: samonadzorowany prognozer funkcji oczyszcza prezentację mowy, a wektor neuronowy resyntyzuje czystą formę fali z niego.

EtapSzczegóły
Front- endw2v-BERT 2.0 SeamlessM4T funkcje log- mel (16 kHz → 160- Dim)
Przewidywaczw2v-BERT 2.0 (warstwa 8) z głowicą oczyszczoną LoRA- fine- dostrojoną →
VocoderDekoder DAC resynchronizuje 48 kHz audio z oczyszczonych funkcji

Gazociąg jest 16 kHz audio → features → predictor → DAC decoder → 48 kHz audio. Parametry 246M ogółem (przewidywacz 193.6M. + vokoder 52.4m).

Przetwarzanie rurociągu

  1. Ekstrakcja cech - Oblicz funkcje log- mel w2v-BERT 2.0 z wejścia kHz 16 (Accelerate / vDSP na Apple, C++ na innych platformach)
  2. Przewidywacz - LoRA- dostosowany do LoRA- w2v-BERT enkoder mapuje hałaśliwe / pogłos funkcje do czystych
  3. Vocoder - Dekoder DAC rekonstruuje czystą formę fali 48 kHz z oczyszczonych funkcji
  4. Chunking - Dłuższy dźwięk jest przetwarzany w stałych oknach (~ 10 s) i zszywany na osi czasu 48 kHz

Jakość

Na pogłoskowym klipie referencyjnym, przywracanie podnosi jakość percepcyjną, zachowując tożsamość głośnika w nienaruszonym stanie (brak odniesienia do MOS):

AudioDNSMOS OVRLUTMOSGłośnik cosinus
Wejście (pogłos)2.902.99—
Sidon przywrócony3.293.400.79

Największy zysk jest w tle (pogłos usunięty). Podobieństwo głośnika jest zachowana, co jest ważne przy czyszczeniu odniesienia klonowania.

Warianty modelu

Ilościowanie kompresuje przewidywacz; wokoder DAC pozostaje w wyższej precyzji (jakość dźwięku). Na Apple int8 używa k- oznacza paletyzację; na ONNX, int8 jest ważony tylko kanał perkanałowy.

FormatPrecyzjaRozmiar zestawu
CoreMLint8 (przewidywacz) + FP16- 407 MB
CoreMLFP16~ 713 MB
ONNXint8 (przewidywacz) + FP16- 286 MB
ONNXFP16- 470 MB
ONNXFP32- 939 MB

Zastosowanie CLI

# Restore audio (denoise + dereverb) to clean 48 kHz
.build/release/speech restore noisy.wav -o clean.wav

# Clean a voice-cloning reference before TTS
.build/release/speech speak "Hello world" --voice-sample ref.wav --clean-reference
Ważne

Sidon wychodzi na zewnątrz 48 kHz audio niezależnie od szybkości wprowadzania próbek (zwiększa to przepustowość i przywraca przepustowość). Jest to model offline renowacji - cięższy niż DeepFilterNet3 - i najlepiej jest uruchomić na pliku, a nie na żywo strumień.

Oblicz położenie

Dwa etapy uruchamiane są na różnych sprzętach domyślnie: przewidywacz na Neural Engine i Vocoder DAC na GPU, gdzie jego bardzo szerokie sploty ładować i działać najszybciej. --compute-units do przypinania obu etapów do ane, gpu, cpu, all; Swift API również bierze predictorComputeUnits: oraz vocoderComputeUnits: oddzielnie.

# Default placement: predictor on the Neural Engine, vocoder on the GPU
.build/release/speech restore noisy.wav -o clean.wav

# Pin both stages to one backend
.build/release/speech restore noisy.wav --compute-units gpu -o clean.wav

Pobieranie modeli

WzórFormatHuggingFace
Sidon (CoreML)fp16 + int8aufklarer / Sidon- CoreML
Sidon (ONNX)int8 + fp16 + fp32soniqo / Sidon- ONNX

Łączenie z innymi modelami

Sidon jest najbardziej przydatny jako etap wstępnego przetwarzania:

Swift API

import SpeechRestoration

let restorer = try await SpeechRestorer.fromPretrained()
let cleanAudio = try restorer.restore(audio: noisySamples, sampleRate: 16000)

Dostępne również na stronie Android, Linux i Windows przez rdzeń mowy (ONNX Runtime)Zbudowany Sidon (MIT).