世界を動かす技術を、日本語で。

ローカルでCPUに優しく、高品質なTTS(テキスト読み上げ)「Kokoro」

2026年7月8日原文(ariya.io)

概要

  • Kokoro による高品質なローカルTTS(テキスト読み上げ)技術の進化
  • プライバシーを損なわず にリアルな音声生成が可能
  • CPUのみ で多言語・多声種の音声合成を実現
  • Docker/PODMAN で簡単にサーバー構築が可能
  • OpenAI API互換 で既存アプリへの統合も容易

ローカルTTS技術の進化とKokoroの特徴

  • 数年前には想像できなかった リアルなローカル音声合成 の実現
  • Kokoroモデル は82Mパラメータながら多言語対応の高品質音声生成
    • 英語、 中国語(Mandarin)、ヒンディー語(Hindi)などに対応
    • 50種類の声 を提供、英語最適化
  • プライバシー重視 :すべてローカルで処理され、個人情報流出のリスクなし

Kokoroのセットアップ方法

  • Kokoro-FastAPI という事前構築済みコンテナイメージを利用
    • 事前に音声モデルを内包し、サイズは約5GB
  • Docker または Podman で簡単起動
    • コマンド例: podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu
  • Web UI (localhost:8880/web)で手軽にテキスト→音声変換を体験可能

API互換性とサンプルコード

  • OpenAI Speech API互換 のTTSインターフェースを提供
    • 既存のOpenAI対応アプリも簡単に切り替え可能
  • GitHubリポジトリ (github.com/remotebrowser/speak)にJavaScript/Pythonサンプルあり
    • JavaScript例: export TTS_API_BASE_URL=http://127.0.0.1:8880/v1 ./speak.js "Good morning! How are you today?"
    • Python例も同様
  • 音声ファイルは MP3形式で保存、SoXがあれば自動再生も可能
  • TTS_VOICE環境変数 で声の種類を選択可能

性能・ベンチマーク

  • am_eric ボイスでの短文合成速度(ベスト3回の平均)
    • Intel Core i7-4770K(12年前のCPU):4.7秒
    • Apple M2 Pro:4.5秒
    • AMD Ryzen 7 8745HS:1.5秒
  • 古いCPUでも十分なパフォーマンスを発揮

代替TTSサービス:Speaches

  • Speaches(speaches.ai) :OpenAI互換のTTSサービス
    • 音声モデルはAPI経由で別途ダウンロードが必要
    • Whisper (高品質STT)も統合
  • TTSとSTTの両方 が必要な場合はSpeachesが有力な選択肢

ローカルLLMとTTSの連携

  • ローカルLLMと連携することで、 テキストの読み上げ体験 が可能
  • 視覚的な負担軽減 やアクセシビリティ向上に貢献

まとめ

  • Kokoro はローカル環境での高品質TTSの新たな選択肢
  • プライバシー保護高い汎用性 を両立
  • 簡単な導入豊富な機能 で、開発者・ユーザー双方にメリット

Hackerたちの意見

今、Kokoroを使って面白いサイドプロジェクトのブラウザゲームを作ってるんだ。これが85MB(wasmバージョン)か300MB(webgpuバージョン)ってだけで、めっちゃ良いよ。

楽しい…これは本当に大事なことなんだ。以前はwhisperxのバージョンを持ってたんだけど、単なる文字起こしだけじゃなくて、タイミングや話者の識別(例えば字幕用)も重要だと思ってる。だけど、pyannoteに依存してるから、ちょっと変なライセンスがあって、インストールのスクリプトも難しいんだよね。だから、もっと良い文字起こしができて、ダイアライゼーション(話者とタイミング)もサポートしてるものを探してた。文字起こしにはparakeet、ダイアライゼーションにはsoftformerを選んだんだけど、利用可能なエンジンのほとんどはsoftformerを含んでない。そこで、softformerをサポートするparakeet-rs用のOpenAI互換サーバーを作ったんだ(https://github.com/altunenes/parakeet-rs)。それをOpenWhispr(いろんな便利なことを処理するデスクトップアプリ)と一緒に使ってる。今はCPUだけで文字起こししてるけど(GPUは他のことに使ってるから、GPUパスを追加するのはまだなんだ)、ローカルで自由に文字起こしできるのはすごく力強いよ。

これはTTSだよ。STTじゃない。君がやってることには、Senkoがparakeetと一緒にダイアライゼーションにすごく合ってる。MacBookでのPyannoteやwhisperよりも速くて正確だしね。

すごい!やっとiPhoneのANEに移植できたよ!これで、自然なローカルTTSと、バッテリーの消耗も4分の1、熱も抑えられる。

笑、俺もiPhone用のANEを作り終えたばかりだよ。お互いのノートを比べてみたいな。

Kokoroをアクセシビリティ製品にかなり使ってきたよ。これを使うのが大好きなんだ(特に、同じくらいの品質のTTSが多くNVidia GPUを必要とする中で、私は持ってないから)。IPAの発音ガイドを手動で追加できるのが特にありがたい。重要な単語が同形異義語の場合、Kokoroが間違った発音をすることがあったんだ。ちょっと残念なのは、一言二言だけを言わせるとき。例えば「six」って言わせると、ほぼいつも「ah-six-ah」って言っちゃう。でも、解決策を見つけたよ。長い文を言わせると(例えば「The word is: six」)、ちゃんと言ってくれる。KokoroのAPIは文中の各単語のタイムスタンプを教えてくれるから、Pythonスクリプトで気に入った単語だけを切り取ることができる。イントネーションはちょっと平坦だけど、信頼性は高い。これについてDiscordで聞いたら、小さいパラメータサイズの制限だって言われた。でもKokoroに対して公平に言うと、eleven-labsの声も時々同じ問題があるよ。

いいテクニックだね、シェアしてくれてありがとう!

AIで遊んで、Kokoroの高価なレイヤーを削除するのに一日かけたんだ。スマホやCPU、MNNで動かしたら、3倍速くなったよ。品質もかなり近い。君の環境によって変わるけど、これが私のスクリプトだよ: https://github.com/DavidVentura/translator-rs/blob/master/sc...

数ヶ月前に、どんなウェブページでもこれを実行するChrome拡張を作ったんだ。読み上げている文を同時にハイライトする機能もあるよ。コンテナを立ち上げるステップや、ウェブサイトの内容をコピー&ペーストするステップをスキップできる。Kokoroをエルゴノミクスに使おうとしている人には役立つかも。 https://chromewebstore.google.com/detail/local-reader-ai-on-...

このモデル大好き。GPUが貧弱で、ローカルモデルで遊んでないことにFOMO感じてたんだ。約1ヶ月前に、GTX1650でKokoroをセットアップして、記事リーダー用のTTSをやってる。シンプルなWebUIでURLやコピーしたテキストをペーストできる。Pythonがそれを整えて、KokoroにTTSを送って、Apple Podcasts用にRSSで配信してる。朝のドライブ中に集めた記事やブログ投稿をキャッチアップするんだ。いつか、別々の声で遊んで、集めたニュースアイテムのラジオの朝のショーみたいなNotebookLMを作ってみたいな。

ちょっと素朴な質問なんだけど、前に特定の音声ファイルをダウンロードして、他のRVC TTSプロジェクトで使おうと思ったんだけど、CPUだけじゃ動かせなくて、結局欲しかった音声だけ残したんだ。で、その音声が.pth形式なんだけど、Kokoroのhuggingfaceページでは、彼らの音声は全部.ptなんだよね。この音声をKokoroで使えるかな?無理なら、変換する方法ってあるのかな?誰かがこの特定の音声を.pt形式で作ってるか探してみることもできるけど、AIにあまり詳しくないから、どう探せばいいかわからないんだ。

超クールだね!!俺は1月から自分のソリューションを使ってるよ。Linux使ってるから、AquaやWhipsrflowとか使えなくて、自分で作ったんだ。最近整理して、インストールしやすくしたよ。興味がある人はここでチェックしてみてね:https://github.com/Hugo0/voiceio これは時間とともに自己改善していくし、ローカルマシンで動くし、全体的に decent なソフトだよ。今はPCとのやり取りの60%が音声入力になってる。

Hacker Newsで議論の続きを見る