Traduzione automatica · Originale inglese
Ripristino del discorso — Sidon
Ripristinare rumoroso, riverberante, o discorsi limitati a banda per pulire 48 kHz audio con Sidon — un unico modello che combina denoising, dereverberation e estensione della larghezza di banda. Funziona interamente on-device (CoreML su Apple Silicon, ONNX Runtime altrove). Perché ricostruisce il discorso da rappresentazioni apprese piuttosto che solo mascherare il rumore, è particolarmente buono a preparare un riferimento vocale-cloning: pulisce la registrazione mantenendo l'identità dell'altoparlante.
Miglioramento del discorso (DeepFilterNet3) è un piccolo, in tempo reale soppressore del rumore. Sidon è un più pesante restauro generativo modello: rimuove anche il riverbero e ricostruisce i dettagli ad alta frequenza a 48 kHz. Utilizzare DeepFilterNet3 per la rimozione del rumore dal vivo, Sidon, per la pulizia offline di riferimenti e registrazioni di archivio.
Architettura
Sidon è una pipeline a due stadi: un predittore di funzioni auto-supervisto pulisce la rappresentazione del discorso, e un vocoder neurale risynthesizes una forma d'onda pulita da esso.
| Fase | Dettagli |
|---|---|
| Front-end | w2v-BERT 2.0 SeamlessM4T log-mel caratteristiche (16 kHz → 160-dim) |
| Precisazione | w2v-BERT 2.0 (8 strati) con una testa di pulizia con finitura LoRA → caratteristiche pulite |
| Vocoder | DAC decoder ridimensiona l'audio 48 kHz dalle caratteristiche pulite |
La pipeline è 16 kHz audio → features → predictor → DAC decoder → 48 kHz audio. Totale ≈ 246M parametri (193.6M predittore + 52.4M vocoder).
Tubo di elaborazione
- Estrazione della temperatura — Computare le caratteristiche w2v-BERT 2.0 log-mel dall'ingresso di 16 kHz (Accelerate/vDSP su Apple, C++ su altre piattaforme)
- Precisazione — La LoRA-adattata w2v-BERT encoder mappe caratteristiche rumorose/reverberanti per quelli puliti
- Vocoder — Il decoder DAC ricostruisce una forma d'onda pulita 48 kHz dalle caratteristiche pulite
- Chunking — L'audio più lungo viene elaborato in finestre fisse (~10 s) e cucito sulla timeline di 48 kHz
Qualità
Su una clip di riferimento riverberante, i sollevatori di restauro di qualità percettiva mantenendo intatta l'identità dell'altoparlante (no-reference MOS):
| Audio audio | DNSMOS OVRL | UTMOS | Parlare di cosene |
|---|---|---|---|
| Input (reverberant) | 2.90 | 2.99 | — |
| Sidon restaurato | 3.29 | 3.40 | 0.79 |
Il maggior guadagno è nel punteggio di sfondo (rimossa la riverberazione). La somiglianza di diffusore è preservata, che è ciò che conta quando si pulisce un riferimento clonazione.
Varianti di modello
La quantizzazione comprime il predittore; il vocoder DAC rimane ad alta precisione (qualità audio). Su Apple, int8 utilizza la palettizzazione k-means; su ONNX, int8
| Formato | Precisione | Dimensione del Bundle |
|---|---|---|
| CoreML | int8 (preditore) + FP16 (vocoder) | ~ 407 MB |
| CoreML | FP16 | ~ 713 MB |
| ONNX | int8 (preditore) + FP16 (vocoder) | ~286 MB |
| ONNX | FP16 | ~ 470 MB |
| ONNX | FP32 | ~ 939 MB |
Uso 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 output audio 48 kHz indipendentemente dalla frequenza del campione di input (risolve e ripristina la larghezza di banda). Si tratta di un modello di ripristino offline — più pesante di DeepFilterNet3 — ed è meglio eseguito su un file piuttosto che su un flusso live.
Compute Placement
Le due fasi vengono eseguite su hardware diverso per impostazione predefinita: il predittore sul Neural Engine e il vocoder DAC sul GPU, dove le sue convoluzioni molto ampie caricano e funzionano più velocemente. --compute-units per spillare entrambe le fasi ane, gpu, cpu, all; anche la Swift API prende predictorComputeUnits: e vocoderComputeUnits: separatamente.
# 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
Download del modello
| Modello | Formato | HuggingFace |
|---|---|---|
| Sidon (CoreML) | fp16 + int8 | aufklarer/Sidon-CoreML |
| Sidon (ONNX) | int8 + fp16 + fp32 | soniqo/Sidon-ONNX |
Combinazione con altri modelli
Sidon è più utile come passo di preelaborazione:
- Prima clonazione vocale — Pulire un riferimento rumoroso/reverberante in modo che il clone eredita la voce, non la stanza
- Prima della trascrizione — Ripristinare le registrazioni di archivio o di campo lontano per migliorare la precisione ASR
- Prima di incorporare l'altoparlante — L'audio più pulito produce incorporazioni più affidabili
Swift API
import SpeechRestoration
let restorer = try await SpeechRestorer.fromPretrained()
let cleanAudio = try restorer.restore(audio: noisySamples, sampleRate: 16000)
Disponibile anche su Android, Linux & Windows tramite Speech Core (ONNX Runtime). Costruito su Sidon (MIT).