음성 복원 — Sidon

잡음이 있거나 잔향이 심하거나 대역이 제한된 음성을 깨끗한 48 kHz 오디오로 복원합니다. Sidon은 노이즈 제거, 잔향 제거, 대역폭 확장을 하나로 결합한 단일 모델입니다. 전적으로 온디바이스에서 실행됩니다(Apple Silicon에서는 CoreML, 그 외에서는 ONNX Runtime). 단순히 잡음을 마스킹하는 것이 아니라 학습된 표현으로부터 음성을 재구성하기 때문에 음성 복제 레퍼런스를 준비하는 데 특히 뛰어납니다. 화자의 정체성을 유지하면서 녹음을 정리합니다.

Sidon과 DeepFilterNet3 중 무엇을 사용할까

음성 향상 (DeepFilterNet3)은 아주 작고 실시간으로 동작하는 노이즈 억제기입니다. Sidon은 더 무거운 생성형 복원 모델로, 잔향까지 제거하고 고주파 디테일을 48 kHz로 재구축합니다. 실시간 노이즈 제거에는 DeepFilterNet3를, 레퍼런스 및 보관용 녹음의 오프라인 정리에는 Sidon을 사용하세요.

아키텍처

Sidon은 2단계 파이프라인입니다. 자기지도 학습 특징 예측기가 음성 표현을 정화하고, 신경망 보코더가 이를 기반으로 깨끗한 파형을 재합성합니다.

단계세부 내용
프런트엔드w2v-BERT 2.0 SeamlessM4T log-mel 특징 (16 kHz → 160차원)
예측기LoRA로 미세 조정된 정화 헤드를 가진 w2v-BERT 2.0 (8개 레이어) → 정화된 특징
보코더DAC 디코더가 정화된 특징으로부터 48 kHz 오디오를 재합성

파이프라인은 16 kHz audio → features → predictor → DAC decoder → 48 kHz audio입니다. 총 약 246M 파라미터(예측기 193.6M + 보코더 52.4M)입니다.

처리 파이프라인

  1. 특징 추출 — 16 kHz 입력으로부터 w2v-BERT 2.0 log-mel 특징을 계산(Apple에서는 Accelerate/vDSP, 다른 플랫폼에서는 C++)
  2. 예측기 — LoRA가 적용된 w2v-BERT 인코더가 잡음/잔향이 있는 특징을 깨끗한 특징으로 매핑
  3. 보코더 — DAC 디코더가 정화된 특징으로부터 깨끗한 48 kHz 파형을 재구성
  4. 청킹 — 더 긴 오디오는 고정 윈도우(약 10초)로 처리한 뒤 48 kHz 타임라인에서 이어 붙임

품질

잔향이 있는 레퍼런스 클립에서, 복원은 화자 정체성을 그대로 유지하면서 지각 품질을 끌어올립니다(무참조 MOS):

오디오DNSMOS OVRLUTMOS화자 코사인
입력 (잔향 있음)2.902.99
Sidon 복원3.293.400.79

가장 큰 향상은 배경 점수(잔향 제거)에서 나타납니다. 화자 유사도가 유지되며, 이는 복제 레퍼런스를 정리할 때 가장 중요한 요소입니다.

모델 변형

양자화는 예측기를 압축하며, DAC 보코더는 오디오 품질을 위해 더 높은 정밀도를 유지합니다. Apple에서는 int8이 k-means 팔레타이제이션을 사용하고, ONNX에서는 int8이 채널별 가중치 전용입니다.

형식정밀도번들 크기
CoreMLint8 (예측기) + FP16 (보코더)약 407 MB
CoreMLFP16약 713 MB
ONNXint8 (예측기) + FP16 (보코더)약 286 MB
ONNXFP16약 470 MB
ONNXFP32약 939 MB

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은 입력 샘플레이트와 관계없이 48 kHz 오디오를 출력합니다(업샘플링하고 대역폭을 복원합니다). DeepFilterNet3보다 무거운 오프라인 복원 모델로, 실시간 스트림보다는 파일에 대해 실행하는 것이 가장 좋습니다.

모델 다운로드

모델형식HuggingFace
Sidon (CoreML)fp16 + int8aufklarer/Sidon-CoreML
Sidon (ONNX)int8 + fp16 + fp32soniqo/Sidon-ONNX

다른 모델과 결합

Sidon은 전처리 단계로 가장 유용합니다:

Swift API

import SpeechRestoration

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

Speech Core (ONNX Runtime)를 통한 Android, Linux 및 Windows에서도 사용할 수 있습니다. Sidon(MIT) 기반으로 구축되었습니다.