k2-fsa/OmniVoice

High-Quality Voice Cloning TTS for 600+ Languages

OmniVoice – 大規模なゼロショット音声合成

何であるか – OmniVoice は、言語ごとの微調整なしに 600 言語以上 の音声を合成できる多言語テキスト音声(TTS)システムです。拡散型言語モデルアーキテクチャを採用しており、非常に低いリアルタイム係数(RTF ≈ 0.025、つまり実時間の 40 倍速)で高品質な音声を生成します。このモデルは以下の 3 つの主要な用途をサポートしています:

  1. ボイスクラウンニング – 短い参照音声ファイルの音声を再現する音声を生成。
  2. ボイスデザイン – 参照音声を提供せずに、性別、年齢、ピッチ、アクセント、方言、ささやき声などのスピーカー属性を指定。
  3. オートボイス – モデルが自動的に音声を選択する。

また、非言語的記号([laughter])や明示的な発音ヒント(中国語のピンイン、英語の CMU フォネム)など、細かい制御も可能です。


クイックスタート

  • Web UIomnivoice-demo --ip 0.0.0.0 --port 8001 で Gradio デモを起動。
  • Hugging Face Spacehttps://huggingface.co/spaces/k2-fsa/OmniVoice でオンラインでモデルを試す。
  • Colab ノートブック – README にリンクされた実行可能なノートブック。

インストール(pip)

# ハードウェアに合わせた PyTorch をインストール(CUDA、Apple Silicon、Intel XPU)
# 最新の NVIDIA GPU 用の例:
pip install torch==2.8.0+cu128 torchaudio==2.8.0+cu128 \
    --extra-index-url https://download.pytorch.org/whl/cu128

# ライブラリのインストール(PyPI からの安定版)
pip install omnivoice

または リポジトリから直接インストール(pip install git+https://github.com/k2-fsa/OmniVoice.git)または uv ツールを使って依存関係を同期。


Python API(コアパターン)

from omnivoice import OmniVoice
import soundfile as sf, torch

model = OmniVoice.from_pretrained(
    "k2-fsa/OmniVoice",
    device_map="cuda:0",   # Apple Silicon では "mps"、Intel Arc では "xpu"
    dtype=torch.float16)

# 1️⃣ ボイスクラウンニング
audio = model.generate(
    text="Hello, this is a test of zero-shot voice cloning.",
    ref_audio="ref.wav",
    ref_text="Transcription of the reference audio.")
sf.write("out.wav", audio[0], 24000)

# 2️⃣ ボイスデザイン
audio = model.generate(
    text="Hello, this is a test of voice design.",
    instruct="female, low pitch, british accent")

# 3️⃣ オートボイス
audio = model.generate(text="Just speak in a random voice.")

同じ model.generate 呼び出しは、拡散ステップ(num_step)、スピードファクター、固定長、その他多くのパラメータをサポートしており、docs/generation-parameters.md に詳細が記載されています。


コマンドラインツール

コマンド 一般的な用途
omnivoice-demo インタラクティブな Gradio デモを起動
omnivoice-infer 単一発話の推論(ボイスクラウンニング、デザイン、オート)
omnivoice-infer-batch 高スループットのバッチ推論、GPU に分散可能

すべての CLI オプションは Python API の引数と一致しています(例:--ref_audio--instruct--num_step)。


速度向上テクニック

  • FlashInfer カーネルにより、品質損失なしに 2–2.9 倍の高速化が可能。対応する CUDA バージョン用の提供済み wheel をインストールし、--enable_flashinfer true(CLI)または apply_flashinfer(model)(Python)で有効化。CUDA グラフにより、バッチサイズ 1 の場合のレイテンシがさらに改善されます。

学習と評価

リポジトリには examples/ フォルダがあり、データ準備、モデル学習、評価、ファインチューニングの手順を紹介しています。ユーザーは自前のデータにパイプラインをカスタマイズできます。


コミュニティとサポート

  • 問題は GitHub で対応。
  • 中国語コミュニティの議論用に WeChat グループと公式アカウントが紹介されています。
  • コミュニティプロジェクトの一覧は docs/community-projects.md に維持されています。

引用

研究で OmniVoice を使用する場合、arXiv 論文を引用してください:

@article{zhu2026omnivoice,
  title={OmniVoice: Towards Omnilingual Zero‑Shot Text‑to‑Speech with Diffusion Language Models},
  author={Zhu, Han and Ye, Lingxuan and Kang, Wei and Yao, Zengwei and Guo, Liyong and Kuang, Fangjun and Han, Zhifeng and Zhuang, Weiji and Lin, Long and Povey, Daniel},
  journal={arXiv preprint arXiv:2604.00688},
  year={2026}
}

倫理に関する注意

著者は、違法なボイスクラウンニング、偽装、詐欺、またはその他の違法・不正な使用を明確に禁止しています。ユーザーは現地の規制および責任あるAIガイドラインに従うものとします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト