Files
index-tts/docs/README_ja.md
nanaoto 0d3a48bec5 docs: point the vLLM recipe links at the published page (#756)
The recipe has landed, so the links no longer need to reference the pull
request. Verified https://recipes.vllm.ai/IndexTeam/IndexTTS-2.5 returns 200
and titles itself "IndexTeam/IndexTTS-2.5 | vLLM Recipes".

Seven occurrences across the English, Chinese, Japanese, Spanish and Arabic
READMEs.

Co-authored-by: nanaoto <10inspiral@gmail.com>
2026-08-12 16:54:08 +08:00

26 KiB
Raw Permalink Blame History

産業レベルの制御可能で効率的なゼロショット・テキスト読み上げシステム

简体中文 | English | 日本語 | Español | العربية

GitHub Stars arXiv Discord

IndexTTS は、1つの参照音声クリップから声をクローンするゼロショット・テキスト 読み上げシステムです。最新リリースの IndexTTS-2.5 は、中国語、英語、日本語、 スペイン語、アラビア語をサポートし、きめ細かな感情コントロール、話速コントロール、 発音コントロール(ピンイン / CMU 音素 / 日本語の仮名)を備え、IndexTTS-2 よりも 高速な推論を実現しています。


🗂️ モデル一覧

モデル デモ 論文 ModelScope HuggingFace
IndexTTS-2.5 Demo Studio Paper ModelScope HuggingFace
IndexTTS-2 Demo Paper ModelScope HuggingFace
IndexTTS-1.5 Demo Paper ModelScope HuggingFace
IndexTTS Demo Paper ModelScope HuggingFace

📣 ニュース

  • 2026/08/10 🔥 IndexTTS-2.5 をリリースしました
    • 中国語、英語、日本語、スペイン語、アラビア語をサポートし、IndexTTS-2 よりも高速な推論を実現しながら、言語横断的および音色・感情分離の能力を維持しています。
    • 中国語ピンイン、英語 CMU 音素、日本語仮名の制御性が向上しました。
    • duration_factor による話速コントロール(0.5倍~2.0倍の長さ)。
  • 2025/09/08 🔥 IndexTTS-2 をリリースしました
    • 精密な合成時間制御を備えた初の自己回帰型 TTS モデルで、制御可能モードと非制御モードの両方をサポートします。この機能は本リリースではまだ有効になっていません。
    • 高い表現力を持つ感情音声合成。複数の入力モダリティによる感情コントロールが可能です。
  • 2025/05/14 🔥 IndexTTS-1.5 をリリースしました。モデルの安定性と英語での性能が大幅に向上しています。
  • 2025/03/25 🔥 IndexTTS-1.0 をモデルウェイトおよび推論コードとともにリリースしました。
  • 2025/02/12 🎉 論文を arXiv に投稿し、デモとテストセットを公開しました。

🎬 デモ

IndexTTS-2.5: The Future of Voice, Now Generating

IndexTTS2.5 Demo

IndexTTS-2: The Future of Voice, Now Generating

IndexTTS2 Demo

🚀 はじめに

1. 前提条件

git がインストールされていることを確認してから、 このリポジトリをダウンロードしてください:

git clone https://github.com/index-tts/index-tts.git && cd index-tts

サンプル音声ファイルは初回実行時に HuggingFace/ModelScope からオンデマンドで ダウンロードされるため、Git LFS は不要になりました。

2. 依存関係のインストール

プロジェクトの依存環境の管理には uv を使用しています。確実なインストールのために 必須 です:

pip install -U uv  # or see the link above for other install methods
uv sync --all-extras

これにより .venv プロジェクトディレクトリが自動的に作成され、正しいバージョンの Python と必要なすべての依存関係がインストールされます。

ダウンロードが遅い場合はローカルミラーを使用してください。例えば中国国内の 以下のミラーが利用できます:

uv sync --all-extras --default-index "https://mirrors.aliyun.com/pypi/simple"

uv sync --all-extras --default-index "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

Tip

利用可能な追加機能:

  • --all-extras: 以下に挙げる すべての 追加機能を自動的に追加します。 インストール内容をカスタマイズしたい場合は、このフラグを外してください。
  • --extra webui: WebUI サポートを追加します(推奨)。
  • --extra deepspeed: DeepSpeed サポートを追加します(一部のシステムで推論が 高速化する場合があります)。

Important

Windows: DeepSpeed のインストールが難しい場合があります。--all-extras フラグを外し、他の機能フラグを個別に追加することでスキップできます。

Linux/Windows: インストール中に CUDA エラーが表示された場合は、NVIDIA の CUDA Toolkit バージョン 12.8 (以降)がシステムにインストールされていることを確認してください。

3. モデルのダウンロード

uv tool を使って必要なモデルをダウンロードします:

huggingface-cli を使う場合:

uv tool install "huggingface-hub"

# IndexTTS-2.5
hf download IndexTeam/IndexTTS-2.5 --local-dir=checkpoints

# IndexTTS-2
hf download IndexTeam/IndexTTS-2 --local-dir=checkpoints_2

または modelscope を使う場合:

uv tool install "modelscope"

# IndexTTS-2.5
modelscope download --model IndexTeam/IndexTTS-2.5 --local_dir checkpoints

# IndexTTS-2
modelscope download --model IndexTeam/IndexTTS-2 --local_dir checkpoints_2

Important

上記のコマンドが利用できない場合は、uv tool の出力をよく確認してください。 ツールをシステムの PATH に追加する方法が表示されます。

Note

一部の小さなモデルは初回実行時に自動的にダウンロードされます。ネットワークから HuggingFace へのアクセスが遅い場合は、コードを実行する前にミラーを設定してください:

export HF_ENDPOINT="https://hf-mirror.com"

4. GPU アクセラレーションの確認

環境を診断し、どの GPU が検出されているかを確認するには、付属のユーティリティを 使用してください:

uv run tools/gpu_check.py

💻 使い方

🌐 Web デモ

# IndexTTS-2.5 (default)
uv run webui.py

# IndexTTS-2
uv run webui.py --version 2 --model_dir ./checkpoints_2

ブラウザを開いて http://127.0.0.1:7860 にアクセスするとデモが表示されます。

設定を調整して、BF16IndexTTS-2.5/ FP16IndexTTS-2)推論(VRAM 使用量の削減)、 DeepSpeed アクセラレーション、高速化のためのコンパイル済み CUDA カーネルなどを 有効にできます。利用可能なすべてのオプションは以下で確認できます:

uv run webui.py -h

Important

FP16/BF16(半精度)推論は高速で VRAM 使用量も少なく、品質の低下は ごくわずかです。

DeepSpeed は一部のシステムで推論を高速化する可能性がありますが、逆に 遅くなる場合もあります。ハードウェア、ドライバ、OS に依存します。両方を 試してみてください。

すべての uv コマンドは、プロジェクトごとの正しい仮想環境を自動的に アクティベートします。uv コマンドを実行する前に手動で環境をアクティベート しないでください。依存関係の競合を引き起こす可能性があります。

🚀 vLLM によるサービング

本番環境へのデプロイについては、IndexTTS 向け vLLM レシピを参照してください。

📝 Python API

スクリプトを実行するには uv run <file.py> を使用し、コードが uv 環境内で 実行されるようにしてください。カレントディレクトリを PYTHONPATH に追加する 必要がある場合もあります:

# IndexTTS2
PYTHONPATH="$PYTHONPATH:." uv run indextts/infer_v2.py

# IndexTTS2.5
PYTHONPATH="$PYTHONPATH:." uv run indextts/infer_v2_5.py \
  --cfg_path checkpoints/config.yaml \
  --model_dir checkpoints \
  --text "Hello world" \
  --lang EN

0. IndexTTS の初期化

# IndexTTS2
from indextts.infer_v2 import IndexTTS2
tts = IndexTTS2(cfg_path="checkpoints_2/config.yaml", model_dir="checkpoints_2", use_fp16=False, use_cuda_kernel=False, use_deepspeed=False)

# IndexTTS2.5
from indextts.infer_v2_5 import IndexTTS2
tts = IndexTTS2(cfg_path="checkpoints/config.yaml", model_dir="checkpoints", use_bf16=True)

1. 1つの参照音声によるボイスクローニング

text = "Translate for me, what is a surprise!"

# IndexTTS2
tts.infer(spk_audio_prompt='examples/voice_01.wav', text=text, output_path="gen.wav", verbose=True)

# IndexTTS2.5 (multilingual, with language selection)
tts.infer(spk_audio_prompt='examples/voice_01.wav', text=text, lang="EN", output_path="gen.wav", verbose=True)

2. 別の感情参照音声による感情コントロール

text = "酒楼丧尽天良,开始借机竞拍房间,哎,一群蠢货。"

# IndexTTS2
tts.infer(spk_audio_prompt='examples/voice_07.wav', text=text, output_path="gen.wav", emo_audio_prompt="examples/emo_sad.wav", verbose=True)

# IndexTTS2.5
tts.infer(spk_audio_prompt='examples/voice_07.wav', text=text, lang="ZH", output_path="gen.wav", emo_audio_prompt="examples/emo_sad.wav", verbose=True)

3. emo_alpha による感情強度の調整

感情参照音声が指定されている場合、emo_alpha でそれが出力に与える影響の 大きさを調整できます。有効範囲:0.0 - 1.0、デフォルト:1.0100%)。

text = "酒楼丧尽天良,开始借机竞拍房间,哎,一群蠢货。"

# IndexTTS2
tts.infer(spk_audio_prompt='examples/voice_07.wav', text=text, output_path="gen.wav", emo_audio_prompt="examples/emo_sad.wav", emo_alpha=0.9, verbose=True)

# IndexTTS2.5
tts.infer(spk_audio_prompt='examples/voice_07.wav', text=text, output_path="gen.wav", lang="ZH", emo_audio_prompt="examples/emo_sad.wav", emo_alpha=0.9, verbose=True)

4. 感情ベクトルによる感情コントロール

感情参照音声を省略し、代わりに各感情の強度を指定する 8 要素の浮動小数点数リストを 指定できます。順序は [happy, angry, sad, afraid, disgusted, melancholic, surprised, calm] です。use_random を使うと推論時に確率的な揺らぎを導入できます(デフォルト:False)。

Note

ランダムサンプリングを有効にすると、ボイスクローニングの忠実度が低下します。

text = "对不起嘛!我的记性真的不太好,但是和你在一起的事情,我都会努力记住的~"

# IndexTTS2
tts.infer(spk_audio_prompt='examples/voice_09.wav', text=text, output_path="gen.wav", emo_vector=[0, 0, 0.8, 0, 0, 0, 0, 0], use_random=False, verbose=True)

# IndexTTS2.5
tts.infer(spk_audio_prompt='examples/voice_09.wav', text=text, lang="ZH", output_path="gen.wav", emo_vector=[0, 0, 0.8, 0, 0, 0, 0, 0], use_random=False, verbose=True)

5. テキスト自体からの感情コントロール(use_emo_text

use_emo_text を有効にすると、text のスクリプトが自動的に感情ベクトルに 変換されます。より自然な音声にするためには、emo_alpha を 0.6 前後(または それ以下)にすることを推奨します。use_random でランダム性を導入できます (デフォルト:False)。

text = "快躲起来!是他要来了!他要来抓我们了!"

# IndexTTS2
tts.infer(spk_audio_prompt='examples/voice_12.wav', text=text, output_path="gen.wav", emo_alpha=0.6, use_emo_text=True, use_random=False, verbose=True)

# IndexTTS2.5
tts.infer(spk_audio_prompt='examples/voice_12.wav', text=text, lang="ZH", output_path="gen.wav", emo_alpha=0.6, use_emo_text=True, use_random=False, verbose=True)

6. 明示的な感情記述による感情コントロール(emo_text

emo_text で特定の感情記述テキストを指定すると、それが感情ベクトルに変換 されます。これにより、テキストスクリプトと感情記述を別々にコントロールできます:

text = "快躲起来!是他要来了!他要来抓我们了!"
emo_text = "你吓死我了!你是鬼吗?"

# IndexTTS2
tts.infer(spk_audio_prompt='examples/voice_12.wav', text=text, output_path="gen.wav", emo_alpha=0.6, use_emo_text=True, emo_text=emo_text, use_random=False, verbose=True)

# IndexTTS2.5
tts.infer(spk_audio_prompt='examples/voice_12.wav', text=text, lang="ZH", output_path="gen.wav", emo_alpha=0.6, use_emo_text=True, emo_text=emo_text, use_random=False, verbose=True)

7. 話速コントロール(duration_factor

1.0 より大きい値を指定すると音声が遅くなり、1.0 より小さい値を指定すると 速くなります。デフォルト:1.0(通常速度)。有効範囲:0.5 - 2.0

text = "大家好,欢迎来到IndexTTS的语速控制演示。"

# IndexTTS2.5
# Slow down (1.2x duration)
tts.infer(spk_audio_prompt='examples/voice_01.wav', text=text, lang="ZH", output_path="gen_slow.wav", duration_factor=1.2, verbose=True)

# Speed up (0.8x duration)
tts.infer(spk_audio_prompt='examples/voice_01.wav', text=text, lang="ZH", output_path="gen_fast.wav", duration_factor=0.8, verbose=True)

🗣️ 発音コントロール

IndexTTS2.5 — ピンイン / CMU 音素 / 日本語仮名:

IndexTTS2.5 は、より優れた指示追従能力により、これらの文字置換をサポートします。 有効なエントリの完全なリストについては、ピンインは checkpoints/pinyin.vocab、 英語音素は CMU 辞書を参照してください。

他在银<行|XING2>里<行|HANG2>走了半天,发现这笔业务办不<行|HANG2>。

He had a <minute|M IH1 . N AH0 T> to examine the <minute|M AY0 . N UW1 T> details of the contract.

彼は料理が<上手|じょうず>だが、囲碁では<上手|うわて>に負けた。

IndexTTS2 — ピンイン:

IndexTTS2 は、漢字とピンインの混合モデリングをサポートします。ピンイン コントロールを有効にするには、特定のピンイン注釈を付けたテキストを入力します。 なお、ピンインコントロールはすべての子音・母音の組み合わせで機能するわけでは ありません。有効な中国語ピンインの場合のみサポートされます (checkpoints/pinyin.vocab を参照)。

之前你做DE5很好,所以这一次也DEI3做DE2很好才XING2,如果这次目标完成得不错的话,我们就直接打DI1去银行取钱。

🕰️ IndexTTS-1.5(レガシー)

別のモジュールをインポートすることで、以前の IndexTTS1 モデルを使用することも できます:

from indextts.infer import IndexTTS
tts = IndexTTS(model_dir="checkpoints", cfg_path="checkpoints/config.yaml")
voice = "examples/voice_07.wav"
text = "大家好,我现在正在bilibili 体验 ai 科技,说实话,来之前我绝对想不到!AI技术已经发展到这样匪夷所思的地步了!比如说,现在正在说话的其实是B站为我现场复刻的数字分身,简直就是平行宇宙的另一个我了。如果大家也想体验更多深入的AIGC功能,可以访问 bilibili studio,相信我,你们也会吃惊的。"
tts.infer(voice, text, 'gen.wav')

詳細については README_INDEXTTS_1_5 を参照するか、 index-tts:v1.5.0 の IndexTTS1 リポジトリをご覧ください。

📊 評価

表 1: CV3-Eval におけるゼロショット TTS(アラビア語は社内テストセットを使用)。†原論文より引用。

Model Params zh en es ja ar Avg
WER↓SS↑ WER↓SS↑ WER↓SS↑ WER↓SS↑ WER↓SS↑ WER↓SS↑
VoxCPM22B3.8874.995.1371.575.4974.676.6972.9014.9465.997.2272.02
OmniVoice0.8B3.4172.993.6270.133.5274.145.3870.4917.8864.226.7670.39
Moss-TTS 1.58B4.0272.684.4567.463.8371.7510.9768.7123.7162.219.4068.56
CosyVoice3-0.5B0.5B3.8480.014.8874.164.0478.85-76.36----
CosyVoice3-1.5B1.5B3.91†-4.99†-4.47†-7.57†-----
FireRedTTS-21.5B8.2268.1014.9256.93--------
Fish Audio S2 Pro4B3.6267.793.8361.662.9367.445.1566.1514.1559.435.9464.49
Qwen3-TTS1.7B3.2773.025.0667.172.8773.175.8970.18----
IndexTTS2.50.8B4.3677.105.1268.063.7576.395.6674.6214.8869.746.7573.18
IndexTTS2.5-RL0.8B3.9377.923.8967.793.3376.685.3075.4113.5870.366.0073.63

表 2: CV3-Eval における言語横断 TTS(中国語プロンプト → ターゲット言語。アラビア語は社内テストセットを使用)。

Model Params zh→en zh→es zh→ja zh→ar Avg
WER↓SS↑ WER↓SS↑ WER↓SS↑ WER↓SS↑ WER↓SS↑
VoxCPM22B4.4864.2516.3864.8911.8471.5411.0967.6210.9567.08
OmniVoice0.8B3.7464.915.8462.089.0969.0619.8065.279.6265.33
Moss-TTS 1.58B6.1359.234.3256.6311.5265.5417.0362.939.7561.08
CosyVoice3-0.5B0.5B3.2362.794.5864.04------
CosyVoice3-1.5B1.5B4.32---13.70-----
FireRedTTS-21.5B9.3453.1912.2558.3119.0564.12----
Fish Audio S2 Pro4B4.1455.894.4655.5710.4861.7414.4959.808.3958.25
Qwen3-TTS1.7B5.7463.045.1568.0236.0965.71----
IndexTTS2.50.8B3.6263.835.1765.486.5774.169.5171.026.2268.62
IndexTTS2.5-RL0.8B3.5567.474.8664.476.3875.829.8973.056.1770.20

🤝 コミュニティ & お問い合わせ

ぜひコミュニティにご参加ください!🌏 皆様のご参加・ご意見をお待ちしております!

Caution

bilibili IndexTTS プロジェクトをご支援いただきありがとうございます! コアチームがメンテナンスしている唯一の公式チャンネルhttps://github.com/index-tts/index-tts です。 その他のウェブサイトやサービスは公式ではありません。その安全性、正確性、適時性について当方は保証できません。 最新情報については、常にこの公式リポジトリをご参照ください。

商用利用および協業については、indexspeech@bilibili.com までお問い合わせください。

📚 引用

🌟 私たちの成果がお役に立ちましたら、スターを付け、論文を引用していただけると幸いです。

IndexTTS2.5:

@misc{li2026indextts25technicalreport,
      title={IndexTTS 2.5 Technical Report},
      author={Yunpei Li and Xun Zhou and Jinchao Wang and Lu Wang and Yong Wu and Siyi Zhou and Yiquan Zhou and Yining Wang and Yaogen Yang and Zhetao Hu and Shiyao Duan and Jiacheng Xu and Bin Xia and Jingchen Shu},
      year={2026},
      eprint={2601.03888},
      archivePrefix={arXiv},
      primaryClass={cs.SD},
      url={https://arxiv.org/abs/2601.03888},
}

IndexTTS2:

@article{zhou2025indextts2,
  title={IndexTTS2: A Breakthrough in Emotionally Expressive and Duration-Controlled Auto-Regressive Zero-Shot Text-to-Speech},
  author={Siyi Zhou and Yiquan Zhou and Yi He and Xun Zhou and Jinchao Wang and Wei Deng and Jingchen Shu},
  journal={arXiv preprint arXiv:2506.21619},
  year={2025}
}

IndexTTS:

@article{deng2025indextts,
  title={IndexTTS: An Industrial-Level Controllable and Efficient Zero-Shot Text-To-Speech System},
  author={Wei Deng and Siyi Zhou and Jingchen Shu and Jinchao Wang and Lu Wang},
  journal={arXiv preprint arXiv:2502.05512},
  year={2025},
  doi={10.48550/arXiv.2502.05512},
  url={https://arxiv.org/abs/2502.05512}
}

🙏 謝辞

  1. tortoise-tts
  2. XTTSv2
  3. BigVGAN
  4. wenet
  5. icefall
  6. maskgct
  7. seed-vc

📄 ライセンス

このプロジェクトは bilibili モデル使用許諾契約 の下で公開されています。 ご使用前に DISCLAIMER もお読みください。