k2-fsa/OmniVoice
High-Quality Voice Cloning TTS for 600+ Languages
OmniVoice – 大規模なゼロショット音声合成
何であるか – OmniVoice は、言語ごとの微調整なしに 600 言語以上 の音声を合成できる多言語テキスト音声(TTS)システムです。拡散型言語モデルアーキテクチャを採用しており、非常に低いリアルタイム係数(RTF ≈ 0.025、つまり実時間の 40 倍速)で高品質な音声を生成します。このモデルは以下の 3 つの主要な用途をサポートしています:
- ボイスクラウンニング – 短い参照音声ファイルの音声を再現する音声を生成。
- ボイスデザイン – 参照音声を提供せずに、性別、年齢、ピッチ、アクセント、方言、ささやき声などのスピーカー属性を指定。
- オートボイス – モデルが自動的に音声を選択する。
また、非言語的記号([laughter])や明示的な発音ヒント(中国語のピンイン、英語の CMU フォネム)など、細かい制御も可能です。
クイックスタート
- Web UI –
omnivoice-demo --ip 0.0.0.0 --port 8001で Gradio デモを起動。 - Hugging Face Space – https://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ガイドラインに従うものとします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト