
2026/07/08 3:24
Kokoro を活用したローカル動作・CPU対応で高品質な TTS(テキスト対話)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
2026 年 3 月 31 日にリリースされた Kokoro-82M は、わずか 8200 万パラメータだけで英語・中国語・ヒンディー語の極めてリアルな声を生成する特段に軽量な Text-to-Speech モデルです。CPU 上で完結するように設計されており、高価な GPU の依存を回避できます(GPU はローカルの LLL推論用に留保されます)。同モデルは AMD Ryzen チップを搭載した標準的なプロセッサ、Intel Core i7 システム、Apple M シリーズ CPU にもデプロイ可能です。ベンチマーク結果では、各種ハードウェア上で合成時間が 5 秒以内となっています:Intel Core i7-4770K で約 4.7 秒、Apple M2 Pro で 4.5 秒、短かい段落では AMD Ryzen 7 8745HS で低至くとも 1.5 秒です。
最も簡単なデプロイ方法では、プリダウンロード済みの音声モデルを含む Kokoro-FastAPI コンテナイメージ(約 5 GB)を使用します。ユーザーは
podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu コマンドで Podman を使用してサービスを開始し、localhost:8880/web でウェブ UI にアクセスすることで、オーディオを直接生成・再生できます。コンテナは OpenAI 互換の音声 API を公開しており、JavaScript(./speak.js)および Python(./speak.py)スクリプトなどの実装例があります。音声モデルは環境変数 TTS_VOICE を使用して選択でき(全リストは HuggingFace で確認可能)、出力は MP3 ファイルとして保存され、SoX がインストールされている場合は自動再生も可能です。
音声認識と Text-to-Speech の両方が必要なアプリケーション向けには、オプションの Speaches コンテナ化サービスが Whisper とシームレスに統合され、また OpenAI API 互換性もサポートしています。リソース要求を低く抑えつつ、簡潔なデプロイオプションを提供することで、Kokoro-82M は自然で多言語の音声合成を開発者のワークフローや広範なアプリケーションに統合するためのハードルを大幅に低下させます。
本文
ローカル環境での高品質 TTS:Kokoro と Speaches の使い方
2026 年 3 月 31 日現在、ローカル環境で高品質な音声生成を実現することが可能です。これまでにない画質を維持しつつも、重要な点としてユーザーのプライバシーを損なわない仕組みになっています。
🎙️ 概要とモデル情報
- 使用プラットフォーム: 動画で紹介のマシンでは GPU が LLM 推論に専念しているため、音声合成自体はCPUで完全駆動しています(専用 GPU を搭載)。
- 採用モデル: Kokoro
- パラメータ数:8200 万(82M)と軽量。
- 対応言語:英語、中国語(マンダリン)、ヒンディー語など複数言語に対応。
- 特徴:特に英語向けに最適化された約 50 の異なるボイスを提供。
🐳 Kokoro-FastAPI で起動する
最もシンプルな構築方法は、プリメイドのコンテナイメージを使うことです。サイズは約 5 GB とやや大きいですが、音声モデルも含まれています。
Docker / Podman での起動コマンド
podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu
Web UI での確認
正常に動作しているか迅速に確認するには、以下のアドレスを開いてください:
localhost:8880/web- サンプルテキストから音声を生成・自動再生可能です。
🔌 OpenAI Speech API との互換性
コンテナにはシンプルな Web UI に加え、OpenAI Speech API と互換のある TTS インターフェースも備わっています。これにより、既存のプログラムを簡単に適応させられます。
テスト用のサンプルコードは GitHub に公開されています:
- リポジトリ: remotebrowser/speak
- クローンして、手際よくデモを追うことができます(JavaScript / Python 両言語対応)。
💻 コマンドラインでの使い方の例
生成された音声は MP3 ファイルとして保存されます。マシンに
SoX がインストールされている場合、自動再生も可能です。
1. デフォルトのボイスで发声
export TTS_API_BASE_URL=http://127.0.0.1:8880/v1 ./speak.js "Good morning! How are you today?"
2. 特定のボイスを変更する
環境変数
TTS_VOICE を設定することで、使用するボイスを切り替われます:
export TTS_API_BASE_URL=http://127.0.0.1:8880/v1 export TTS_VOICE="am_eric" ./speak.js "Good morning! How are you today?"
3. 利用可能なボイスの確認公式リストは以下のページで確認できます:
⚡ 音声合成速度のベンチマーク
短いテスト文(「ジュピターは太陽系で最大かつ最も質量の大きな惑星です…大赤斑…」など)を使用し、
am_eric ボイスでの生成時間を測定しました。
※3 回の試行のうち最良の結果
| CPU 環境 | 生成時間 | 備考 |
|---|---|---|
| Intel Core i7-4770K | 4.7 秒 | 2014 年発売の古くても動作可能 |
| Apple M2 Pro | 4.5 秒 | 最新モバイルチップ相当 |
| AMD Ryzen 7 8745HS | 1.5 秒 | ハイエンドモバイルプロセッサ |
- 結論: 非常に古くなった CPU でも問題なく動作するため、この TTS システムの汎用性と強力さが証明されています。
🔊 代替案:Speaches の検討事項
OpenAI と互換のある別のコンテナ化サービスとして、Speaches (speaches.ai) も検討価値があります。
- 主な違い:
- Kokoro-FastAPI と異なり、音声モデルの重み(voice weights)は API を通じて明示的にダウンロードする必要があります(コンテナ内にはバンドルされません)。
- メリット:
- OpenAI 製の音声認識システムであるWhisperも同時に利用可能。
- アプリケーションに TTS(音声合成)と STT(音声認識)の両方が必要な場合、ワンストップソリューションとして最適です。
✅ まとめ
ローカル環境で LLM と組み合わせることで、LLM の回答を文字で読む代わりに**「聴く」**形で楽しむことができます。プライバシーを守りながら、高品質な対話型 AI 体験を自宅で構築しましょう。