本地 CPU 友好型 TTS(文字轉語音)— Kokoro

本地 CPU 友好型 TTS(文字轉語音)— Kokoro

Kokoro 讓高品質本地語音合成在 CPU 上成為可能

Kokoro 是一個僅有 8200 萬參數的緊湊型文字轉語音(TTS)模型,能產生英語、中文(普通話)與印地語的自然語音。其主要價值在於能在本機 CPU 上本地產出高保真音訊,免除昂貴的 NVIDIA GPU,並透過全部在本機處理來確保資料隱私。

各種 CPU 架構的效能基準

Kokoro 在廣泛的硬體上都展現出高效率,甚至包括較舊的系統。合成一段約 30 字的測試段落所需時間會因 CPU 而異:

  • AMD Ryzen 7 8745HS: 1.5 秒
  • Apple M2 Pro: 4.5 秒
  • Intel Core i7-4770K: 4.7 秒

一顆已有 12 年歷史的 CPU(i7-4770K)就能在五秒內產生自然語音,突顯此模型對硬體資源受限使用者的友好性。

部署與 API 整合

透過 Kokoro-FastAPI 快速設置

部署 Kokoro 最簡單的方式是使用 Kokoro-FastAPI 容器映像,該映像將語音模型打包成約 5 GB 的映像檔。可使用 Docker 或 Podman 以以下指令啟動:

podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu

啟動後,容器會在 localhost:8880/web 提供一個 Web UI,供即時測試使用。

與 OpenAI API 相容

Kokoro-FastAPI 提供與 OpenAI 語音 API 相容的 TTS 介面,開發者只需將 TTS_API_BASE_URL 設為本機伺服器(例如 http://127.0.0.1:8880/v1),並透過 TTS_VOICE 環境變數指定語音,即可將既有的 OpenAI 基礎 TTS 實作換成本地的 Kokoro。模型提供約 50 種不同語音,主要針對英語進行最佳化。

實際應用與社群見解

社群成員已將 Kokoro 整合至各種生產與業餘工作流程,揭示了小參數模型的優勢與限制:

  • 可及性與發音: 使用者成功將 Kokoro 用於輔助工具,並指出可透過手動 IPA(國際音標)發音指南解決同形異義詞的發音錯誤。
  • 邊緣部署: 模型已被移植至 iPhone 的 Apple Neural Engine(ANE)以提升電池效率與散熱,同時也支援 Jetson Orin 套件,用於長時間串流。
  • 內容消費: 使用者打造了自訂文章閱讀器,將網頁內容轉為 RSS,透過 Podcast 應用程式收聽。
  • 網頁整合: 已開發 Chrome 擴充功能,於任意網頁同時提供文字高亮與語音合成。

已知限制

部分使用者回報 Kokoro 在處理極短輸入(單字或兩字)時會出現異常聲音(例如說出 "ah-six-ah" 而非 "six")。官方提供的解決方法是將目標單字嵌入較長的句子中,然後利用 Kokoro API 回傳的時間戳記,裁切出所需的單字音訊。

結合 TTS 與 STT 的替代方案

若使用者同時需要文字轉語音(TTS)與語音轉文字(STT),Speaches 是一個可行的替代方案。雖然 Speaches 需要透過其 API 手動下載語音權重,而非隨映像一起打包,但它內建 OpenAI 的 Whisper 系統,提供高品質的轉錄功能,從而實現雙向語音互動的統一解決方案。

Sources