5 ポイント 投稿者 GN⁺ 2026-03-20 | 1件のコメント | WhatsAppで共有
  • ONNXベースのState-of-the-art **軽量テキスト読み上げ(TTS)**ライブラリで、CPUのみで高品質な音声合成を実行
  • モデルサイズは**15M〜80Mパラメータ(25〜80MB)**の範囲で、GPUなしでも効率的に実行可能
  • 8種類の内蔵音声速度調整テキスト前処理パイプライン24kHzオーディオ出力機能を提供
  • Hugging Faceですぐに利用でき、Python APIで簡単に統合可能
  • エッジデバイスへのデプロイと商用統合支援を目標としたオープンソースTTSソリューション

Kitten TTSの概要

  • Kitten TTSはONNXベースのオープンソースTTSライブラリで、GPUなしでCPU上で高品質な音声合成を実行
    • モデルサイズは15M〜80Mパラメータで、ディスク上では25〜80MB
    • バージョン0.8では15M、40M、80Mモデルを提供
  • 現在は開発者プレビュー段階で、APIは今後変更される可能性あり
  • 商用サポート(統合支援、カスタム音声、エンタープライズライセンス)を提供

主な機能

  • 超軽量構造: int8基準で25MBから始まり、エッジ環境へのデプロイに適合
  • CPU最適化: GPUなしでも効率的なONNX推論を実行
  • 8種類の内蔵音声: Bella, Jasper, Luna, Bruno, Rosie, Hugo, Kiki, Leo
  • 速度調整機能: speedパラメータで発話速度を制御
  • テキスト前処理パイプライン: 数字、通貨、単位などを自動処理
  • 24kHz出力: 標準サンプルレートの高品質オーディオを生成

提供モデル

  • 4種類のモデルを提供
    • kitten-tts-mini (80M, 80MB)
    • kitten-tts-micro (40M, 41MB)
    • kitten-tts-nano (15M, 56MB)
    • kitten-tts-nano (int8, 15M, 25MB)
  • 一部のユーザーはkitten-tts-nano-0.8-int8モデルで問題を報告しており、Issue登録を推奨

デモと使い方

  • Hugging Face Spacesでブラウザから直接試用可能
  • Python 3.8以上とpipだけでインストール可能
  • 基本的な使用例:
    • from kittentts import KittenTTS
    • model = KittenTTS("KittenML/kitten-tts-mini-0.8")
    • audio = model.generate("テキスト", voice="Jasper")
  • 高度な機能: 速度調整(speed)、ファイル保存(generate_to_file)、利用可能な音声一覧の取得

API構成

  • KittenTTS(model_name, cache_dir=None)
    • Hugging Face Hubからモデルをロード
  • model.generate(text, voice, speed, clean_text)
    • テキストを24kHzオーディオに変換
  • model.generate_to_file(text, output_path, voice, speed, sample_rate, clean_text)
    • 合成した音声をファイルへ直接保存
  • model.available_voices
    • 利用可能な音声リストを返す

システム要件

  • オペレーティングシステム: Linux, macOS, Windows
  • Python: 3.8以上
  • ハードウェア: CPUのみ必要、GPU不要
  • ディスク容量: モデルに応じて25〜80MB
  • 仮想環境(venv、condaなど)の使用を推奨

ロードマップ

  • 推論エンジン最適化モバイルSDK高品質モデル多言語TTSKittenASRを今後リリース予定
  • Apache License 2.0

1件のコメント

 
GN⁺ 2026-03-20
Hacker Newsのコメント
  • Kitten TTS向けのCLIラッパーであるpurrを作った
    kittenパッケージは kittentts → misaki[en] → spacy-curated-transformers という依存チェーンを持っている
    そのため uv で直接インストールすると、torchやNVIDIA CUDAパッケージ(数GB)まで引っ張ってくるが、実際の実行には不要だった

    • インストールスクリプトはうまく動いた
      初回実行時に「OSError: PortAudio library not found」というエラーが出たが、apt install libportaudio2 で解決した
    • 本当にありがたい。依存関係チェーンが壊れていてインストールに失敗し続けていたが、これで解決した
      ただ、不要な依存関係を削ったことで機能面の損失があるのかは気になる
  • 本当に素晴らしいプロジェクトだ
    近いうちに自分でも使ってみるつもりだ
    ただ気になる点がある — なぜ コマンドライン実行ファイル の形で配布しなかったのか?
    APIもほぼmanpage風なので、すぐ作れそうに思える。単なる興味だ

    • いいアイデアだ。その形でも出す予定だ
      まずonnx版でフィードバックを集め、その後コマンドライン実行ファイルも含めて実行までの流れを簡単にするつもりだ
  • OpenClawが気に入った理由は、DiscordでGitHubのURLを送るだけで即座に 音声メッセージ を生成してくれたことだ
    数分でベンチマークとサンプル音声も受け取れた
    品質はサイズの割に印象的だ。声は完璧ではないが悪くない
    Intel 9700 CPUでは80Mモデルでおよそ1.5倍のリアルタイム速度で、3080 GPUでもそれより速くはならなかった

    • さらに プロ向けの音声 やDIYのカスタムボイスを追加する予定だ
      今は表現力を見せるためにアニメ風の声を入れている
      GPUで遅い理由をGitHub issueかDiscordで共有してもらえると助かる。サンプルコードも追加する予定だ
    • いいユースケースだ。メールのような 脆弱な接続経路 なしでサンドボックスでテストし、デプロイできる構成が興味深かった
    • うらやましいとしか言えない。自分は動かすまでにずっと時間がかかった
      Pythonのバージョン衝突を避けるのに苦労し、Dockerでも試したが結局は手でセットアップする必要があった
      何とか動いたが、Pythonは本当に嫌いだ
  • 今のところ アメリカ英語の音声 しか対応していないようだ
    個人的にはアイルランド、イギリス、ウェールズのアクセントにしか興味がない。アメリカ英語は好みではない

  • デバイス上で動くTTSは アクセシビリティツール として本当に素晴らしい
    ほとんどのデバイスはオンラインサービスに依存しているが、こうしたローカル方式の方がずっと良い

    • フィードバックありがとう。近いうちにさまざまな用途向けの 小型モデル をさらに出す予定だ
  • 以前のモデルよりはるかに明確な 改善 を感じる
    本当に印象的だ。共有してくれてありがとう

    • ありがとう。今回のモデルは以前よりずっと良くなった
      現在の15Mモデルは以前の80Mモデルより優れており、この改善ペースを維持していくつもりだ
  • 今後 日本語専用モデル も見てみたい
    Qwen3-ttsは日本語をサポートしているが、ときどき中国語が混ざるので使いづらい

    • 前処理段階で ひらがな変換 を試してみることもできる
      ただしそうすると音の高低(例: 飴 vs 雨)の情報が失われる可能性がある
    • 次のモデル(約3週間後の予定)で日本語をサポートする予定だ
      ユースケースを教えてもらえれば品質改善に反映したい
  • モデルサイズに対して性能は印象的だった
    ただ、数字の読み上げに問題があった
    「Startup finished in 135 ms.」を試したところ、数字が ノイズのように 聞こえた
    「one hundred and thirty five seconds」に変えると、まだましだった

    • この問題はモデルレベルでも修正中だ
      それまでは テキスト前処理 を追加すれば解決できる
      ほとんどのTTSモデルは、数字や単位を文字列に変換する方式で処理している
    • フィードバックありがとう。カスタム前処理で95%のケースは解決できる
      次のリリースではモデル側でも修正される予定だ
    • 参考までに、単語は「pronounce」または「pronouncing」が正しい。「pronounciating」はタイプミスだ
  • 4つのモデルを比較した サンプル音声 も一緒に見せてもらえるとよいと思う
    同じ文を各モデルで読ませた例があると理解しやすいはずだ

    • いい提案だ。すぐ追加する
      それまでは Hugging Faceデモ で直接モデルを試せる
  • これは オープンソース なのか、それとも オープンウェイト モデルなのか気になる

    • その通り、オープンソースだ
      今週末までにMITライセンスの phonemizer も追加する予定なので、自由に使えるようになるはずだ