IndexTTS-2.5:具備情緒控制的多語言零樣本語音合成
隨著有聲書、虛擬助理與影視配音的蓬勃發展,如何讓合成語音兼具「說話者的真實音色」與「細緻的情感起伏」成為語音合成(TTS)領域的重要課題。Bilibili 的 IndexTeam 於 2026 年 8 月 10 日正式發布了 IndexTTS-2.5 語音合成系統。
這款工業級、可控且高效的零樣本(Zero-shot)語音模型,僅需一段短暫的參考音訊,就能完美克隆說話者的語調與音色,並支援多語言與精細的情感控制,為創作者提供更強大、自然的語音生成體驗。
核心架構:捨棄傳統擴散,擁抱流匹配(Flow-Matching)
許多人常誤以為新型的語音合成模型皆採用 Diffusion Transformer(DiT)架構。然而,在 IndexTTS-2.5 的底層設計中,開發團隊採取了更為高效且精確的技術路線。其核心架構由以下三大模組協同運作:
- GPT 骨幹網路(GPT Backbone): 擁有約 0.8B(8 億)參數,負責處理文字與語意 Token 之間的主動關聯。
- 流匹配語音到梅爾譜解碼器(Flow-matching Speech-to-mel Decoder): 這是技術升級的核心!IndexTTS-2.5 捨棄了傳統的擴散(Diffusion)解碼,改用流匹配(Flow-matching)機制。在確保音質毫無損失的前提下,極大地縮減了解碼步驟,使整體推論速度(Inference Speed)較前代 IndexTTS-2 提升了將近一倍。
- BigVGAN 聲碼器(Vocoder): 負責將生成的梅爾頻譜還原為高保真度、採樣率為 22.05 kHz 的語音波形。
此外,為了進一步探索生成品質的極限,開發團隊同步推出了結合強化學習的版本 IndexTTS2.5-RL。藉由 RL 策略的對齊優化,該版本在發音的精準度(Word Error Rate, WER)與音色相似度(Speaker Similarity, SS)上,皆取得了顯著的提升。
多語言與跨語言音色轉移
IndexTTS-2.5 支援 5 種主流語言,包括:
- 中文 (ZH)
- 英文 (EN)
- 日文 (JA)
- 西班牙文 (ES)
- 阿拉伯文 (AR)
模型具備極強的跨語言語音轉換能力(Cross-lingual Voice Transfer)。這意味著使用者只需輸入一段中文的語音參考片段,模型就能「以此音色」流暢地朗讀英文、日文或阿拉伯文,且完全保留原始說話者的個人音色與語氣特徵,實現真正的跨語言無縫轉移。
精細的情感與語速控制
IndexTTS-2.5 實現了「音色與情感的深度解耦(Timbre-Emotion Disentanglement)」,創作者可為同一個目標音色單獨注入以下三種維度的情感特徵:
- 1. 情感參考音檔(Emotion Reference Audio):
輸入一段目標音色(如溫柔女聲),並另外輸入一段充滿悲傷情緒的參考音檔,模型會提取悲傷的情感特徵融入目標音色中。可透過
emo_alpha參數(有效範圍0.0 - 1.0)自由調整情感侵入的強度(預設為 100%)。 - 2. 八維情緒控制向量(Emotion Vector):
若無特定的情感音訊,可直接傳遞一個含 8 個浮點數的向量,依序精準微調
[開心, 憤怒, 憂傷, 害怕, 厭惡, 憂鬱, 驚訝, 平靜]的具體數值。例如,傳遞[0, 0, 0.8, 0, 0, 0, 0, 0]可生成高強度憂傷的語音。 - 3. 基於文字的情感偵測(Text-based Emotion Detection):
設定
use_emo_text=True,模型會自動解析文字腳本的語境並自動轉化為情感起伏。(重要技術提示:在初始化IndexTTS2模型時,必須啟用use_qwen_emo=True以載入 QwenEmotion 評估模組,否則在推論時會觸發RuntimeError報錯)。 - 4. 語速控制(Speaking Speed Control):
可透過
duration_factor參數(有效範圍0.5 - 2.0)微調語速。數值大於 1.0 會放慢語速(拉長音頻時長),小於 1.0 則會加快說話速度(壓縮時長)。
細節發音校正:<文字|標註> 語法
針對多音字、生僻字或特定名詞的讀音,IndexTTS-2.5 提供了強大的拼音與音素替換控制。這項改進大幅增強了指令遵循度:
- 中文拼音 (Pinyin): 格式為
<字|PINYIN>。例如:「他在銀<行|XING2>里<行|HANG2>走了半天,發現這筆業務辦不<行|HANG2>。」 - 英文 CMU 音素: 格式為
<單字|PHONEMES>。例如:「He had a<minute|M IH1 . N AH0 T>to examine the<minute|M AY0 . N UW1 T>details.」 - 日文假名 (Kana): 格式為
<漢字|假名>。例如:「彼は料理が<上手|じょうず>だが、囲碁では<上手|うわて>に負けた。」
效能基準測試與推論速度 (Benchmarks)
在官方針對 CV3-Eval 基準測試的零樣本(Zero-shot)與跨語言(Cross-lingual)任務評測中,IndexTTS-2.5 與 IndexTTS-2.5-RL 展現出了極具競爭力的性能:
零樣本評測指標 (Zero-shot TTS)
| 模型 (Model) | 參數規模 (Params) | 平均字錯率 (WER ↓) | 平均音色相似度 (SS ↑) |
|---|---|---|---|
| CosyVoice3-1.5B | 1.5B | 7.57% | - |
| Fish Audio S2 Pro | 4B | 5.94% | 64.49 |
| IndexTTS-2.5 | 0.8B | 6.75% | 73.18 |
| IndexTTS-2.5-RL | 0.8B | 6.00% | 73.63 |
推論速度 (RTF, 越低越快)
測試基於 NVIDIA RTX 4090 GPU(啟用 kv_cache=True):
- IndexTTS-2 (FP16): 平均 RTF 為
0.3257 - IndexTTS-2.5 (BF16): 平均 RTF 為
0.2065(推論延遲大幅降低,執行效率顯著提升)
開發者部署指南
1. 環境配置
硬體要求:一個配備 NVIDIA GPU 且 VRAM 高於 6 GB 的環境,並推薦安裝 Python 3.10 至 3.11。
官方強力推薦使用 uv 來管理專案依賴。在 Terminal 中依序執行以下命令:
# 複製儲存庫
git clone https://github.com/index-tts/index-tts.git && cd index-tts
# 安裝/更新 uv 依賴管理器
pip install -U uv
# 一鍵同步 Python 環境與全部依賴套件(包含 WebUI、DeepSpeed 等擴展功能)
uv sync --all-extras
注意:Windows 系統若在安裝 DeepSpeed 時遇到編譯阻礙,可手動移除 --all-extras 標記,改用 uv sync --extra webui 進行輕量化安裝。
2. 下載權重
利用 uv 工具安裝 huggingface-hub 或 modelscope 並下載模型:
# 通過 Hugging Face 下載
uv tool install "huggingface-hub"
hf download IndexTeam/IndexTTS-2.5 --local-dir=checkpoints
# 或通過 ModelScope 下載
uv tool install "modelscope"
modelscope download --model IndexTeam/IndexTTS-2.5 --local_dir checkpoints
3. 快速推論 Python 程式碼
import torch
from indextts.infer_v2_5 import IndexTTS2
# 初始化 IndexTTS-2.5 模型 (預設啟用半精度 BF16 以節省顯存)
# 若需啟用文字情感偵測,請設定 use_qwen_emo=True
tts = IndexTTS2(
cfg_path="checkpoints/config.yaml",
model_dir="checkpoints",
use_bf16=True,
use_qwen_emo=True
)
# 執行語速與發音精準控制的語音合成
tts.infer(
spk_audio_prompt="examples/voice_01.wav",
text="他在銀<行|XING2>里<行|HANG2>走了半天。",
lang="ZH",
duration_factor=1.1, # 稍微放慢語速
output_path="output_gen.wav"
)
4. 開啟網頁 WebUI 介面
uv run webui.py
啟動後在瀏覽器開啟 http://127.0.0.1:7860 即可進行視覺化操作,支援 BF16/FP16 切換、DeepSpeed 加速以及 CUDA 核心編譯優化。
5. 生產環境部署
對於需要高併發、低延遲的生產線部署,IndexTTS-2.5 已原生與 vLLM 推理引擎整合,具體配方與食譜可直接參考 vLLM IndexTTS 部署指南。
技術常見問答
問:當前版本在處理長文本時有何限制? 答:長文本在內部會被自動切片為多個短句段落進行處理,生成後再自動拼接並在段落間填補一段短暫的靜音。因此,跨越段落邊界時,語調與節奏可能不會完全連貫。
問:啟用隨機情感取樣(use_random=True)會帶來什麼影響?
答:在調用情緒向量時,設定 use_random=True 可以為語調帶來自然的 stochastic 變化(隨機感),但這會稍微降低語音克隆對原始說話者音色的忠實度。
問:聲音克隆有安全或倫理機制嗎? 答:IndexTeam 提醒,該模型不具備自動檢測聲音授權同意的硬性機制。獲取說話者的克隆授權完全屬於使用者的法律義務,所有生成活動均須嚴格符合 bilibili 模型使用許可協議 規範,嚴禁將此技術應用於任何形式的惡意欺騙、電信詐騙或未經授權的聲音仿冒。
結語
IndexTTS-2.5 憑藉流匹配(Flow-matching)解碼帶來的極致推論效率,以及對五種語言與情緒細節的完美把控,為開源語音合成界樹立了新的標竿。若您有興趣探索極限或尋求產品升級,可以前往官方的 GitHub 專案頁面 與 Hugging Face 頁面 獲取完整資源。



