Terjemahan mesin · Versi asli bahasa Inggris
Pembangunan Pidato - Sidon
Kembalikan suara bising, gema, atau band--terbatas untuk membersihkan 48 kHz audio dengan Sidon - sebuah model tunggal yang mengkombinasikan denoising, dereverberation, dan ekstensi bandwidth. Ini berjalan sepenuhnya on- perangkat (CoreML nyala Apple Silicon, ONNX Runtime Karena merekonstruksi kembali pidato dari representasi belajar bukan hanya masking kebisingan, terutama baik dalam mempersiapkan Referensi suara... kloning: ia membersihkan rekaman saat mempertahankan identitas pembicara.
Speech Enhancement (DeepFilterNet3) adalah kecil, real-waktu Peredam suaraSidon lebih berat restorasi generatif Model: ini juga menghilangkan reverberasi dan membangun ulang detail frekuensi tinggi ke 48 kHz. Gunakan DeepFilterNet3 untuk penghapusan kebisingan secara langsung, Sidon karena pembersihan referensi dan rekaman arsip.
Arsitektur
Sidon adalah sebuah pipeline dua tahap: procektor fitur yang diawasi membersihkan representasi pidato, dan vocoder saraf mensintesis bentuk gelombang yang bersih dari itu.
| Tahap | Rincian |
|---|---|
| Depan-akhir | w2v-BERT 2.0 SeamlessM4T fitur log-mel (16 kHz 1f short 160-dim) |
| Prediktor | w2v-BERT 2.0 (lapisan 8) dengan LoRA- fine- menyetel kepala membersihkan fitur-fitur yang bersih |
| Vocoder | Decoder DAC mensintesis ulang 48 audio kHz dari fitur yang dibersihkan |
Pipa ini 16 kHz audio → features → predictor → DAC decoder → 48 kHz audioTotalnya 246Parameter M (193.6M predicator + 52.4M vocoder).
Memproses Baris Piringnya
- Ekstraksi fitur - Komputer w2v-BERT 2.0 fitur log -mel dari 16 input kHz (Akselerator / vDSP pada Apple, C++ di platform lain)
- Prediktor - The LoRA- disesuaikan w2v-BERT enkoder peta berisik / fitur reverberant untuk membersihkan yang
- Vocoder - Decoder DAC reconstruct a clean 48 kHz waveform from the cleared features
- Chunking audio lebih lama diproses dalam jendela tetap (~ 10) dan dijahit pada timeline 48 kHz
Kualitas
Pada klip referensi gema, pemugaran mengangkat kualitas persepsi saat menjaga identitas pembicara utuh (no- referensi MOS):
| Audio | DNSMOS OVRL | UTMOS | Speaker cosinus |
|---|---|---|---|
| Masukan (gema) | 2.90 | 2.99 | — |
| Sidon dipulihkan | 3.29 | 3.40 | 0.79 |
Keuntungan terbesar adalah dalam nilai latar belakang (rekreasi dihapus). Kedekatan suara dipertahankan, yang penting ketika membersihkan referensi kloning.
Variants Model
Kuantisasi kompres prediktor; vocoder DAC tetap pada presisi yang lebih tinggi (kualitas audio). Pada Apple, int8 menggunakan k-berarti palettization; pada ONNX, int8 adalah berat - hanya saluran per-.
| Format | Presisi | Ukuran bundle |
|---|---|---|
| CoreML | int8 (predicator) + FP16 | ~ 407 MB |
| CoreML | FP16 | ~ 713 MB |
| ONNX | int8 (predicator) + FP16 | ~ 286 MB |
| ONNX | FP16 | ~ 470 MB |
| ONNX | FP32 | ~ 939 MB |
Penggunaan 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 mengeluarkan audio 48 kHz tanpa menghiraukan laju contoh masukan (upsample dan restore bandwidth). Ini adalah model restorasi offline - lebih berat daripada DeepFilterNet3 - dan paling baik dijalankan pada berkas daripada arus hidup.
Penempatan Komputer
Dua tahap berjalan pada perangkat keras yang berbeda secara default: prediktor pada Neural Engine dan vocoder DAC pada GPU, di mana sangat luas beban konvolusinya dan lari tercepat. --compute-units untuk pin kedua tahap ke ane, gpu, cpu, all; Swift API juga mengambil predictorComputeUnits: dan vocoderComputeUnits: terpisah.
# 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
Unduhan Model
| Model | Format | HuggingFace |
|---|---|---|
| Sidon (CoreML) | fp16 + int8 | aufklarer / Sidon-CoreML |
| Sidon (ONNX) | int8 + fp16 + fp32 | soniqo / Sidon-ONNX |
Menggabungkan dengan Model Lain
Sidon paling berguna sebagai langkah preprosesing:
- Sebelum kloning suara - Bersihkan referensi berisik / gema sehingga klon mewarisi suara, bukan ruangan
- Sebelum transkripsi - Mengembalikan arsip atau rekaman lapangan untuk meningkatkan akurasi ASR
- Sebelum pembicara embedding - Audio pembersih menghasilkan penggelapan yang lebih handal
Swift API
import SpeechRestoration
let restorer = try await SpeechRestorer.fromPretrained()
let cleanAudio = try restorer.restore(audio: noisySamples, sampleRate: 16000)
Juga tersedia di Android, Linux & Windows melalui Speech Core (ONNX Runtime)Dibangun di Sidon (MIT).