Maskinöversättning · Engelskt original
Talrestaurering - Sidon
Återställ bullriga, reverberanta eller bandbegränsade tal för att rengöra 48 kHz ljud med Sidon - en enda modell som kombinerar denoising, dereverberation och bandbreddsförlängning. Det körs helt på-enhet (CoreML på Apple Silicon, ONNX Runtime någon annanstans). Eftersom det rekonstruerar tal från lärda representationer snarare än att bara maskera buller, är det särskilt bra att förbereda en röstkloningsreferensDet rensar inspelningen samtidigt som man bevarar talarens identitet.
Talförbättring (DeepFilterNet3) är en liten realtid buller suppressorSidon är en tyngre generativ restaurering modell: det tar också bort reverberation och återuppbygger högfrekventa detaljer till 48 kHz. Använd DeepFilterNet3 för borttagning av levande buller, Sidon vid offline rensning av referenser och arkivinspelningar.
Arkitektur
Sidon är en tvåstegspipeline: en självövervakad funktionsprediktor rensar talrepresentationen, och en neural vocoder återsyntetiserar en ren vågform från den.
| Steg | Detaljer |
|---|---|
| Framför slutet | w2v-BERT 2.0 SeamlessM4T log-mel-funktioner (16 kHz → 160-dim) |
| Predictor | w2v-BERT 2.0 (8 lager) med ett LoRA-fin-tuned rensat huvud → rensade funktioner |
| Vocoder | DAC decoder resynthesizes 48 kHz ljud från de rensade funktionerna |
Rörledningen är 16 kHz audio → features → predictor → DAC decoder → 48 kHz audio. Total ≈ 246M parametrar (193.6M prediktor + 52.4M vocoder).
Processing Pipeline
- Feature extraction --Beräkna w2v-BERT 2.0 log-mel-funktioner från 16 kHz-ingången (Accelerera/vDSP på Apple, C++ på andra plattformar)
- Predictor - LoRA-anpassad w2v-BERT-kodare kartlägger bullriga/reverberanta funktioner för att rengöra
- Vocoder - DAC-avkodaren rekonstruerar en ren 48 kHz-vågform från de rensade funktionerna
- Chunking - Längre ljud behandlas i fasta fönster (~10 s) och sys på 48 kHz tidslinje
Kvalitetskvalitet
På ett reverberant referensklipp lyfter restaurering perceptuell kvalitet samtidigt som talaridentitet intakt (ingen referens MOS):
| Audio | DNSMOS OVRL | UTMOS | Högtalarkosin |
|---|---|---|---|
| Input (Reverberant) | 2.90 | 2.99 | — |
| Sidon återställd | 3.29 | 3.40 | 0.79 |
Den största vinsten är i bakgrundspoängen (reverberation borttagen). talare likhet bevaras, vilket är vad som är viktigt när man rengör en kloning referens.
Modellvarianter
Quantization komprimerar prediktorn; DAC-vocodern stannar vid högre precision (audiokvalitet). På Apple, int8 använder k-means palettering; på ONNX, int8 är vikt-bara per-kanal.
| Format | Precision | Bundle storlek |
|---|---|---|
| CoreML | int8 (predictor) + FP16 (vocoder) | ~407 MB |
| CoreML | FP16 | 713 MB |
| ONNX | int8 (predictor) + FP16 (vocoder) | ~286 MB |
| ONNX | FP16 | ~470 MB |
| ONNX | FP32 | 939 MB |
CLI Användning
# 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 utgångar 48 kHz ljud oavsett ingångsprovfrekvens (det uppsamplar och återställer bandbredd). Det är en offline restaureringsmodell - tyngre än DeepFilterNet3 - och är bäst körs på en fil snarare än en levande ström.
Beräkning placering
De två stegen körs på olika hårdvara som standard: förutsägaren på Neural Engine och DAC-vocodern på GPU, där dess mycket breda konvolutioner laddas och körs snabbast. --compute-units att stifta båda stegen till ane, gpu, cpu, allSwift API tar också predictorComputeUnits: och vocoderComputeUnits: separat.
# 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
Modell nedladdningar
| Modell | Format | HuggingFace |
|---|---|---|
| Sidon (CoreML) | fp16 + int8 | aufklarer/Sidon-CoreML |
| Sidon (ONNX) | int8 + fp16 + fp32 | soniqo/Sidon-ONNX |
Kombinera med andra modeller
Sidon är mest användbar som ett förbehandlingssteg:
- Innan röstkloning - Rengör en bullrig/reverberant referens så att klonen ärver rösten, inte rummet
- Before transkription - Återställ arkiv eller långt-fält inspelningar för att förbättra ASR noggrannhet
- Innan högtalaren inbäddar - Renare ljud ger mer tillförlitliga inbäddningar
Swift API
import SpeechRestoration
let restorer = try await SpeechRestorer.fromPretrained()
let cleanAudio = try restorer.restore(audio: noisySamples, sampleRate: 16000)
Också tillgänglig på Android, Linux & Windows via Speech Core (ONNX Runtime)Byggd på Sidon (MIT).