高品質かつ軽量なTTSモデル「Kokoro」をWeb APIとして利用するための完全セットアップガイド
Kokoro-FastAPIは、高品質かつ軽量なTTS(音声合成)モデル「Kokoro」を、使いやすいWeb
APIとして提供するプロジェクトです。
単にテキストを読み上げるだけでなく、Markdownライクな記法を用いることで、発音やリズムを細かく制御できる点が大きな特徴です。
特に以下の制御タグを利用することで、人間らしい自然な発話や、正確な専門用語の読み上げを実現できます。
[単語](/発音記号/) の形式で、IPA(国際音声記号)を用いた厳密な発音指定が可能です。[pause:秒数] タグを挿入することで、任意の長さの無音区間を作れます。制御タグを含んだテキスト例:
The gNodeB utilized [MIMO](/maɪmoʊ/) techniques to achieve high throughput for enhanced mobile broadband services. [pause:0.5s] A 5G network allows operators to optimize a [CORESET](/ˈkɔːɹˌsɛt/) configuration based on available bandwidth and traffic loads.
このAPIは n8n などのノーコードツールやAIエージェントと組み合わせることで真価を発揮します。
例えば、AI Agentノードで以下のような処理を自動化し、高度な音声生成パイプラインを構築可能です。
このガイドでは、軽量で高品質な日本語対応TTS(Text-to-Speech)モデル「Kokoro」を、Web APIとして利用できる「Kokoro-FastAPI」をWindows 11環境で動かす手順を解説します。
Windows 11 Homeなどの標準環境には、Linuxを動かすためのツールが含まれていません。まずは以下の手順で土台を整えてください。
WSL2やDockerを動かすために必須です。
Windows上でLinuxを動かす仕組みです。
wsl --install
NVIDIA製GPU(GeForceなど)を使用して高速化したい場合のみ必要です。
コンテナ(アプリの実行環境)を管理するツールです。
ソースコードをダウンロードするために必要です。
ご自身の目的に合わせて、以下のどちらかを選んでください。
| 特徴 | Option 1: 既製イメージを使用(推奨) | Option 2: ソースからビルド |
|---|---|---|
| 難易度 | ★☆☆(簡単) | ★★☆(少し手間) |
| こんな人に | とりあえず使ってみたい、手軽に済ませたい人。 | コードを改造したい、開発者向け。 |
| 手順 | コマンド1発で起動します。 | Gitでダウンロードし、自分のPCで構築します。 |
| データの永続化 | コンテナを消すとモデルデータも消えます(再DLが必要)。 | 設定ファイルでデータを保持しやすい構成です。 |
一番手軽な方法です。コマンドプロンプトまたはPowerShellで実行します。
【CPUのみで動かす場合】
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
【NVIDIA GPUを使う場合】
docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest
http://localhost:8880 にアクセスしてください。
新しい機能が追加された場合、以下の手順で最新版に更新します。
# CPUの場合
docker pull ghcr.io/remsky/kokoro-fastapi-cpu:latest
# GPUの場合
docker pull ghcr.io/remsky/kokoro-fastapi-gpu:latest
docker run コマンドを実行すれば、自動的に新しいバージョンで起動します。Gitを使ってコードを手元に持ってくる方法です。
git clone https://github.com/remsky/Kokoro-FastAPI.git
cd Kokoro-FastAPI
cd docker/cpucd docker/gpu以下のコマンドでビルドと起動を行います。
docker compose up --build
http://localhost:8880 にアクセス可能です。docker compose up -d と入力します。git pull origin main
docker/cpu または docker/gpu フォルダに移動し、以下を実行します。docker compose up --build
--build を付けることで、最新のコード内容でコンテナが作り直されます。
http://localhost:8880/docs にアクセスすると、Swagger UIが表示されます。ここで「Try it
out」ボタンを使って、実際に音声を生成するテストが可能です。
nvidia-smi コマンドをWSL上のUbuntuで実行し、GPUが認識されているか確認してください。Port already allocated というエラーが出たら、他のアプリがポート8880を使っていないか確認するか、コマンドの
-p 8880:8880 の左側の数字(例: -p 9000:8880)を変更してください。
n8nからKokoro-FastAPIを呼び出す場合の設定例です。
Docker環境同士で通信する場合、URLのホスト名は host.docker.internal を使用することが一般的です。
http://host.docker.internal:8880/v1/audio/speech
(※ポート番号8880は、本ガイドの手順に基づいています。設定を変更している場合は適宜読み替えてください)
{
"model": "kokoro",
"input": "{{ $json.output }}",
"voice": "af_heart",
"response_format": "mp3",
"download_format": "mp3",
"speed": 1,
"stream": true,
"return_download_link": false,
"lang_code": "a",
"volume_multiplier": 1,
"normalization_options": {
"normalize": true,
"unit_normalization": false,
"url_normalization": true,
"email_normalization": true,
"optional_pluralization_normalization": true,
"phone_normalization": true,
"replace_remaining_symbols": true
}
}