Restauração de fala — Sidon

Restaure fala ruidosa, reverberante ou com largura de banda limitada para áudio limpo a 48 kHz com o Sidon — um único modelo que combina supressão de ruído, dereverberação e extensão de largura de banda. Roda inteiramente no dispositivo (CoreML no Apple Silicon, ONNX Runtime em outras plataformas). Como ele reconstrói a fala a partir de representações aprendidas em vez de apenas mascarar o ruído, é especialmente bom para preparar uma referência de clonagem de voz: limpa a gravação preservando a identidade do falante.

Quando usar Sidon vs. DeepFilterNet3

O Aprimoramento de fala (DeepFilterNet3) é um supressor de ruído minúsculo, em tempo real. O Sidon é um modelo de restauração generativa mais pesado: ele também remove reverberação e reconstrói detalhe de alta frequência até 48 kHz. Use o DeepFilterNet3 para remoção de ruído ao vivo e o Sidon para limpeza offline de referências e gravações de arquivo.

Arquitetura

O Sidon é um pipeline de dois estágios: um preditor de features autossupervisionado limpa a representação da fala, e um vocoder neural ressintetiza uma forma de onda limpa a partir dela.

EstágioDetalhes
Front-endFeatures log-mel do w2v-BERT 2.0 SeamlessM4T (16 kHz → 160 dimensões)
Preditorw2v-BERT 2.0 (8 camadas) com uma cabeça de limpeza ajustada por LoRA → features limpas
VocoderO decodificador DAC ressintetiza áudio a 48 kHz a partir das features limpas

O pipeline é 16 kHz audio → features → predictor → DAC decoder → 48 kHz audio. Total ≈ 246M parâmetros (193,6M do preditor + 52,4M do vocoder).

Pipeline de processamento

  1. Extração de features — Calcula as features log-mel do w2v-BERT 2.0 a partir da entrada a 16 kHz (Accelerate/vDSP no Apple, C++ em outras plataformas)
  2. Preditor — O codificador w2v-BERT adaptado por LoRA mapeia features ruidosas/reverberantes para features limpas
  3. Vocoder — O decodificador DAC reconstrói uma forma de onda limpa a 48 kHz a partir das features limpas
  4. Particionamento — Áudio mais longo é processado em janelas fixas (~10 s) e costurado na linha do tempo de 48 kHz

Qualidade

Em um trecho de referência reverberante, a restauração eleva a qualidade perceptual mantendo a identidade do falante intacta (MOS sem referência):

ÁudioDNSMOS OVRLUTMOSCosseno de falante
Entrada (reverberante)2.902.99
Sidon restaurado3.293.400.79

O maior ganho está na pontuação de fundo (reverberação removida). A similaridade do falante é preservada, que é o que importa ao limpar uma referência de clonagem.

Variantes do modelo

A quantização comprime o preditor; o vocoder DAC permanece em precisão mais alta (qualidade de áudio). No Apple, o int8 usa palettization por k-means; no ONNX, o int8 é apenas de pesos, por canal.

FormatoPrecisãoTamanho do pacote
CoreMLint8 (preditor) + FP16 (vocoder)~407 MB
CoreMLFP16~713 MB
ONNXint8 (preditor) + FP16 (vocoder)~286 MB
ONNXFP16~470 MB
ONNXFP32~939 MB

Uso do 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

O Sidon produz áudio a 48 kHz independentemente da taxa de amostragem da entrada (ele faz upsampling e restaura a largura de banda). É um modelo de restauração offline — mais pesado que o DeepFilterNet3 — e funciona melhor em um arquivo do que em um stream ao vivo.

Downloads de modelos

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

Combinando com outros modelos

O Sidon é mais útil como etapa de pré-processamento:

API Swift

import SpeechRestoration

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

Também disponível em Android, Linux e Windows via Speech Core (ONNX Runtime). Construído sobre o Sidon (MIT).