Sprachwiederherstellung — Sidon

Stelle verrauschte, verhallte oder bandbegrenzte Sprache mit Sidon zu sauberem 48-kHz-Audio wieder her — ein einzelnes Modell, das Entrauschen, Enthallen und Bandbreitenerweiterung kombiniert. Es läuft vollständig auf dem Gerät (CoreML auf Apple Silicon, ONNX Runtime anderswo). Da es Sprache aus gelernten Repräsentationen rekonstruiert, anstatt Rauschen nur zu maskieren, eignet es sich besonders gut zur Vorbereitung einer Referenz fürs Stimmklonen: Es bereinigt die Aufnahme und bewahrt dabei die Identität des Sprechers.

Wann Sidon und wann DeepFilterNet3

Sprachverbesserung (DeepFilterNet3) ist ein winziger Rauschunterdrücker in Echtzeit. Sidon ist ein schwereres Modell zur generativen Wiederherstellung: Es entfernt auch Hall und baut hochfrequente Details auf 48 kHz wieder auf. Verwende DeepFilterNet3 für die Live-Rauschentfernung und Sidon für die Offline-Aufbereitung von Referenzen und Archivaufnahmen.

Architektur

Sidon ist eine zweistufige Pipeline: Ein selbstüberwachter Feature-Prädiktor reinigt die Sprachrepräsentation, und ein neuronaler Vocoder synthetisiert daraus eine saubere Wellenform neu.

StufeDetails
Front-Endw2v-BERT 2.0 SeamlessM4T Log-Mel-Features (16 kHz → 160-dimensional)
Prädiktorw2v-BERT 2.0 (8 Schichten) mit einem LoRA-feinabgestimmten Reinigungskopf → bereinigte Features
VocoderDAC-Decoder synthetisiert 48-kHz-Audio aus den bereinigten Features neu

Die Pipeline lautet 16 kHz audio → features → predictor → DAC decoder → 48 kHz audio. Insgesamt ≈ 246M Parameter (193,6M Prädiktor + 52,4M Vocoder).

Verarbeitungs-Pipeline

  1. Feature-Extraktion — Berechnet die w2v-BERT 2.0 Log-Mel-Features aus dem 16-kHz-Eingang (Accelerate/vDSP auf Apple, C++ auf anderen Plattformen)
  2. Prädiktor — Der LoRA-adaptierte w2v-BERT-Encoder bildet verrauschte/verhallte Features auf saubere ab
  3. Vocoder — Der DAC-Decoder rekonstruiert eine saubere 48-kHz-Wellenform aus den bereinigten Features
  4. Chunking — Längeres Audio wird in festen Fenstern (~10 s) verarbeitet und auf der 48-kHz-Zeitachse zusammengefügt

Qualität

Bei einem verhallten Referenzclip hebt die Wiederherstellung die wahrgenommene Qualität an und hält dabei die Sprecheridentität intakt (referenzfreier MOS):

AudioDNSMOS OVRLUTMOSSprecher-Kosinus
Eingang (verhallt)2.902.99
Sidon wiederhergestellt3.293.400.79

Der größte Zugewinn liegt im Hintergrund-Score (Hall entfernt). Die Sprecherähnlichkeit bleibt erhalten, was beim Bereinigen einer Klon-Referenz entscheidend ist.

Modellvarianten

Die Quantisierung komprimiert den Prädiktor; der DAC-Vocoder bleibt mit höherer Präzision (Audioqualität). Auf Apple verwendet int8 k-Means-Palettisierung; bei ONNX ist int8 reine Gewichtsquantisierung pro Kanal.

FormatPräzisionBundle-Größe
CoreMLint8 (Prädiktor) + FP16 (Vocoder)~407 MB
CoreMLFP16~713 MB
ONNXint8 (Prädiktor) + FP16 (Vocoder)~286 MB
ONNXFP16~470 MB
ONNXFP32~939 MB

CLI-Verwendung

# 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
Wichtig

Sidon gibt unabhängig von der Eingangsabtastrate 48-kHz-Audio aus (es führt ein Upsampling durch und stellt die Bandbreite wieder her). Es ist ein Offline-Wiederherstellungsmodell — schwerer als DeepFilterNet3 — und wird am besten auf einer Datei statt auf einem Live-Stream ausgeführt.

Modell-Downloads

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

Kombination mit anderen Modellen

Sidon ist am nützlichsten als Vorverarbeitungsschritt:

Swift-API

import SpeechRestoration

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

Auch verfügbar auf Android, Linux & Windows über Speech Core (ONNX Runtime). Basiert auf Sidon (MIT).