音声復元 — Sidon

ノイズの多い、残響のある、または帯域制限された音声を、クリーンな 48 kHz 音声へと復元します。Sidon は、ノイズ除去、残響除去、帯域拡張を単一のモデルで組み合わせています。完全にオンデバイスで動作します(Apple Silicon では CoreML、それ以外では ONNX Runtime)。単にノイズをマスクするのではなく、学習された表現から音声を再構築するため、特に音声クローンのリファレンスの準備に優れています。話者の同一性を保持したまま録音をクリーンにします。

Sidon と DeepFilterNet3 の使い分け

音声強調 (DeepFilterNet3) は、軽量でリアルタイムのノイズ抑制器です。Sidon はより重量級の生成的復元モデルで、残響も除去し、高周波の詳細を 48 kHz まで再構築します。ライブのノイズ除去には DeepFilterNet3 を、リファレンスやアーカイブ録音のオフラインクリーンアップには Sidon を使用してください。

アーキテクチャ

Sidon は 2 ステージのパイプラインです。自己教師あり特徴量予測器が音声表現を浄化し、ニューラルボコーダーがそこからクリーンな波形を再合成します。

ステージ詳細
フロントエンドw2v-BERT 2.0 SeamlessM4T の対数メル特徴量(16 kHz → 160 次元)
予測器w2v-BERT 2.0(8 層)と LoRA で微調整された浄化ヘッド → 浄化された特徴量
ボコーダー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 の対数メル特徴量を計算(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)

Android、Linux、Windows (Speech Core 経由、ONNX Runtime) でも利用可能です。Sidon(MIT)を基盤としています。