IndexTTS:中国最大のアニメ・ゲーム動画プラットフォームから生まれた音声モデル
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- ステムを分離、またはカバーを生成
- 登録して試聴。聴いてから決められる
Bilibiliは、中国で数百万時間に及ぶアニメ、ゲーム、クリエイターコンテンツを支える動画プラットフォームです。テキスト読み上げを重視するのには、プラットフォーム規模での吹き替え、デジタルアバター、ナレーションという明確で実用的な理由があります。IndexTTSは、その社内ニーズを一般公開した成果です。BilibiliのAIプラットフォーム部門が開発し、オープンソースとして公開したゼロショット音声クローンモデルであり、一般的な多言語TTSシステムが苦手としやすい問題、すなわち多音字やロングテール語彙を含む中国語テキストを正しく発音することに特化して設計されています。
IndexTTSとは?
IndexTTSはBilibiliのIndexチームが開発したGPTスタイルの自己回帰型テキスト読み上げモデルです。主にXTTSとTortoiseのアーキテクチャを基盤とし、その上に対象を絞った複数の改良を加えています。参照クリップから話者の声を再現するゼロショット音声クローンに中国語と英語の両方で対応し、1万時間を超える音声データでトレーニングされました。
IndexTTSを基盤となったXTTSやTortoiseと分けるのは、単一の目玉機能ではなく、意図的に選ばれた一連のエンジニアリング上の工夫です。それぞれが、初期のオープンソースTTSにあった特定の弱点、中国語の発音精度、タイミングの制御、クローンの安定性を狙っています。
IndexTTSを支える技術
文字とPinyinのハイブリッドモデリング。 これはIndexTTSを代表する貢献です。中国語のテキスト合成には根強い問題があります。文字列だけでトレーニングされたモデルは、多音字(文脈によって同じ文字の読み方が変わるもの)やロングテール語彙を頻繁に読み間違えます。IndexTTSは、トレーニング時に文字とPinyinを直接混在させることでこの問題に対処します。前処理では、非多音字の一部を対応するPinyinへランダムに置き換え、モデルにPinyinを曖昧さを解消する信号として使う方法を学習させます。推論時にもPinyinを入力し、特定の発音を強制できます。
句読点によるポーズ制御。 IndexTTSは句読点をタイミング信号として解釈するため、入力テキストの句読点の付け方だけで生成音声のポーズ位置を制御できます。個別のタイミング用マークアップは必要ありません。
再構築された条件付けとデコードのパイプライン。 IndexTTSは、参照クリップから話者の特徴を捉える方法を改善するため、Conformerベースの音声条件エンコーダーを導入しています。また、元の音声コードデコーダーをBigVGAN2に置き換えました。チームは、この変更によってトレーニングの安定性、声色の類似度、全体的な音質が向上したとしています。
音声tokenizerにVQではなくFSQを採用。 チームは、音響音声tokenのエンコードに用いる標準的なベクトル量子化(Vector Quantization)と有限スカラー量子化(Finite-Scalar Quantization)を直接比較し、VQベースのシステムを劣化させることがあるcodebook collapseの問題に対処しました。この技術的な選択は、後のCosyVoice2のtokenizer設計にも影響を与えています。
ベンチマーク性能
チームが公開した評価では、英語と中国語のテストセットにおける単語誤り率、話者類似度、平均オピニオン評点を測定し、IndexTTSをXTTS、CosyVoice2(非ストリーミング)、Fish-Speech、FireRedTTS、F5-TTSと直接比較しました。報告された結果では、IndexTTSは単語誤り率で全モデルを上回り、話者類似度では特にCosyVoice2とF5-TTSに対して競争力を維持しています。著者は、この2つをクローンの忠実度において最も近い同等モデルと位置付けています。
率直に記しておくべき点として、IndexTTSの元論文はモデル自身の制限を直接認めています。リリース時点では、指示による音声生成に対応せず、中国語と英語のみを扱い、豊かな感情表現にも限界がありました。チームが2025年5月に公開したIndexTTS-1.5アップデートは、初期の1.0リリースに対する安定性と英語性能の改善を明確な対象としています。
IndexTTSの始め方
- Python 3.10環境を用意します。 専用のconda環境を作成し、システムのパッケージマネージャーまたは
conda install -c conda-forge ffmpegでffmpegをインストールします。 - 必要に応じてWindowsの
pynini依存関係を個別に処理します。 Windowsでpip installがpyniniのwheelビルドに失敗する場合は、conda install -c conda-forge pynini==2.1.6でインストールしてからpip install WeTextProcessing --no-depsを実行します。これはプロジェクトが直接記載している既知の回避策です。 - モデルの重みをダウンロードします。 必要なリリースに応じて、
huggingface-cli downloadでIndexTeam/IndexTTS(1.0)またはIndexTeam/IndexTTS-1.5を取得します。安定性が改善されているため、ほとんどの新規プロジェクトでは1.5 checkpointをデフォルトにするのが適切です。 - CLIまたはPythonで推論を実行します。
indexttsコマンドラインツールはテキストと参照音声ファイルを直接受け取ります。より大きなパイプライン内で細かく制御したい場合は、PythonからIndexTTSクラスを呼び出すこともできます。 - 統合前にWebUIでテストします。
pip install -e ".[webui]" --no-build-isolationを実行してからpython webui.pyを起動すると、localhost:7860にブラウザベースのインターフェースが開きます。コードを書かずにクローンと発音制御をテストできます。
より良い結果を得るためのヒント
- 多音字には意図的にPinyinの上書きを使います。 文脈によって1つの文字に複数の有効な読み方がある場合、周囲の文章からモデルが正しい読みを推測することに期待するより、正しいPinyinを直接与えるほうが確実です。
- 実際に入れたいポーズに合わせて句読点を付けます。 IndexTTSは句読点をタイミング情報として解釈するため、コンマやピリオドの位置を文法上の正しさだけでなく、ペースを整える手段として扱ってください。多くのモデルが提供する方法より、少ない手間でリズムを制御できます。
- 特別な理由がない限りIndexTTS-1.5をデフォルトにします。 1.5リリースは、元の1.0モデルの安定性問題を修正し、英語出力を改善するために存在します。新しいプロジェクトを以前のcheckpointから始める理由はほとんどありません。
- 感情表現の幅には現実的な期待を持ちます。 モデル自身のドキュメントは、より新しく感情に特化したリリースと比べて感情表現に限界があることを認めています。ドラマチックな演技がプロジェクトの中心なら、この世代のIndexTTSはその用途に最適化されていません。
- 商用展開前にモデルライセンスを確認します。 IndexTTSのコードはApache 2.0で公開されていますが、事前の書面による許可を商用利用の条件とする別のBilibiliモデルライセンスが、事前学習済みの重みに適用されます。商用製品として提供する前に、用途が許可されているか確認してください。
IndexTTSと最も近い同等モデルの比較
| IndexTTS | XTTS | CosyVoice2 | F5-TTS | |
|---|---|---|---|---|
| アーキテクチャの基盤 | XTTS + Tortoise、GPTスタイル | ベースライン | 教師ありセマンティックtoken | Flow matching |
| 中国語の発音制御 | 文字とPinyinのハイブリッドモデリング | 重視していない | 専用機能ではない | 専用機能ではない |
| ポーズ制御 | 句読点による | 限定的 | 指示による | 限定的 |
| 単語誤り率(公開評価) | 比較対象中で最良 | ベースライン | 僅差で2番手 | 僅差で2番手 |
| 話者類似度 | トップモデルと競争力あり | より低い | 同等 | 同等 |
| 商用利用 | 重みには許可が必要 | 場合による | Apache 2.0 | バージョンによる |
最も近い競合と比べたIndexTTS固有の強みは、中国語の発音精度と推論の簡潔さです。チームは、トレーニングプロセスが比較的単純で、複数のオープンソース同等モデルより使い方を制御しやすいと説明しています。研究デモではなく本番パイプラインを構築するチームにとって、これは実用上大きな利点です。
よくある質問
IndexTTSを開発したのは誰ですか?
IndexTTSは、中国の主要なアニメ、ゲーム、クリエイター動画プラットフォームであるBilibili(B站)のAIプラットフォーム部門が開発し、GitHubとHugging Faceでオープンソース公開しました。
IndexTTS-1.0とIndexTTS-1.5の違いは何ですか?
2025年5月に公開されたIndexTTS-1.5は、元の1.0リリースに対してモデルの安定性と英語合成の品質を改善することに重点を置いたアップデートです。ほとんどの新規プロジェクトでは1.5をデフォルトにすべきです。
IndexTTSは中国語の発音問題をどのように処理しますか?
文字とPinyinのハイブリッドモデリングを使います。モデルは中国語の文字と対応するPinyinを混在させてトレーニングされているため、正しいPinyinを直接与え、読み間違えた多音字や珍しい文字を修正できます。
IndexTTSは無料で商用利用できますか?
コードはApache 2.0ライセンスで公開されていますが、事前学習済みの重みには商用利用前の書面による許可を求める別のBilibiliライセンスが適用されます。商用展開前に現在のライセンス条件を確認してください。
IndexTTSはCosyVoice2やF5-TTSと比べてどうですか?
チームが公開したベンチマークでは、IndexTTSは両モデルより低い単語誤り率を達成しながら、話者類似度でも特に競争力を維持しています。話者類似度は、クローンされた出力が参照音声にどれほど近いかを測る指標です。
Echoraでテキストを音声に変換
テキストから一人の話者による音声を作る同様のワークフローをブラウザで利用したい場合は、Echoraのテキスト読み上げを使えます。最大5,000文字を入力し、内蔵音声または保存したカスタム音声を選び、必要に応じて対応している話し方タグを追加して安定性を調整できます。生成結果はプレビューしてMP3でダウンロードできます。