AIREITER

Kokoro 82M TTS:ローカルCPU検証、音声、コスト

最終更新日: 2026-09-28 01:28:54

文章を有料APIに毎回送ることなく、自然なナレーションを生成したい。そんな用途で、まず試す候補としてかなり現実的なのがKokoro 82M TTSです。ただし、「82MだからElevenLabsの完全な代替になる」と考えるのは早計です。Kokoroが得意なのは、プリセット音声による素直なナレーションとローカルでのバッチ処理。音声クローニングやドラマチックな表現、運用を任せられる安定性を重視するなら、別の選択肢に分があります。

結論を先に

Kokoro-82Mは、パラメータ数8200万のオープンウェイト音声合成モデルです。Hugging Faceの現行モデルカードによると、v1.0は2025年1月27日リリースで、8言語・54音声に対応し、ウェイトはApache 2.0で公開されています。詳しくは公式モデルカードを参照してください。公式の推論ライブラリはhexgrad/kokoroです。

プライベートまたはオフラインでナレーションを生成したい、プリセット音声で問題ない、そして処理量が多くAPI料金を無視できない――この条件ならKokoroが向いています。音声クローニングやマネージドな制作環境、表現力のある商用ナレーションが必要ならElevenLabs。多言語対応とクローニングを小さなモデルサイズより優先するなら、Qwen3-TTSを選ぶのがよいでしょう。

ローカル環境の構築で、実際に必要なもの

公式サンプルでは、Python、kokoro、soundfile、PyTorch、espeak-ngを使います。パイプラインが返す音声のサンプリングレートは24 kHzです。Linuxでの基本的なインストールは次のとおりです。

pip install -q "kokoro>=0.9.4" soundfile
sudo apt-get install espeak-ng

英語で最小限のサンプルを動かすなら、以下のコードで試せます。

from kokoro import KPipeline
import soundfile as sf

pipeline = KPipeline(lang_code="a")
text = "Kokoro is a small local text to speech model."

for index, (_, _, audio) in enumerate(
    pipeline(text, voice="af_heart", speed=1)
):
    sf.write(f"kokoro-{index}.wav", audio, 24000)

リポジトリには、アメリカ英語、イギリス英語、スペイン語、フランス語、ヒンディー語、イタリア語、日本語、ブラジルポルトガル語、標準中国語の言語コードが記載されています。日本語と標準中国語では、対応するMisakiの追加パッケージが必要です。指定する言語コードと音声は一致していなければなりません。

Windowsはワンコマンドで完了する構成ではありません。プロジェクトのREADMEでは、espeak-ngのMSIリリースを使うよう案内されています。Apple Siliconでは、PYTORCH_ENABLE_MPS_FALLBACK=1を指定してPyTorch MPSを試せます。初回起動でつまずくかどうかは、モデルのパラメータ数よりも、こうした周辺環境に左右されます。

CPU・GPUの速度をどう測るか

CPU推論には対応していますが、公式モデルカードと公式ライブラリのどちらにも、すべての環境に当てはまるリアルタイム係数は示されていません。速度は実行環境、プロセッサ、言語、テキストの分割方法、そして初回にモデルを読み込むかどうかで変わります。

コミュニティの計測結果を見ると、広い範囲に一般化した速度 claims が危険な理由が分かります。詳細な比較の中で、@analogalokは報告を行っており、あるGPU環境では約21秒分の音声を約0.7秒で生成し、VRAM使用量はおよそ0.9 GBでした。これは低メモリのGPUでも動かせることを示す有用なデータですが、すべてのノートPCで同じ結果が出るという意味ではありません。

「CPUでも無理なく動かせますし、生成された音声もとても聴きやすいです」— @rasmus1610、X

自分の環境で試すときは、次の3つを分けて計測してください。

  1. プロセス開始から最初の音声セグメントが出るまでの時間。
  2. モデルと音声を読み込み済みの状態で、次の生成にかかる時間。
  3. 音声の長さを、読み込み済み状態での生成時間で割ったリアルタイム係数。

バッチでナレーションを作るなら、スループットを左右するのは3つ目の数値です。一方、対話型アシスタントでは、最初の音声が出るまでの遅延やストリーミング動作のほうが重要になります。GPUでの結果をCPUの性能として紹介したり、10秒のサンプルだけで「本番スループット」と呼んだりしないようにしましょう。

音声と対応言語、導入前に知っておきたい制約

v1.0のモデルカードでは、8言語・54音声に対応しています。これは、1言語・10音声だったv0.19から大きく拡張されたものです。ライブラリで案内されている言語コードは次のとおりです。

コード言語
aアメリカ英語
bイギリス英語
eスペイン語
fフランス語
hヒンディー語
iイタリア語
j日本語
pブラジルポルトガル語
z標準中国語

Kokoroはプリセット音声を使うモデルで、参照音声から話者の声を複製するシステムではありません。また、書記素から音素へ変換するMisakiの処理系と、espeak-ngのフォールバック経路に依存しています。人名、略語、数字、複数言語が混ざる文章は、長い音声を書き出す前に必ず確認しておきましょう。

モデルのライセンスがApache 2.0である点は、商用導入を考えるうえで魅力的です。ただし、「モデルがApache 2.0だから、すべての利用条件が解決する」と考えてはいけません。音声サンプル、データセット、サードパーティ製依存パッケージについても、モデルカード、音声ファイル、依存関係のライセンスをリリース前のチェックリストに含めてください。

Kokoro・ElevenLabs・Qwen3-TTSの違い

3つのシステムを聴き比べるなら、同じテキスト、同じ音声の要件、同じ正規化、同じ出力レベル、同じ評価者グループを用意しなければ意味がありません。この記事では、管理されたブラインド試聴による勝者を主張しません。公式のKokoro資料にも、そのようなテスト結果は掲載されていないためです。ここでは、より確実に比較できるワークフロー上の違いを見ていきます。

比較項目Kokoro-82MElevenLabsQwen3-TTS
導入形態ローカル/オープンウェイトホスト型APIとスタジオローカル/オープンモデル群
モデルのライセンス/公開形態Apache 2.0ウェイトプロバイダーの利用規約公式モデルカードではApache 2.0
プリセット音声あり大規模なホスト型音声ライブラリCustomVoiceなど複数のバリエーション
音声クローニングなし対応プラン/機能で利用可能Baseバリエーションが参照音声のクローニングに対応
言語v1.0では8言語が記載モデルによって異なる。公式API料金もモデルごとに異なる10言語が記載
向いている用途プライベートなバッチナレーション管理された表現力のある制作環境多言語またはクローニングの実験
主なコストハードウェアまたはホスト型推論文字数/クレジット課金ハードウェアまたはホスティング

ElevenLabsの公式API料金ページでは、現在、Flash/Turboが1,000文字あたり約$0.05、v2 Multilingualとv3が1,000文字あたり$0.10と案内されています。詳しくはAPI料金ページを参照してください。Qwen3-TTSの公式モデルカードには、中国語、英語、日本語、韓国語、ドイツ語、フランス語、ロシア語、ポルトガル語、スペイン語、イタリア語の10言語と、クローニング向けのバリエーションが記載されています。詳しくはQwen3-TTSのモデルカードを参照してください。

ここから導ける実用的な結論は、「Kokoroのほうが音質に優れる」ということではありません。Kokoroなら継続的なAPI依存を減らし、テキストを手元のマシンから外に出さずに済みます。一方、ElevenLabsは手軽さを、Qwen3-TTSはより幅広い多言語対応とクローニング機能を提供します。ただし、ローカルで動かす場合のモデルサイズは大きくなります。

バッチナレーションのコストをどう見積もるか

ローカルで動かすKokoroには、文字数に応じたモデル利用料はありません。限界費用として発生するのは、電気代、ストレージ、そして推論を実行するマシンまたはクラウドインスタンスの費用です。すでにマシンを所有しているなら、ソフトウェアの追加費用は実質ゼロです。GPUやCPUを借りる場合は、プロバイダーの時間単価に実際の生成時間を掛けて計算します。

APIとの比較では、Kokoroのモデルカードに2025年4月時点のホスト型サービスの例として、入力100万文字あたり1ドル未満の料金が記録されています。Replicateは$0.65、DeepInfraは$0.80でした。ただし、これは当時の参考値であり、現在の料金を保証するものではありません。同じ文字数を処理した場合、ElevenLabsの公式料金からは次のように計算できます。

処理量Kokoroのローカルモデル料金ElevenLabs Flash/TurboElevenLabs v2 Multilingual/v3
100,000文字ローカルでは$0*$5$10
1,000,000文字ローカルでは$0*$50$100
10,000,000文字ローカルでは$0*$500$1,000

\*電気代、ハードウェア、ホスティング、エンジニアリングの作業時間は含みません。ElevenLabsの数値は、1,000文字あたり$0.05/$0.10という公式料金を使い、プラン割引、クレジット、税金、超過利用のルールは考慮していません。この表は予算を見積もるためのモデルであり、最終的な請求額を保証するものではありません。

そのためKokoroは、字幕、ドキュメント、アクセシビリティ向け音声、社内研修動画など、繰り返し実行するナレーションパイプラインと相性がよいと言えます。一方で、発音の確認や音声セグメントの結合作業にかかる人件費がAPI料金を上回るなら、メリットは小さくなります。

FAQ

KokoroはGPUなしで動きますか?

はい。CPU推論に対応しています。ただし、公式プロジェクトは一律のリアルタイム係数を保証していません。実際に使うCPUと言語の組み合わせで、モデルを読み込み済みの状態のスループットを計測してください。

Kokoroで音声をクローニングできますか?

できません。Kokoroはプリセット音声を使うシステムです。話者の声を再現することが中核要件なら、適切なQwen3-TTSのバリエーションなど、クローニングに対応したモデルを使ってください。

Kokoroは商用利用できますか?

Kokoro-82Mのモデルカードには、ウェイトがApache 2.0であると記載されています。これは制約の少ないライセンスです。ただし、商用製品として提供する前に、使用する音声、依存パッケージ、配布方法について正確な条件を確認してください。

Kokoroはどの言語に対応していますか?

v1.0のモデルカードには8言語が記載されています。公式ライブラリでは、アメリカ英語とイギリス英語に加えて、スペイン語、フランス語、ヒンディー語、イタリア語、日本語、ブラジルポルトガル語、標準中国語が案内されています。言語によっては追加パッケージが必要です。

KokoroはElevenLabsより優れていますか?

すべての面で優れているわけではありません。ローカル環境でプライベートに、プリセット音声を使ってバッチナレーションを作るならKokoroが向いています。マネージドなインフラ、音声クローニング、表現力のある制作フローが必要なら、ElevenLabsのほうが安全な選択です。

実際にはどう選ぶべきか

まずKokoroを試すべきなのは、受け入れ条件が「このマシンで、必要な処理速度を満たしながら、利用可能な音声のいずれかで、きれいなナレーションをプライベートに生成できるか」である場合です。実際に使う名前、日付、数字、長い段落、必要な言語を含めてテストしましょう。

テストに合格すれば、コストの考え方はシンプルです。継続的な文字数課金を、マシンの稼働時間に置き換えられます。発音、話者の声、感情表現のいずれかで要件を満たせなかったとしても、ElevenLabsやQwen3-TTSに移行することは品質面での敗北ではありません。Kokoroが意図的に優先していない機能に対して、料金を支払うというだけの話です。

同じ判断を商用サービス側から検討するなら、ElevenLabs Eleven v3 APIガイドも参照してください。