ChatTTS是什麼
ChatTTS 是 2Noise 開發的生成式文本轉語音模型,專門用於聊天助手、多人對話以及口語化內容,而非傳統的播報式朗讀。
專案支援中文與英文,可在本地透過 Python、命令列或範例 WebUI 生成語音。英文在專案說明中仍標為實驗性,不能假定與中文達到相同穩定性。
先區分官方項目與同名網站
| 對象 | 運營或維護方 | 當前性質 | 使用判斷 |
|---|---|---|---|
| ChatTTS模型與代碼 | 2Noise | 官方開源研究項目 | 以代碼倉庫和模型卡為事實標準 |
| ChatTTS官方簡頁 | 2Noise | 僅鏈接代碼和模型 | 沒有付費雲生成入口 |
| 同名介紹網站 | NEXGOE LLC | 第三方產品介紹和演示聚合頁 | 不是 2Noise 官方服務 |
| 網頁中的免費演示 | 嵌入社區 Hugging Face Space | 第三方說話人演示 | 數據和可用性由外部服務決定 |
| 同名商店應用 | 其他開發者 | 第三方用戶端 | 不能視為 2Noise 官方應用 |
同名網站連結至官方倉庫,但頁面存在訓練時數相互衝突、仍把已發布模型寫成未來計劃、宣稱多語言 SDK 等未經官方項目證實的內容。實際部署和許可應以 2Noise 目前倉庫與模型卡為準。
模型與訓練數據狀態
| 項目 | 狀態 | 說明 |
|---|---|---|
| 主模型 | 未完整公開 | 使用超過 10 萬小時中英文音頻訓練 |
| 公開模型 | 已發布 | 4 萬小時預訓練模型,沒有監督微調 |
| 主要語言 | 中文與英文 | 英語仍處於實驗性狀態 |
| 訓練數據權利 | 項目不主張所有權 | 資料來自公開渠道,模型僅限學術用途 |
| 安全處理 | 已加入限制措施 | 訓練中加入少量高頻噪聲,並壓縮公開音頻品質以降低濫用風險 |
公開模型並非 10 萬小時主模型的完整版本,也不是經過面向最終用戶精調的商業語音引擎。網站所宣傳的訓練規模與音質,無法取代對公開權重所進行的實際測試。
主要功能
對話式語音合成
- 輸入中文、英文或一定程度的中英混合文本,模型生成更接近日常對話節奏的語音。
- 適合用於 LLM 助手、對話原型、研究演示以及多輪互動,以產生連續音頻。
- 輸出可透過 24000Hz 的採樣率儲存為 WAV,倉庫命令列範例也會產生 MP3 檔案。
- 它負責將文字轉換成聲音,不負責理解業務問題、檢索知識或生成對話文本。
多說話人與隨機音色
- 模型支援多說話人,開發者可以採樣隨機 speaker embedding 以獲得不同音色。
- 保存採樣得到的說話人嵌入後,可在後續推理中嘗試重複使用相近音色。
- 隨機說話人並非透過上傳樣本來進行身份複製,目前公開的倉庫並未將零樣本聲音克隆列為已完成的機能。
- 同名網站宣傳的聲音克隆入口指向其他產品,不能作為 ChatTTS 官方模型能力。
笑聲、停頓與口語化控制
- 句子級提示可調 oral、laugh 和 break 強度,用於控制口語程度、笑聲傾向與停頓長度。
- 詞級控制目前主要包括 laugh、uv_break 和 lbreak,可在指定位置插入笑聲或不同停頓。
- temperature、top_P 和 top_K 用於調整採樣的隨機性,參數變化會影響音色、韻律和穩定性。
- 更多情緒控制仍在路線圖中,目前公開模型無法穩定依任意情緒標籤生成。
批量推理與本地工具
- Python 接口可一次提交多段文字並返回音頻陣列,適合離線批量生成測試素材。
- 倉庫提供命令列入口,可直接把一段或多段文字保存為本地音頻。
- 示例 WebUI 便於在瀏覽器中測試本地模型,但它只是用於開發的示範版本,並非具備帳戶、隊列和 SLA 的正式生產平台。
- 官方倉庫還提供 Colab 範例,雲端運行會受到會話時長、GPU 配額和外部儲存規則的影響。
輸入、參數與輸出
| 環節 | 輸入 | 輸出 | 作用 |
|---|---|---|---|
| 基礎推理 | 中文或英文文本 | 音頻陣列 | 把臺詞轉成語音 |
| 說話人控制 | 隨機或保存的 speaker embedding | 特定音色傾向 | 保持角色音色一致性 |
| 句子級韻律 | oral、laugh、break 提示 | 口語感、笑聲和停頓變化 | 改善對話表現 |
| 詞級韻律 | laugh、uv_break、lbreak 標記 | 指定位置的笑聲或停頓 | 精細編排台詞 |
| 採樣控制 | temperature、top_P、top_K | 不同隨機性與音質表現 | 在多次結果中選擇 |
| 文件保存 | 音頻陣列與採樣率 | WAV 或範例 MP3 | 剪輯、評測和播放 |
本地安裝與使用教學
- 準備 Python 3.11 環境;需要 GPU 時先確認顯卡驅動、CUDA、PyTorch 與可用顯存相互相容。
- 從 2Noise 官方倉庫克隆代碼,或安裝 PyPI 中的 ChatTTS 套件;不要從同名下載站獲取不明可執行檔案。
- 在獨立虛擬環境安裝專案依賴,首次運行前檢查依賴版本和已知安全問題。
- 初始化 ChatTTS.Chat 物件,呼叫目前的 load 方法來載入模型;舊教學中的 load_models 可能已經過時。
- 先用短句運行 infer,確認模型下載、推理設備和 24000Hz 音頻保存流程正常。
- 需要固定角色時採樣並保存 speaker embedding,再用相同嵌入測試多段台詞的一致性。
- 使用句子級或詞級控制標記調整口語、笑聲和停頓,每次只改變少量參數並保留對比樣本。
- 批量任務加入文本清洗、最大長度、失敗重試和人工试听,避免異常輸入造成顯存耗盡或低品質音頻。
- 對外展示前標記合成語音並檢查許可、人物權利和內容風險;商業項目不得使用當前非商業模型權重。
硬體與性能
| 項目 | 官方倉庫給出的參考 | 實際影響 |
|---|---|---|
| 30秒音頻顯存 | 至少約 4GB GPU顯存 | 更長文本、批量和並發會增加需求 |
| RTX 4090速度 | 約每秒 7 個語義 token | 依賴版本、參數與輸入,不能外推到所有顯卡 |
| 實時因子 | 約 0.3 | 生成時間約為音頻時長的三成,屬於特定測試條件 |
| CPU運行 | 代碼可嘗試本地推理 | 速度通常較慢,項目未給統一 CPU 基準 |
| TransformerEngine | 不建議安裝 | 適配仍在開發,目前可能無法正常運行 |
| FlashAttention-2 | 不建議作為加速方案 | 項目記錄顯示可能反而降低生成速度 |
官方性能數字僅用於估算開發環境,無法保證生產環境下的處理效率。正式服務應根據目標文本的長度、同時處理的請求數量、說話人數以及硬體條件來進行壓力測試。
能力邊界與已知限制
- 自回歸模型可能出現說話人漂移、音質不穩定、異常停頓或同一句多次結果差異較大。
- 專案建議多次採樣以選擇較佳結果,這意味著它不適合在未經審核的情況下進行即時關鍵播報。
- 英語仍屬實驗性支持,複雜专名、縮寫、數字、混合語言和長句可能需要預處理。
- 固定 speaker embedding 只能提高音色一致性,不能證明身份、年齡、性別或情感屬性準確。
- 目前公開的模型沒有完整零樣本聲音克隆、任意情緒控制及正式流式生成承諾。
- 合成語音不保證無高頻雜訊、無偽影或適合廣播級製作,後期降噪也可能改變音色。
路線圖功能
| 功能 | 當前狀態 | 使用判斷 |
|---|---|---|
| 流式音頻生成 | 路線圖 | 不能按已上線能力設計即時產品 |
| DVAE編碼器開源 | 路線圖 | 等待正式代碼與許可證 |
| 零樣本推理 | 路線圖 | 當前不應宣傳為聲音克隆 |
| 多情緒控制 | 路線圖 | 當前控制範圍有限 |
| ChatTTS.cpp | 路線圖與社區倡議 | 未作為官方穩定跨平台版本交付 |
| 檢測模型 | 計劃開放 | 目前沒有可依賴的公開檢測服務 |
價格與使用成本
2Noise並未為ChatTTS提供官方的付費雲端服務方案,其代碼與研究模型可自行下載。此處所說的「免費」,是指無需向該專案購買訂閱服務,並不代表不需要承擔硬體、雲端GPU、儲存空間、電力以及維護成本等開支。
| 套餐或版本 | 價格 | 計費週期 | 核心權益或額度 | 適合用戶 |
|---|---|---|---|---|
| 官方代碼 | 0 元獲取 | 無訂閱 | AGPLv3+ 代碼、Python 與範例工具 | 研究者和開發者 |
| 公開模型 | 0 元獲取 | 無訂閱 | 4 萬小時預訓練權重,僅限教育研究和非商業用途 | 學術實驗 |
| 本地或雲端算力 | 按自有硬件或雲平台收費 | 設備投入或按使用量 | 推理、儲存和頻寬 | 需要批量運行的團隊 |
| 同名網頁演示 | 頁面標為免費 | 第三方服務 | 嵌入社區 Space,額度和可用性未承諾 | 低敏感度快速試聽 |
| 商業授權 | 未提供公開價格 | 不受適用 | 當前公開模型明確禁止商業用途 | 不能用於商業部署 |
同名網站並未公開 ChatTTS 的訂閱或結算頁面,亦無法代表 2Noise 提供商業授權。任何收費的鏡像、託管 API 或用戶端,都應另行核驗開發者、模型許可及資料政策。
API、SDK與部署方式
| 方式 | 當前狀態 | 說明 |
|---|---|---|
| Python套件 | 官方提供 | 主要程式化呼叫方式 |
| 命令列 | 官方範例 | 輸入文本並保存本地音頻 |
| 本地WebUI | 官方範例 | 適合測試,不是生產託管服務 |
| API範例 | 倉庫包含範例目錄和 notebook | 需要自行部署和維護 |
| 2Noise公共雲API | 暫未提供 | 沒有公開金鑰申請、價格、限流和 SLA |
| 多語言官方SDK | 暫未提供 | 第三方網站的籠統宣稱沒有官方項目證據 |
- 自行把 ChatTTS 暴露為網路 API 時,需要處理隊列、超時、顯存隔離、輸入過濾、身分認證和濫用監測。
- 官方倉庫中的 OpenAI API notebook 是部署或兼容示例,不表示 2Noise 運營公共接口。
- 社區 WebUI、API 封裝和鏡像並非官方產品,版本、許可證和安全品質各不相同。
開源許可證與商用限制
| 組件 | 許可證 | 核心限制 |
|---|---|---|
| ChatTTS代碼 | AGPLv3+ | 修改、發行和透過網路提供服務時需評估完整開源義務 |
| 公開模型 | CC BY-NC 4.0 | 需要署名,僅限非商業用途 |
| 訓練數據 | 項目不主張所有權 | 公開獲取不代表沒有第三方權利 |
| 生成音頻 | 未單獨給出完整商業授權 | 不能繞過模型的非商業限制 |
- 「代碼開源」不等於模型權重可商用,兩個許可證必須分別遵守。
- 模型卡明確寫明用於教育與研究之目的,不應將其生成的音頻用於商業廣告、付費產品、客戶服務或營利性內容。
- AGPLv3+ 對網路服務和修改版本有特定義務,準備公開部署的組織應讓合規人員審查實際架構。
- 如果業務需要商業語音,應選擇許可證明確允許商業用途的模型,或取得權利方書面授權。
隱私、安全與濫用風險
在本地部署時,輸入的文字及生成的音頻都會保存在用戶自己的裝置或伺服器上,這相較於透過第三方雲端服務來處理時,具有更佳的隱私保護效果。由於 2Noise 並不運營任何公開的生成平台,因此該軟體也沒有為用戶帳號、線上生成內容或雲端儲存相關的隱私政策。
- 模型檔案通常需要從外部模型託管平台下載,部署環境仍會產生網路請求、緩存和依賴安裝記錄。
- 同名網頁演示會把互動交給嵌入的第三方 Space,敏感文本不應在沒有核驗其政策時提交。
- 第三方 App Store 應用、社群 API 和鏡像由各自開發者處理數據,不能套用 2Noise 本地項目的判斷。
- 生成接近真人的語音可能被用於冒充、詐騙和誤導,應獲取聲音與台詞授權並清楚標識合成內容。
- 項目加入高頻雜音並計劃開放檢測模型,但這無法保證每段音頻都可檢測、帶水印或無法被濫用。
- 對外 API 應限制請求長度、併發數量及危險內容,記錄必要的審計資訊,同時避免保存無關的個人資料。
適合用戶與典型場景
- 語音研究人員:評估對話式 TTS、多說話人與韻律控制。
- Python開發者:搭建本地非商業原型或研究工具。
- 高校與實驗室:在許可證範圍內開展中文和英文語音實驗。
- LLM應用研究員:為對話助手原型生成口語化回覆並測試互動。
- 音頻技術學習者:研究採樣參數、說話人嵌入和音頻保存流程。
- 不適合商業產品、廣告、付費內容及未經授權的聲音模仿。
優勢與限制
| 方面 | 實際判斷 |
|---|---|
| 對話表現 | 強調口語、笑聲、停頓和多說話人,比純朗讀模型更適合聊天實驗 |
| 開發方式 | Python、命令行、WebUI 和範例較齊全,可完全本地運行 |
| 語言 | 中文和英文可用,但英語仍為實驗性 |
| 穩定性 | 自回歸生成可能漂移,需要多次採樣和人工试听 |
| 實時與克隆 | 流式、零樣本和更多情緒仍在路線圖,不能當作目前功能 |
| 商業使用 | 公開模型明確非商業,是實際應用的關鍵邊界 |
| 網頁體驗 | 同名網站和演示方便了解概念,但並非官方託管服務且資訊有衝突 |
總結
ChatTTS 適合用於研究對話式語音、多說話人以及細粒度的韻律控制,其官方倉庫提供了從 Python 推理到本地 WebUI 的完整入門路徑。
使用時必須將 2Noise 官方專案、NEXGOE LLC 同名網站、社區 Space 與第三方應用分開。目前的權重僅允許用於教育研究及非商業用途,商業專案、聲音克隆宣傳以及敏感文本的線上生成都需要格外謹慎。
桂公網安備45132202000164號