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.
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.
| Etap | Szczegóły |
|---|---|
| Front- end | w2v-BERT 2.0 SeamlessM4T funkcje log- mel (16 kHz → 160- Dim) |
| Przewidywacz | w2v-BERT 2.0 (warstwa 8) z głowicą oczyszczoną LoRA- fine- dostrojoną → |
| Vocoder | Dekoder 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
- Ekstrakcja cech - Oblicz funkcje log- mel w2v-BERT 2.0 z wejścia kHz 16 (Accelerate / vDSP na Apple, C++ na innych platformach)
- Przewidywacz - LoRA- dostosowany do LoRA- w2v-BERT enkoder mapuje hałaśliwe / pogłos funkcje do czystych
- Vocoder - Dekoder DAC rekonstruuje czystą formę fali 48 kHz z oczyszczonych funkcji
- 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):
| Audio | DNSMOS OVRL | UTMOS | Głośnik cosinus |
|---|---|---|---|
| Wejście (pogłos) | 2.90 | 2.99 | — |
| Sidon przywrócony | 3.29 | 3.40 | 0.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.
| Format | Precyzja | Rozmiar zestawu |
|---|---|---|
| CoreML | int8 (przewidywacz) + FP16 | - 407 MB |
| CoreML | FP16 | ~ 713 MB |
| ONNX | int8 (przewidywacz) + FP16 | - 286 MB |
| ONNX | FP16 | - 470 MB |
| ONNX | FP32 | - 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
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ór | Format | HuggingFace |
|---|---|---|
| Sidon (CoreML) | fp16 + int8 | aufklarer / Sidon- CoreML |
| Sidon (ONNX) | int8 + fp16 + fp32 | soniqo / Sidon- ONNX |
Łączenie z innymi modelami
Sidon jest najbardziej przydatny jako etap wstępnego przetwarzania:
- Przed klonowaniem głosu - Oczyść głośne / pogłos odniesienia tak klon dziedziczy głos, a nie pokój
- Przed transkrypcją - Przywracanie archiwalnych lub polowych nagrań w celu poprawy dokładności ASR
- Przed umieszczeniem głośnika - Czystsze audio daje bardziej niezawodne osadzania
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).