Kokoro 最近真係周圍都見到 — 佢衝上咗 Hacker News 熱榜、亦喺開源文字轉語音排行榜名列前茅,而創作者不停問:一個可以喺純 CPU 上跑嘅 8,200 萬參數模型,真係可以取代要付費嘅 voice API 嗎?所以我哋就裝咗佢、喺手提電腦上跑一次,並生成咗下面你可以播放嘅樣本。呢篇係一次實測拆解:Kokoro 係乜、實際聽起來有幾好、兩個最浪費時間嘅安裝陷阱,以及幾時用託管工具會更合理。來源:github.com/hexgrad/kokoro(Apache-2.0)。
Kokoro 係乜?邊個整嘅?
Kokoro 係一個開放權重嘅文字轉語音模型,由 hexgrad 以 Kokoro-82M 發佈。賣點就寫喺個名度:8,200 萬參數 — 以 2026 嘅標準嚟講算係好細,小到可以喺手機上跑 — 但仍然可以輸出自然、有表情嘅旁白。佢源自 StyleTTS 2 系列,並以寬鬆嘅 Apache-2.0 授權釋出,所以真係可以免費用於商業用途。
截至 2026-07-11,主要 repo hexgrad/kokoro 大約有 7,900 個 GitHub stars。我哋用咗社群嘅 ONNX runtime 版本 thewh1teagle/kokoro-onnx(約 2,600 stars,MIT)去跑,呢個係最簡單喺 CPU 上運行、又唔使裝 PyTorch 嘅方法。
我哋打開實際權重檔案一睇,數到內置 54 種音色,涵蓋 9 個語言同口音組別 — 美式同英式英文、西班牙文、法文、印地文、意大利文、日文、巴西葡萄牙文,以及普通話中文。當中美式英文嘅音色明顯最成熟。
我哋真係跑咗(Apple M3 Pro,只用 CPU)
唔用 GPU、唔用雲端 — 只係一部配備 M3 Pro 同 18 GB RAM 嘅 MacBook Pro。以下係老老實實嘅實測過程。
安裝同權重
Python 套件幾秒就裝好:pip install kokoro-onnx soundfile。但呢度有第一個陷阱 — pip 套件只包咗程式碼,唔包模型。你要喺 kokoro-onnx 嘅 GitHub releases 頁面手動下載兩個檔案:kokoro-v1.0.onnx(310 MB)同 voices-v1.0.bin(27 MB)。quickstart 冇講清楚,所以第一次跑會因為缺檔而報錯,直到你拎返權重先得。
espeak-ng 路徑 bug(真係浪費我哋時間嗰個)
Kokoro 會用 espeak-ng 將文字轉成音素(phonemes)。第一次合成我哋就撞到:
Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directory見到 /Users/runner/work/ 呢條路徑就知咩事:pip 嘅 espeakng-loader wheel 內置咗一個喺 CI 編譯嘅 libespeak-ng,入面硬編碼咗一條你部機根本唔存在嘅 data path。最崩潰嘅位係:就算你設咗 ESPEAK_DATA_PATH 環境變數都冇用,因為 kokoro-onnx 根本唔會讀佢 — 佢直接用咗 bundled loader 入面嘅路徑。
我哋成功嘅解法:安裝真正嘅系統版 espeak-ng,然後喺 Kokoro 嘅 EspeakConfig 入面明確指向佢:
brew install espeak-ng # macOS; apt install espeak-ng on Linux
from kokoro_onnx import Kokoro, EspeakConfig
cfg = EspeakConfig(
lib_path="/opt/homebrew/lib/libespeak-ng.dylib",
data_path="/opt/homebrew/share/espeak-ng-data",
)
k = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin", espeak_config=cfg)搞掂之後,生成就順晒。如果你都試過同呢個 phontab: No such file 錯誤死鬥,呢個就係解法。
速度(實測,已預熱)
只用 CPU 嘅情況下,模型大約1.7 秒載入,合成速度亦明顯快過實時播放。一段 22 秒嘅旁白段落,用3.5 秒就渲染完 — real-time factor 約 0.16×,即係大約快過播放 6 倍。短句通常 1 至 2 秒就返嚟。以咁細嘅模型、喺手提電腦上跑到呢個吞吐量,真係可以用嚟做 production。以下係嗰段旁白渲染嘅實際波形圖:

我哋生成嘅樣本(無剪輯)
下面每段 clip 都係我哋用上面講嘅 M3 Pro CPU 跑 Kokoro 直接生成 — 原始模型輸出,冇清理、冇後期。你自己播嚟聽,自己判斷質素。
由 VisionStory 透過 kokoro-onnx 使用 Kokoro-82M 生成,2026-07-11。留意一個好明顯嘅提示:呢段係乾淨嘅音軌 — 但佢只係聲音。冇面、冇口型、冇畫面入面嘅主持人。呢個缺口,就係下一節要講嘅重點。
坦白評測:優點同真實限制
真正令我哋驚喜嘅地方:
- 每 byte 嘅質素好誇張。 以 8,200 萬參數嚟講,美式英文音色自然又有表情 — 夠接近付費 TTS,大部分人聽短片都未必會覺得有問題。
- 真係可以喺 CPU 上跑,而且快。 手提電腦冇 GPU 都可以做到 6 倍實時,呢個係佢嘅招牌賣點,而且名副其實。
- 真・免費,而且商用友好。 Apache-2.0,冇按字數收費。要大量旁白輸出嘅話,呢個成本結構好難輸。
佢嘅短板 — 而且都係真問題:
- 冇聲音複製。 你只可以用 54 個固定預設音色。你唔可以複製自己把聲或者客戶把聲 — 如果呢個係你嘅需求,Kokoro 就幫唔到。
- 英文質素依賴 espeak-ng,即係上面講嘅封裝 bug 之外,亦會偶爾讀錯人名、品牌名或者縮寫。
- 長文要手動分段。 每次呼叫都有音素長度上限,所以長講稿要你自己切段,再將音訊拼返埋。
- 非英文音色有啲撞彩 — 變化明顯大過主力嘅美式英文集合。
- 輸出只係一個純 WAV。 冇逐字時間戳、冇 visemes — 開箱即用係冇嘢可以直接驅動口型同步。
- 佢只係聲音。 冇面、冇影片。想要一個會講嘢嘅主持人,你一定要將 Kokoro 同另外一套 lip-sync 或 avatar 系統配合,仲要自己處理時間對位。
自建 Kokoro vs 託管工具:應該點揀?
Kokoro 同託管嘅 avatar 工具,其實係解決問題嘅兩個半邊。Kokoro 給你一個音色;而 VisionStory 呢類工具就畀你一個會講嘢嘅主持人 — 一次過輸出聲音、面孔同口型同步。以下係老實嘅取捨對比。
| Kokoro(自建) | VisionStory(託管) | |
|---|---|---|
| 成本 | 免費(用自己硬件) | 訂閱/點數 |
| 安裝 | pip + 330 MB 權重 + espeak-ng 修正 | 唔需要 — 直接喺瀏覽器運行 |
| 你得到嘅嘢 | 只有音軌(WAV) | 說話虛擬人影片(聲音 + 面孔 + 口型同步) |
| 聲音複製 | 冇 — 54 個預設 | 有 — 複製你自己把聲 |
| 每段速度 | CPU 約 ~0.16× 實時(幾秒) | 幾秒,託管 — 唔使本機運算 |
| 商業用途 | 可以(Apache-2.0) | 可以(視乎計劃) |
| 維護 | 你要自己處理 espeak、依賴、分段拼接 | 唔需要 |
| 最適合 | 你只需要免費音軌,亦識寫 code | 你要快速整好成品說話影片 |
揀 Kokoro,如果你只係需要免費旁白、你用 Python 無壓力,並且會自己另外處理面孔同口型同步(又或者你根本唔需要面)。揀託管工具,如果你需要個主持人一邊講一邊對口型、或者你需要複製某個指定人士嘅聲音 — Kokoro 兩樣都做唔到。
Kokoro 教咗我哋咩
跑完 Kokoro 最大嘅感想係:音色正在商品化。一個喺手提電腦上跑到嘅 82 MB 模型,而家已經可以免費生成足夠應付真實工作嘅旁白。如果你產品唯一賣點係「我哋做到文字轉語音」,呢條護城河已經冇咗。
真正困難、仲未完全解決嘅部份,係聲音之後嘅一切:點樣將一條音軌變成可信嘅說話面孔 — 精準口型同步、表情、頭部動作、同整體 timing 全部要對得上。呢個就正正係我哋做緊嘅層。即係話,我哋嘅結論唔係「唔好用 Kokoro」— 佢確實係一個好嘅音色引擎;而係「淨係有聲音,只係一半嘅影片」。如果你想要另外一半,VisionStory 可以一步將相片同講稿變成口型同步嘅 說話主持人,而如果你需要對到某個指定音色,亦可以 複製佢。
