我想把文字內容轉換成接近人類真實聲音的語音輸出,於是實際玩了 ChatTTS 這個開源的文本轉語音(Text-to-Speech, TTS)專案。它在 GitHub 上迅速獲得大量關注,語音合成效果非常逼真,甚至超越一些商用 TTS 服務。ChatTTS 使用大量語音數據訓練,目前提供的模型能生成語氣、停頓和節奏都極其自然的語音,支援多種語言與音色,並可在本地或雲端(如 Colab)環境運行,也有易於使用的整合包和腳本,方便快速上手。
ChatTTS 是什麼?它比其他開源 TTS 好在哪裡?
ChatTTS 是一個開源的文本轉語音(Text-to-Speech, TTS)專案,目標是把文字轉換為接近人類真實聲音的語音輸出。它使用大量語音數據訓練,生成的語音在語氣、停頓和節奏上都極其自然,支援多種語言與音色合成,甚至超越了一些商用 TTS 服務。
模型的主要優勢有三點:
- 對話式 TTS:ChatTTS 針對對話式任務進行最佳化,能實現自然且富有表現力的合成語音。
- 精細的控制:模型可以預測和控制精細的韻律特徵,包括笑聲、停頓和插入語。
- 更好的韻律:ChatTTS 在韻律方面超越了大多數開源 TTS 模型。
ChatTTS 的官方資源在哪裡?
兩個最常用的入口:
- GitHub 專案地址:2noise/ChatTTS
- 直接可使用的易用版本 ChatTTS_colab:6drf21e/ChatTTS_colab
怎麼在本機安裝並啟動 ChatTTS?
安裝只要三步:Clone Repo、安裝相依套件、啟動 WebUI。
Clone Repo:
```bash
git clone https://github.com/2noise/ChatTTS
cd ChatTTS
```
安裝相關套件:
```bash
pip install --upgrade -r requirements.txt
```
啟動:
```bash
python examples/web/webui.py
```
ChatTTS_colab 整合包怎麼用?
如果不想自己裝環境,ChatTTS_colab 這個整合包真的可以讓人很容易地使用 ChatTTS:從官方 GitHub 的下載連結下載、解壓縮後直接便可以使用,點選運行就會跑出網頁操作介面。

網頁介面長這樣,可以使用「音色抽卡」功能挑選滿意的音色,並下載該語音模型檔案:

Refine Text 功能能做什麼?
另外有 Refine Text 功能,它可以透過大語言模型自動為輸入的文字加上停頓或笑聲;我們也可以自己手動加上,使用特別的標籤 `[uv_break]`(停頓)或 `[uv_laugh]`(笑聲):

怎麼用 ChatTTS 產生多人對話?
也可以透過文本產生多個人的對話,用 `::` 來分隔「角色」和「對話內容」,例如:
```text
旁白::在一個風和日麗的下午,小紅帽準備去森林裡看望他的奶奶
```
接著按下「步驟 1 提取角色」,右邊的角色種子就會根據文本的角色出現在表格當中;接著填入預選好的種子編號以及相關語速、笑聲等設定,就可以將整段對話產生為一個音檔:

此為開啟伺服器的 Python 視窗,可以看到伺服器正在產生影片:

哪裡可以試聽 ChatTTS 產生的音檔?
有整理過的音色評比網站,登入後可直接線上試聽不同的音色:
ChatTTS Speaker 音色評比(ModelScope)

延伸閱讀
- LM Studio 本地部署開源 LLM 完整教學:輕鬆測試和部署大型語言模型:同屬「機器學習」主題,可延伸理解相近問題的判斷方式。
- EchoMimic:人物圖片轉影片的開源模型,安裝與使用教學:同屬「機器學習」主題,可延伸理解相近問題的判斷方式。
- Tesseract OCR 介紹:Google 開源光學文字辨識工具怎麼用:同屬「機器學習」主題,可延伸理解相近問題的判斷方式。
常見問題
ChatTTS 是免費的嗎?
是,ChatTTS 是開源專案,可在 GitHub 上自由取得,也允許在本地或雲端(如 Colab)環境中運行。不過實際使用前仍建議確認官方 repo 的授權條款與使用限制。
不會寫程式也能使用 ChatTTS 嗎?
可以。使用 ChatTTS_colab 整合包,下載、解壓縮後點選運行就會出現網頁操作介面,完全不需要自己安裝 Python 環境或下指令。
ChatTTS 的音色要怎麼挑選?
在網頁介面使用「音色抽卡」功能隨機產生音色,聽到滿意的就記下該音色的種子編號,之後可以用同一個種子重現,也可以下載該語音模型檔案。另外 ModelScope 上有整理過的音色評比網站可先線上試聽。
怎麼讓 ChatTTS 的語音有停頓和笑聲?
有兩種方式:使用 Refine Text 功能讓大語言模型自動為文字加上韻律標記,或是手動在文本中插入特殊標籤 `[uv_break]`(停頓)與 `[uv_laugh]`(笑聲)。
ChatTTS 可以合成多人對話嗎?
可以。在文本中用 `::` 分隔「角色」和「對話內容」,按下「提取角色」後系統會為每個角色分配種子,再設定語速、笑聲等參數,就能把整段對話合成為一個音檔。
參考資料
- ChatTTS GitHub 專案(2noise/ChatTTS)
- ChatTTS_colab 易用整合包(6drf21e/ChatTTS_colab)
- ChatTTS Speaker 音色評比(ModelScope)
最後更新
2026-08-28(原文發布於 2024-07-24,本文保留原始筆記內容並補上 GEO 結構。)
關於作者 {#author}
Claire Chang | 企業 AI 導入與流程轉型顧問。專注於 AI Agent 架構設計、ERP 系統整合與企業 AI 治理。
首次發布:2024-07-24
