
FireRedTTS3:語音生成的全新境界
隨著生成式 AI 的突破,語音合成技術也正邁向高度通用與自主控制的新紀元。由 FireRed Team 開發並開源的 FireRedTTS3,是一套基於**語義富集連續語音表徵(Semantically Enriched Continuous Speech Representations)**構建的統一語音生成與編輯系統。
該項目原生整合了從零樣本語音克隆、指令式語音設計,到精細化語音編輯的全套功能,並推出兩款核心版本:主打多語言與方言克隆的 FireRedTTS3-Base,以及專注於指令引導語音設計與音訊編輯的 FireRedTTS3-Instruct。
一、 技術雙星:Base 與 Instruct 雙版本解析
1. FireRedTTS3-Base:跨語言與漢語方言克隆的巔峰
FireRedTTS3-Base 重點攻克了多語言環境下,聲音色調與口音細節流失的行業痛點:
- 24 種語言原生支援:涵蓋中文、英文、日文、韓文、法文、德文、西班牙文、俄文、阿拉伯文、印地文、泰文、越南文、土耳其文等。
- 21 種漢語方言極致優化:系統針對複雜的漢語方言進行了深度的聲學對齊與語音模型優化,支援閩南語、上海話(吳語)、四川話、溫州話、湖南話、河北話、河南話等 21 種主要方言。只要提供簡短的參考音訊,模型即可完美還原該方言特有的地道腔調與市井口音。
2. FireRedTTS3-Instruct:文字即設計,語意與聲學雙重編輯
FireRedTTS3-Instruct 將語音創作化繁為簡,支援多維度的指令式控制:
- 指令式語音設計(Voice Design):使用者無需提供任何參考音檔,僅需以純文字描述聲音特徵(如「一個年輕女性的溫柔嗓音,語速稍慢,帶一點俏皮」)。此時模型會執行顯式的文字屬性規劃步驟(Explicit Textual Planning Step),生成詳細的語音屬性規劃書後,再精準渲染出符合設定的全新擬真嗓音。
- 任意文字語意編輯(Semantic Edit):支援在內容層面進行任意的「增加(Insertion)」、「刪除(Deletion)」與「替換(Substitution)」。例如給予指令「將音檔中的 cats 替換為 dogs」,模型即可無縫改寫語意,並維持前後文的音色與環境雜音一致。
- 模板化聲學維度編輯(Acoustic Edit):針對語音的物理屬性進行精確微調。注意:聲學編輯不支援自由文字指令,必須嚴格依據系統訓練好的規範模板輸入指令,其格式限制如下:
- 語速(Speed):指令模板為
"adjust the speed to X"(X 的範圍為[0.5, 2.0]倍,步進為0.1)。 - 音調(Pitch):指令模板為
"shift the pitch by N step(s)"(N 的範圍為{-6, ..., -1, 1, ..., +6}個半音步長)。 - 音量(Volume):指令模板為
"adjust the volume to X"(X 的範圍為[0.3, 2.0]倍,步進為0.1)。
- 語速(Speed):指令模板為
二、 底層架構與技術基石
FireRedTTS3 的卓越表現並非憑空而來,它在底層架構上吸取了多個前沿開源項目的智慧,並融合了全新的語意設計:
- 底座與語音理解:基於 Qwen3 與 Qwen2-Audio 的語言模型與音訊理解基礎進行構建,賦予其無與倫比的上下文語境理解力與音訊跨模態編碼能力。
- 生成解碼機制:引入 DiTAR(Diffusion Transformer Autoregressive) 擴散自回歸架構,在 Patch 級別(Patch-level)上進行語音特徵的高效去噪生成,保證了音頻的高物理保真度。
- 編解碼與特徵提取:使用 RedAE 進行語音表徵提取,其判別器(Discriminator)設計參考了 X-Codec;在說話人特徵(Speaker Embedding)方面,則結合 CAM++ 高效提取參考音訊的聲紋特徵,確保零樣本克隆的極高相似度。
- 前端檢索與識別:整合 fastText 做為可選的本機自動語言識別(LID)工具,並採用 WeTextProcessing(weText) 作為預設的文本正規化(Text Normalization)前端。
三、 業界頂尖的效能評測(SOTA 數據)
在多項國際權威的語音基準測試中,FireRedTTS3 均展現出了傲視同儕的頂尖性能:
1. 零樣本語音克隆基準測試(Seed-TTS-eval)
在 Seed-TTS-eval 測試中,FireRedTTS3-Base 在平均字詞錯誤率(WER)與說話人相似度(SIM)上均名列前茅:
| 模型 (Model) | 英文平均 (Test-EN) WER / SIM | 中文平均 (Test-ZH) CER / SIM | 困難測試 (Test-Hard) CER / SIM | 總平均 (Avg) WER / SIM |
|---|---|---|---|---|
| CosyVoice3-1.5B | 2.22 / 72.0 | 1.12 / 78.1 | 5.83 / 75.8 | 3.06 / 75.3 |
| F5-TTS | 2.00 / 67.0 | 1.53 / 76.0 | 8.67 / 71.3 | 4.10 / 71.4 |
| IndexTTS2 | 2.23 / 70.6 | 1.03 / 76.5 | 7.12 / 75.5 | 3.46 / 74.2 |
| Qwen3-TTS | 1.23 / 71.7 | 1.22 / 77.0 | 6.76 / 74.8 | 3.07 / 74.5 |
| FireRedTTS3-Base | 1.64 / 77.2 | 1.01 / 80.9 | 6.50 / 78.4 | 3.04 / 78.8 |
2. 多語言克隆基準測試(MiniMax-MLS-Test)
在多達 24 種語言的跨語言零樣本克隆測試中,FireRedTTS3 取得了 3.75% 的最低平均字詞/字元錯誤率(Avg WER/CER),以及 84.8% 的最高平均說話人相似度(Avg SIM),超越了 ElevenLabs 與 FishAudio S2 等知名系統:
| 評測維度 | Minimax | ElevenLabs | VoxCPM2 | FishAudio S2 | FireRedTTS3 |
|---|---|---|---|---|---|
| 平均錯誤率 Avg WER/CER (↓) | 3.77% | 10.95% | 6.79% | 4.40% | 3.75% |
| 平均相似度 Avg SIM (↑) | 76.6% | 65.5% | 82.3% | 78.0% | 84.8% |
3. 指令式語音設計評測(Instruct TTS)
由 Gemini-2.5-pro 進行盲測打分,評估指標包含屬性精準度(APS)、多元性(DSD)與表現力(RP):
| 語言 | 指標 (APS | DSD | RP) | Qwen3-TTS-VD | FireRedTTS3-Instruct |
|---|---|---|---|
| 中文 (ZH) | APS | DSD | RP (↑) | 83.7 | 81.7 | 65.8 | 85.8 | 82.0 | 69.7 |
| 英文 (EN) | APS | DSD | RP (↑) | 76.4 | 81.4 | 64.2 | 80.7 | 82.3 | 72.0 |
四、 開發者快速上手指南
專案原始碼與權重已完整開源,開發者可依照以下步驟在本地環境中快速完成配置與部署。
1. 克隆倉庫與環境配置
# 克隆官方儲存庫
git clone https://github.com/FireRedTeam/FireRedTTS3.git
cd FireRedTTS3
# 安裝 Python 依賴包
pip install -r requirements.txt
2. 下載權重文件
建議使用 Hugging Face CLI 快速將模型下載至本地預設目錄:
pip install "huggingface_hub[cli]"
hf download FireRedTeam/FireRedTTS3 --local-dir pretrained_models/
3. 配置文本前端(Text Frontend)與 LLM 正規化
在 Text Normalization (TN) 階段,FireRedTTS3 預設啟用本地端 weTextProcessing 工具(僅支援中/英,其餘語言僅進行基本清洗)。
若要解鎖全語言的精準正規化支持(如日文、俄文等數字與日期的口語轉換),可啟用 LLM-based TN 前端:
- 複製環境設定檔:
cp .env.example .env - 在
.env中填入您自訂的 OpenAI 相容端點與 Key:LLM_TN_API_URL=https://api.deepseek.com/chat/completions LLM_TN_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx LLM_TN_MODEL=deepseek-v4-flash # 亦可使用任何大於 30B 的大型語言模型
若輸入文本語言未知,建議下載 Meta 的 FastText 語言識別模型(lid.176)置於專案指定路徑以啟用自動語言判定:
curl -L -o fireredtts3/utils/llm_tn/models/lid.176.ftz https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.ftz
4. Python API 調用實戰
以下提供同時涵蓋 Base 克隆 與 Instruct 設計/編輯 的極簡調用範例:
import torch
import torchaudio
from fireredtts3.core import FireRedTTS3, FireRedTTS3Instruct
# ==========================================
# 範例 1: 使用 Base 模型進行零樣本方言/語言克隆
# ==========================================
# 初始化 Base 語音合成引擎
tts = FireRedTTS3(
"pretrained_models",
use_wetext=True, # 啟用中英本機正規化
use_llm_tn=False, # 若需全語言 LLM 正規化請設為 True 並配置 .env
)
# 讀取方言/語言參考音訊(建議讀取與目標語言一致的 Prompt 以達到最佳效果)
prompt_audio, prompt_audio_sr = torchaudio.load("prompt_sichuan.wav")
prompt_text = "老子今天高興得很,等哈兒一塊去吃個火鍋嘛。"
target_text = "今天天氣確實好,我們乾脆一塊去公園散個步。"
# 生成具有四川方言特色口音的克隆音訊
gen_audio, gen_audio_sr = tts.generate(
language=None, # 設為 None 會自動調用 FastText 判定語言
prompt_text=prompt_text,
prompt_audio=prompt_audio,
prompt_audio_sr=prompt_audio_sr,
text=target_text,
do_tn=True,
)
torchaudio.save("sichuan_clone.wav", gen_audio.cpu(), gen_audio_sr)
# ==========================================
# 範例 2: 使用 Instruct 模型進行語音設計與編輯
# ==========================================
# 初始化 Instruct 統一語音指令引擎
instruct = FireRedTTS3Instruct(
"pretrained_models",
use_wetext=True,
use_llm_tn=False,
)
# 1) 語音設計 (Voice Design)
# 模型會自動先進行 textual planning (語音屬性規劃),再輸出音訊
instruction_design = "一個年輕女性的溫柔嗓音,語速稍慢,帶一點俏皮。"
text_to_speak = "今天天氣很好,我們一起去公園散步吧。"
gen_audio, gen_audio_sr, gen_plan = instruct.generate_voice_design(
instruction=instruction_design,
text=text_to_speak,
)
torchaudio.save("designed_voice.wav", gen_audio.cpu(), gen_audio_sr)
print("生成的語音屬性規劃書 (Voice plan):", gen_plan)
# 2) 語意編輯 (Semantic Edit)
# 替換輸入音訊中的特定單詞,自動維持說話人聲線與背景環境音
audio_in, audio_in_sr = torchaudio.load("designed_voice.wav")
gen_audio, gen_audio_sr, gen_edited_text = instruct.generate_semantic_edit(
instruction="Replace '公園' with '電影院'.",
audio_in=audio_in,
audio_in_sr=audio_in_sr,
)
torchaudio.save("semantic_edited.wav", gen_audio.cpu(), gen_audio_sr)
# 3) 聲學編輯 (Acoustic Edit)
# 嚴格使用符合訓練模板的英文語速/音調/音量控制指令
gen_audio, gen_audio_sr = instruct.generate_acoustic_edit(
instruction="adjust the speed to 0.5x", # 將語速變更為 0.5 倍速
audio_in=audio_in,
audio_in_sr=audio_in_sr,
)
torchaudio.save("slow_voice.wav", gen_audio.cpu(), gen_audio_sr)
五、 常見技術問答與實務部署建議
Q:在進行跨語言/跨方言克隆時,如何保證口音的地道性? A:FireRedTTS3 的語音表徵極其敏感,生成的音訊會高度繼承參考音訊(Prompt)的說話風格。因此,為了合成最地道的日語,請提供日語的參考音訊;同理,合成四川話時,請務必提供帶有標準四川話口音的參考 Prompt 音檔。
Q:聲學編輯為什麼無法識別我的中文指令(例如「調快語速」)?
A:聲學編輯(Acoustic Edit)在訓練時是綁定特定英文文本結構的,因此不支援任何自由文字(Free-form)或中文指令。必須嚴格遵循 "adjust the speed to X"、"shift the pitch by N step(s)" 或 "adjust the volume to X" 的語法格式,否則模型將無法正確執行物理變更。
Q:多語言與方言克隆功能在商用或日常應用上有何限制? A:安全與合規性是項目的首要原則。開發團隊在項目免責聲明中明確指出,Zero-Shot 語音克隆功能僅限於學術研究與合適的教育場景使用。開發者與使用者嚴禁將此模型用於任何非法、欺詐性或未經授權的聲音仿冒活動。一旦發現任何濫用或欺詐行為,應立即向官方開發團隊進行舉報,開發團隊對任何惡意滥用概不承擔法律責任。



