KokoroによるローカルCPU対応TTS

KokoroによるローカルCPU対応TTS

KokoroはCPU上で高品質なローカル音声合成を実現します

Kokoroは、わずか8200万パラメータを持つコンパクトなテキスト読み上げ(TTS)モデルであり、英語、中国語、ヒンディー語でリアルな音声を生成します。その主な価値提案は、CPU上で高忠実度なオーディオをローカルに提供できることであり、これにより高価なNVIDIA GPUを必要とせず、すべての処理をローカルマシン上で行うことでデータのプライバシーを確保します。

CPUアーキテクチャ別のパフォーマンスベンチマーク

Kokoroは、レガシーシステムを含む幅広いハードウェアにおいて高い効率性を示しています。短いテスト用段落(約30単語)の合成時間は、CPUによって異なります:

  • AMD Ryzen 7 8745HS: 1.5秒
  • Apple M2 Pro: 4.5秒
  • Intel Core i7-4770K: 4.7秒

12年前のCPU(i7-4770K)が5秒未満でリアルな音声を生成できるという事実は、ハードウェアリソースが限られているユーザーにとって、このモデルのアクセシビリティの高さを際立たせています。

デプロイメントとAPI統合

Kokoro-FastAPIによる迅速なセットアップ

Kokoroをデプロイする最も簡単な方法は、音声モデルを約5 GBのイメージにまとめたKokoro-FastAPIコンテナイメージを使用することです。DockerまたはPodmanを使用して、以下のコマンドで起動できます:

podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu

起動後、コンテナは即座にテストを行うためのWeb UIをlocalhost:8880/webで提供します。

OpenAI API互換性

Kokoro-FastAPIは、OpenAIの音声APIと互換性のあるTTSインターフェースを提供するため、開発者は既存のOpenAIベースのTTS実装をローカルのKokoroインスタンスに置き換えることができます。統合は、TTS_API_BASE_URLをローカルサーバー(例:http://127.0.0.1:8880/v1)に設定し、TTS_VOICE環境変数を通じて音声を選択することで実現できます。このモデルは、主に英語に最適化された約50種類の異なる音声を提供します。

実用的なアプリケーションとコミュニティの知見

コミュニティメンバーは、Kokoroをさまざまなプロダクションおよびホビー用途のワークフローに統合しており、パラメータサイズが小さいことによる強みと限界の両方を明らかにしています:

  • アクセシビリティと発音: ユーザーはアクセシビリティ製品にKokoroを使用することに成功しており、同音異義語のエラーを解決するために、手動のIPA(International Phonetic Alphabet)発音ガイドをサポートしている点に注目しています。
  • エッジ・デプロイメント: バッテリー効率と熱管理を改善するために、iPhoneのApple Neural Engine (ANE) に移植されたほか、耐久性のあるストリーミングのためにJetson Orinキットにも移植されています。
  • コンテンツ消費: ユーザーは、WebコンテンツをRSSフィードに変換してポッドキャストアプリ経由で消費するためのカスタム記事リーダーを構築しています。
  • Web統合: 任意のWebページ上でテキストのハイライトと音声合成を同時に行うためのChrome拡張機能が開発されています。

既知の制限事項

一部のユーザーからは、Kokoroが非常に短い入力(1語または2語)に対して苦戦し、時折、幻聴のような音(例:「six」の代わりに「ah-six-ah」と言う)を追加してしまうという報告があります。文書化されている回避策は、対象の単語をより長い文章の中に埋め込み、Kokoro APIが提供するタイムスタンプを使用して、必要な特定の単語の部分をオーディオとして切り出すことです。

TTSとSTTを組み合わせた代替案

TTS(テキスト読み上げ)とSTT(音声文字起こし)の両方を必要とするユーザーには、Speachesが実行可能な代替案となります。Speachesは、イメージ内に音声ウェイトを同梱するのではなく、API経由で音声ウェイトを手動でダウンロードする必要があるものの、、Kokoroの代わりに、OpenAIのWhisperシステムを搭載しており、双方向の音声インタラクションのための統合ソリューションを提供します。

Sources