AI

ChatTTS:專為自然對話設計的開源對話式文字轉語音模型

ChatTTS 是一個開源文字轉語音模型,專為對話式語音最佳化,提供細粒度的韻律控制,支援英文和中文。

ChatTTS:專為自然對話設計的開源對話式文字轉語音模型

文字轉語音技術在近年來取得了巨大進步,但合成語音與人類對話的自然節奏之間仍然存在著持續的差距。大多數 TTS 模型能產出清晰乾淨的語音,但聽起來明顯是人造的——發音完美,卻缺乏讓對話感覺真實的停頓、氣息聲、笑聲和音調變化。ChatTTS 直接針對這個差距,提供一個從頭開始為對話式語音而非旁白或公告而設計的開源模型。

由 2noise 團隊開發,ChatTTS 因其能夠產生聽起來真正像人類的語音而在開源社群中迅速獲得關注。該模型在超過 30,000 小時的對話音訊資料上進行訓練,刻意優先考慮自然的對話模式,而非大多數商業 TTS 資料集所偏好的原始錄音品質。其結果是一個會笑、會停頓、會逐漸消失,並以感覺非常自然的方式變化音高和節奏的模型。

該模型的架構建立在現代的基於 transformer 的神經編解碼器語言模型之上,理念上類似於 Bark 和 VALL-E 等模型,但專門針對網路上使用最廣泛的兩種語言——英文和中文——進行了最佳化。它在單一句子中混合使用英文和中文的能力,使其對於從語言學習到國際客服等雙語應用特別有價值。


ChatTTS 與其他 TTS 模型有何不同?

根本差異在於訓練資料的理念和韻律建模。大多數 TTS 系統是在有聲書錄音或專業旁白資料集上訓練的:乾淨、節奏良好且刻意清晰地發音。這些在朗讀時效果極佳,但在對話情境中聽起來不自然。

ChatTTS 在對話資料上訓練——真實的人類對話,包含所有的不完美、重疊、猶豫和富有表現力的變化。模型學會了重現這些模式,包括副語言元素,如笑聲、可聽見的呼吸聲和填充詞(「嗯」、「啊」),這些對於聽起來自然的對話至關重要,但通常會被 TTS 訓練語料庫過濾掉。

TTS 模型訓練資料韻律控制語言自然度評分VRAM
ChatTTS30,000+ 小時對話細粒度符號英文、中文非常高4 GB
Bark (Suno)標記音訊粗略(說話者提示)多語言10+ GB
VALL-E (Microsoft)60,000 小時說話者適應英文非常高8+ GB
Piper TTS多樣化有限(速度/音高)多語言中等1-2 GB
Edge / Azure TTS專業錄音室SSML 標記100+ 語言雲端 API

ChatTTS 的韻律控制實際上如何運作?

ChatTTS 提供了開源 TTS 中最細粒度的韻律控制系統之一。韻律標記不需要複雜的 SSML 標記或後處理,而是直接作為特殊符號嵌入在文字中:

符號效果使用範例
[laugh]輕笑「那太好笑了 [laugh] 我真不敢相信」
[uv_break]清音呼吸/停頓「嗯 [uv_break] 讓我想想」
[v_break]濁音猶豫「我不太確定 [v_break] 也許明天?」
[lbreak]長停頓以強調「答案是 [lbreak] 四十二」
詞內冒號延長母音「我非: 常抱歉聽到這個」

這種基於符號的方法意味著開發人員可以編寫具有特定情感和節奏品質的對話,而不需要單獨的韻律預測模型。這些符號的功能類似於劇本中的舞台指示——它們告訴模型如何表演臺詞,而不僅僅是說什麼詞。


ChatTTS 有哪些實際應用?

ChatTTS 以對話為重點,解鎖了傳統 TTS 力不從心的使用案例:

語音助手和聊天機器人受益最直接。客服機器人讀稿式回應聽起來機械化;使用 ChatTTS 則可以插入自然的猶豫、確認甚至同理的語調。語言學習應用程式可以使用 ChatTTS 產生逼真的雙語對話範例,具有真實的節奏。對話量大的有聲書旁白,當角色以自然的對話模式說話時會更具吸引力。內容創作——包括 YouTube 旁白、播客片段和社交媒體配音——可以從不像合成語音的語音中獲得製作價值。

應用傳統 TTSChatTTS重要性
客服 IVR明顯合成近乎人類對話更高的客戶滿意度
語言學習應用僵硬發音自然對話流暢度更好的聽力理解
遊戲 NPC 對話預錄或機械化動態、富有表現力的語音降低製作成本
無障礙工具功能正常但平淡引人入勝、多變的表達改善使用者體驗
內容創作需要大量編輯更少的後製更快的製作週期

ChatTTS 的資源需求如何?

ChatTTS 設計用於實際部署。該模型在 GPU 推理時約需 4 GB VRAM,這個適中的佔用空間可以在大多數消費級 GPU 上執行。CPU 推理是可行的,但速度約慢 10-20 倍。

推理模式硬體速度(每秒音訊)
CUDA GPUNVIDIA RTX 3060+~0.3-0.5 倍即時
CUDA GPUNVIDIA RTX 4090~2-3 倍即時
Metal GPUApple M2/M3~0.8-1.5 倍即時
僅 CPU現代多核心~5-10 倍即時

該模型的 GitHub 儲存庫提供了簡單的 Python API。基本的推理腳本只需不到 20 行程式碼,讓非語音合成專家的開發人員也能輕鬆上手。


關於 ChatTTS 的常見問題


如何開始使用 ChatTTS

對於熟悉 Python 和 PyTorch 的人來說,在本地設定 ChatTTS 非常簡單:

  1. github.com/2noise/ChatTTS 克隆儲存庫
  2. 安裝依賴項:pip install ChatTTS torch torchaudio
  3. 執行基本推理腳本:
import ChatTTS
import torchaudio

chat = ChatTTS.Chat()
chat.load_models()

texts = ["你好 [uv_break] 這是 ChatTTS 的測試 [laugh]"]
wavs = chat.infer(texts, use_decoder=True)
torchaudio.save("output.wav", wavs[0], 24000)

模型權重在首次載入時自動下載。完整的管線——從文字到可播放的 WAV 檔案——在支援 CUDA 的 GPU 上只需不到一分鐘即可執行。


ChatTTS 的授權考量

ChatTTS 採用雙重授權方法。預設的開源授權是 AGPLv3,要求任何包含該模型權重的軟體在散佈時也必須使用相容的開源授權。對於非商業研究和個人專案,可以使用 CC BY-NC 4.0 授權,只要不用於商業目的即可免費使用。

正在建立商業應用程式的開發人員應仔細查閱儲存庫中的授權檔案,並考慮 AGPLv3 條款是否與其散佈模式相容。該儲存庫還包含一份用於商業授權查詢的單獨協議。


延伸閱讀

TAG