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.

Quando si utilizza Sidon vs. DeepFilterNet3

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.

FaseDettagli
Front-endw2v-BERT 2.0 SeamlessM4T log-mel caratteristiche (16 kHz → 160-dim)
Precisazionew2v-BERT 2.0 (8 strati) con una testa di pulizia con finitura LoRA → caratteristiche pulite
VocoderDAC 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

  1. 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)
  2. Precisazione — La LoRA-adattata w2v-BERT encoder mappe caratteristiche rumorose/reverberanti per quelli puliti
  3. Vocoder — Il decoder DAC ricostruisce una forma d'onda pulita 48 kHz dalle caratteristiche pulite
  4. 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 audioDNSMOS OVRLUTMOSParlare di cosene
Input (reverberant)2.902.99—
Sidon restaurato3.293.400.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

FormatoPrecisioneDimensione del Bundle
CoreMLint8 (preditore) + FP16 (vocoder)~ 407 MB
CoreMLFP16~ 713 MB
ONNXint8 (preditore) + FP16 (vocoder)~286 MB
ONNXFP16~ 470 MB
ONNXFP32~ 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
Importante

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

ModelloFormatoHuggingFace
Sidon (CoreML)fp16 + int8aufklarer/Sidon-CoreML
Sidon (ONNX)int8 + fp16 + fp32soniqo/Sidon-ONNX

Combinazione con altri modelli

Sidon è più utile come passo di preelaborazione:

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