TTS 語音合成供應商總覽
為什麼 TTS 會改變你研究西洋棋的方式
Section titled “為什麼 TTS 會改變你研究西洋棋的方式”當你在複盤一場有註解的棋局時,你的眼睛必須同時負擔兩件事。你試著追蹤棋盤上的棋子位置,同時閱讀旁邊的評論。你的目光在棋盤與註解面板之間來回跳動,每次切換視線時,你都會短暫失去對局面的掌握。你必須重新找到棋子、重新追溯變化、重新在腦中建構整個畫面。
文字轉語音完全解決了這個問題。
啟用 TTS 後,你逐步瀏覽棋局,註解會朗讀給你聽。你的視線可以一直停留在棋盤上。你看著騎士落在 f3,同時有聲音告訴你為什麼這是一步強力的展開著法。你看到兵型變化,同時評論解釋背後的戰略構想。棋盤與解說同步到來,就像一位教練坐在你對面親自指導一樣。
這在以下情境中特別有效:
- 開局研究 —— 在觀看局面發展的同時,聆聽每步棋背後的理念
- 對局複盤 —— 逐步回顧你自己的註解棋局,自然地吸收教訓
- 殘局練習 —— 將注意力集中在關鍵格子上,同時讓評論引導你
- 語言沉浸 —— 用法語、德語、西班牙語、俄語、日語、中文或韓語學習西洋棋,所有棋術用語都會正確翻譯。聽到的是「Cavalier f3, echec」而非「Knight f3, check」。用你思考的語言來學棋。
- 無障礙使用 —— 適合聽覺學習優於閱讀的棋手,或想在離開書桌時繼續學習的人
一旦你試過,再回到無聲的註解就像看一部靜音的電影。
En Parlant~ 內建五種 TTS 供應商,從具有錄音室品質語音的雲端 API,到完全不需要網路的本機方案都有。你只需要選擇一種就能開始使用。以下按語音品質由高到低排列。
ElevenLabs
Section titled “ElevenLabs”目前可用的最佳語音品質。ElevenLabs 能產生富有表現力、擬真如人的語音,帶有真實的個性 —— 有些聲音聽起來像有聲書旁白,有些像播報員。有數十種獨特聲音可供選擇。支援 34 種以上語言,包括優秀的 CJK(日語、中文、韓語)發音,以及阿拉伯語、印地語和所有主要歐洲語言。
免費方案每月提供 10,000 個字元(大約足夠 2-5 盤有註解的棋局)。付費方案起價為每月 $5,提供 30,000 個字元。設定很簡單:建立帳號、複製你的 API 金鑰、貼到 En Parlant~ 中。
需要網路連線。最適合追求語音品質的愛好者。
Google Cloud TTS
Section titled “Google Cloud TTS”品質、語言支援與性價比的最佳平衡。Google 的 WaveNet 神經網路語音在 30 種以上語言中都聽起來自然清晰 —— 包括 CJK、阿拉伯語、印地語、孟加拉語、菲律賓語、越南語,以及所有主要歐洲語言。免費額度非常慷慨 —— 每月一百萬個字元,足以涵蓋數百盤有註解的棋局。
設定大約需要 5 分鐘:建立 Google Cloud 帳號、啟用 Text-to-Speech API、產生 API 金鑰。除非超出免費額度(以西洋棋註解的用量來說非常難),否則不會產生任何費用。
需要網路連線。最適合大多數使用者。
KittenTTS
Section titled “KittenTTS”完全在你的電腦上執行的高品質本機 AI。使用輕量的 ~25MB 神經網路模型,提供 8 種富有表現力的聲音(4 男 4 女)。品質出奇地好 —— 自然的語調、清晰的發音、真實的表現力。
代價是硬體需求:KittenTTS 使用 PyTorch 進行 CPU 推論,因此需要現代多核心處理器。在 8 核心的機器上效果很好;在較舊的筆記型電腦上可能會感到延遲。目前僅支援英語。
每段註解第一次朗讀時會有短暫的生成延遲(快速 CPU 約 1-2 秒,較慢的硬體則更久)。之後音訊會快取在記憶體中,重播時即時回放 —— 在已聽過的著法之間前後切換完全沒有延遲。你也可以從設定中在背景預先快取整盤棋局,這樣在開始學習之前每段註解都已經準備好了。
不需要網路連線。不需要 API 金鑰。最佳本機品質。
OpenTTS
Section titled “OpenTTS”一個透過 Docker 在你的電腦上執行的開源 TTS 伺服器。所有資料都不會離開你的電腦。內建多個 TTS 引擎(Larynx、Festival、eSpeak、Coqui-TTS),光是英語就提供 75 種以上的聲音。
代價是語音品質:這些是較舊的神經網路和規則式引擎,因此輸出聽起來比 ElevenLabs 或 Google 更機械化。最適合歐洲語言(英語、德語、法語、西班牙語、俄語、荷蘭語、瑞典語、義大利語等)—— 不支援 CJK。老實說,如果你願意花時間設定本機模型,KittenTTS 能以更少的麻煩提供更好的品質。除非有大量使用者對 OpenTTS 有需求,否則我們可能會在未來的版本中將其棄用。
不需要網路連線。不需要 API 金鑰。最適合重視隱私且需要多種語音選項的使用者。
System TTS
Section titled “System TTS”你的作業系統內建的語音合成功能。不需要安裝任何東西、不需要 API 金鑰、不需要伺服器。選擇它就能直接使用。語音品質較基本 —— 你會聽到作業系統級別 TTS 特有的機械音調 —— 但它可以在零設定的情況下立即運作。
在 Linux 上通常是 eSpeak 或 speech-dispatcher;在 macOS 上是系統語音;在 Windows 上是 SAPI。語言支援完全取決於你的作業系統安裝了哪些語音套件。
不需要網路連線。最適合快速測試。
| 供應商 | 類型 | 品質 | 設定方式 | 語言支援 |
|---|---|---|---|---|
| ElevenLabs | 雲端 API | 卓越 | API 金鑰 | 34+ 種(含 CJK) |
| Google Cloud | 雲端 API | 非常好(WaveNet) | API 金鑰 | 30+ 種(含 CJK) |
| KittenTTS | 本機神經網路 AI | 良好 | Python + venv | 僅英語 |
| OpenTTS | 本機 Docker | 尚可 | Docker | 僅歐洲語言 |
| System(作業系統原生) | 作業系統內建 | 基本 | 無需設定 | 視作業系統而定 |
硬體注意事項: 本機供應商(KittenTTS 和 OpenTTS)在你的 CPU 上執行神經網路推論。它們需要現代多核心處理器(建議 8 核心以上)才能在沒有明顯延遲的情況下生成語音。可以把它想像成在你的電腦上多跑一個西洋棋引擎。如果你的電腦較舊或效能較低,請改用雲端供應商。
如果你想要最豐富的語音品質,請從 ElevenLabs 開始 —— 免費方案足以讓你試用。如果想要品質與免費用量的最佳平衡,Google Cloud 每月可涵蓋數百盤棋局。如果想要不依賴雲端的高品質本機 TTS,且你有現代 CPU,KittenTTS 是極佳選擇。如果想要零設定的快速測試,System TTS 可以立即使用。如果想要最大程度的隱私保護加上多種語音選項,OpenTTS 透過 Docker 在本機執行所有功能。
所有 TTS 設定都在 設定 > 聲音 中:
| 設定項目 | 功能說明 |
|---|---|
| Text-to-Speech | 所有 TTS 功能的主開關 |
| Auto-Narrate on Move | 當你逐步瀏覽著法時,自動朗讀註解 |
| TTS Provider | 在五種供應商之間切換 |
| TTS Voice | 供應商專屬的語音選擇 |
| TTS Language | 朗讀語言 —— 棋術用語會自動翻譯 |
| TTS Volume | 朗讀音量 |
| TTS Speed | 播放速度(0.5x 到 2x)—— 調整時無需重新生成音訊 |
| ElevenLabs API Key | 你的 ElevenLabs API 金鑰(僅在使用 ElevenLabs 時顯示) |
| Google Cloud API Key | 你的 Google Cloud API 金鑰(僅在使用 Google 時顯示) |
| KittenTTS CPU Threads | 推論使用的 CPU 執行緒數(0 = 自動 / 使用所有核心) |
| TTS Audio Cache | 清除快取音訊以強制重新生成 |
TTS 朗讀支援眾多語言,並提供完整翻譯的西洋棋詞彙。以下是一些範例:
| 語言 | 西洋棋範例 |
|---|---|
| English | Knight f3, check. A strong developing move. |
| Francais | Cavalier f3, echec. Un coup de developpement fort. |
| Espanol | Caballo f3, jaque. Un fuerte movimiento. |
| Deutsch | Springer f3, Schach. Ein starker Entwicklungszug. |
| 日本語 | ナイト f3、チェック。強い展開の手。 |
| Русский | Конь f3, шах. Сильный развивающий ход. |
| 中文 | 马 f3,将军。一步控制中心的强力出子。 |
| 한국어 | 나이트 f3, 체크. 중앙을 지배하는 강력한 전개 수. |
每一個棋術用語 —— 棋子名稱、「將軍」、「將殺」、「王車易位」、「吃」、著法品質註解如「妙手」和「大錯」—— 都會以所選語言朗讀。你 PGN 檔案中的評論會按照原文朗讀,因此請用你想要聽到的語言來撰寫棋局註解。
西洋棋感知的文字前處理
Section titled “西洋棋感知的文字前處理”TTS 引擎不只是照念原始文字 —— 它能理解西洋棋記譜法。在任何文字被朗讀之前,前處理步驟會將 PGN 記譜法轉換為自然語音:
| PGN 中的寫法 | 朗讀結果 |
|---|---|
Nf3 | ”Knight f3” |
Bxe6+ | ”Bishop takes e6, check” |
O-O-O | ”castles queenside” |
e8=Q# | ”e8 promotes to Queen, checkmate” |
Rae1 | ”Rook a e1”(消歧義) |
5.Qxd8+(在評論中) | “5, Queen takes d8, check” |
en prise | ”on preez”(法語發音) |
Ra8 is hanging | ”Rook on a8 is hanging” |
R vs R | ”Rook versus Rook” |
6...Bf5(著法編號點號) | “6, Bishop f5”(自然停頓,不念「dot」) |
評論在朗讀前會經過清理:[%eval]、[%cal]、[%csl] 標籤會被移除。與 NAG 符號重複的開頭品質詞會被刪除(因此 ?? {BLUNDER. The rook hangs} 不會口吃地說出「Blunder. Blunder.」)。
每段朗讀在首次生成後都會快取在記憶體中。在棋局中前後切換著法時,會立即從快取回放 —— 無需 API 呼叫,無需重新生成延遲。你也可以在背景中預先快取整棵棋局樹,這樣播放時完全不會有停頓。
快取的鍵值為 provider:voiceId:lang:text,因此更換語音或供應商會建立獨立的快取項目。更改播放速度不會使快取失效 —— 速度調整是在客戶端的音訊元素上進行的。
設定中的 Clear Audio Cache 按鈕可讓你在編輯註解後強制重新生成。
最佳體驗建議
Section titled “最佳體驗建議”-
使用自動朗讀。 開啟「Auto-Narrate on Move」,然後只需用方向鍵逐步瀏覽棋局。評論會在你移動時自然到來,就像有一位教練在你肩旁指導。
-
為你自己的對局加註解。 當你聆聽的是你自己棋局的評論時,TTS 的威力真正展現。為你的棋局加上註解,然後搭配朗讀逐步回顧。在盯著局面的同時聽到「吃那個兵看起來很誘人,但你整個王翼還在沉睡」,這種感受和閱讀完全不同。
-
嘗試不同的速度。 有些棋手喜歡 1x 速度仔細研究,有些則偏好 1.3x 進行快速複習。速度滑桿即時調整播放速度,不會額外消耗 API 字元數。
-
使用喇叭圖示。 著法列表中的每條評論旁都有一個小喇叭圖示。點擊它即可聆聽該條註解。
-
切換語言來學習西洋棋詞彙。 如果你正在用第二語言學習西洋棋,將 TTS 語言設為相應語言。你會自然而然地學會像「Cavalier」(騎士)、「echec」(將軍)和「mat」(將殺)這樣的術語,只需聆聽即可。
撰寫適合 TTS 的註解
Section titled “撰寫適合 TTS 的註解”這些指南能讓你的 PGN 註解產生最佳的語音朗讀效果。
評論中的 SAN 記譜
Section titled “評論中的 SAN 記譜”使用標準 SAN 記譜法。前處理器會自動展開:
"After 7.Nf3, White controls e5"會變成 “After 7, Knight f3, White controls e5”"The Bg5 pins the knight"會變成 “The Bishop g5 pins the knight”
NAG 符號(!、??、!? 等)會自動生成口語化的品質詞。不要在評論中重複它們:
- 不好:
?? {BLUNDER. A terrible move...}—— TTS 會說 “Blunder. Blunder. A terrible move” - 正確:
?? {A terrible move...}—— TTS 會說 “Blunder. A terrible move”
著法編號點號
Section titled “著法編號點號”標準 PGN 記譜法即可:6...Bf5。前處理器會將點號轉換為逗號以產生自然停頓,而非念出「dot dot dot」。
使用句號控制節奏
Section titled “使用句號控制節奏”句號會讓 TTS 產生自然停頓。在不同概念之間使用句號:
{Doubled isolated e-pawns. The f-file is ripped open. The position is strategically won.}[%cal ...] 和 [%csl ...] 標籤會自動從音訊中移除。你可以自由使用它們做視覺註解,不會影響朗讀。
關於重新發佈的說明,供在 En Parlant~ 基礎上進行開發的人參考:
- ElevenLabs —— 你保留對生成音訊的所有權利(ElevenLabs Terms of Use,第 c(ii) 節)。你可以自由重新發佈。
- Google Cloud —— 你保留對生成音訊的所有智慧財產權。無限制。
- KittenTTS、OpenTTS、System TTS —— 對生成音訊無重新發佈限制。
En Croissant 是一個由 Francisco Salgueiro 建立的開源西洋棋學習工具。Francisco 打造了一個真正特別的東西 —— 一個免費、強大、由社群驅動的西洋棋學習平台 —— 並以 GPL-3.0 授權發佈,讓任何人都可以使用、改進和分享。這個 TTS 功能之所以存在,正是因為他的慷慨奉獻。我們感謝他所建立的基礎,也為能夠回饋貢獻而感到自豪。
TTS 外掛由 Red Shed 的 Darrell 開發,並獲得 Claude Code 的協助。五種供應商、多語言支援、跨語言翻譯的西洋棋詞彙、本機 AI 推論、依賴套件管理 —— 從原始碼建構、手動測試、用心貢獻。
這就是開源的美妙之處。有人打造了出色的東西。另一個人在此基礎上增添功能。每個人都從中受益。
我們很樂意聽到 TTS 對你的使用體驗如何。歡迎隨時提供意見、建議和回饋。
- 想要我們尚未支援的語言? 讓我們知道 —— 我們可以快速新增語言。
- 發現了錯誤? 告訴我們,我們會盡快修復。
- 有其他 TTS 供應商的想法? 我們很樂意加入。
- 只是想說功能運作正常? 這也很棒,我們很高興聽到。
在 GitHub 上開一個 issue,或直接聯繫 darrell@redshed.ai。