世界を動かす技術を、日本語で。

Show HN: 新しい「Kitten TTS」モデル3種 - 最小サイズは25MB未満

概要

  • Kitten TTSは 超軽量・高品質 なテキスト読み上げ(TTS)ライブラリ
  • ONNXベース でCPUのみで動作、 GPU不要
  • 15M~80Mパラメータの 3種類の新モデル をリリース
  • 8種類の音声、速度調整や前処理機能を搭載
  • 商用サポート やカスタム音声開発にも対応

Kitten TTS v0.8 概要

  • Kitten TTS はオープンソースの軽量TTSライブラリ
  • ONNX 上に構築され、エッジデバイスやローカル環境での利用を想定
  • 15M, 40M, 80Mパラメータ の3モデルを新たに公開
  • ディスク容量25~80MB で動作、CPUのみで高品質な音声合成が可能
  • 開発者プレビュー段階、API仕様は今後変更の可能性あり

主な特徴

  • 超軽量設計 :モデルサイズ25MB(int8)~80MB、エッジデプロイ向け
  • CPU最適化 :GPU不要、ONNX推論で高速動作
  • 8種類の内蔵音声 :Bella, Jasper, Luna, Bruno, Rosie, Hugo, Kiki, Leo
  • 速度調整 :speedパラメータで再生速度を変更可能
  • テキスト前処理 :数値・通貨・単位などの自動展開
  • 高音質出力 :24kHzサンプルレートでクリアな音声生成

利用可能なモデル一覧

  • kitten-tts-mini: 80Mパラメータ, 80MB
  • kitten-tts-micro: 40Mパラメータ, 41MB
  • kitten-tts-nano: 15Mパラメータ, 56MB
  • kitten-tts-nano (int8): 15Mパラメータ, 25MB(不具合報告あり)

デモ・オンライン体験

  • Hugging Face Spacesで ブラウザ上からデモ利用 可能
  • サンプル動画・音声も公開

クイックスタート

  • Python 3.8以降 が必要

  • インストール:

    • pip install https://github.com/KittenML/KittenTTS/releases/download/0.8.1/kittentts-0.8.1-py3-none-any.whl
  • 基本的な使い方:

    • from kittentts import KittenTTS
    • model = KittenTTS("KittenML/kitten-tts-mini-0.8")
    • audio = model.generate("この高品質TTSモデルはGPU不要で動作します。", voice="Jasper")
    • import soundfile as sf
    • sf.write("output.wav", audio, 24000)
  • 応用例:

    • 速度調整:speed=1.2などで再生速度を変更
    • ファイルへ直接保存:model.generate_to_file("こんにちは", "output.wav", voice="Bruno", speed=0.9)
    • 利用可能な音声一覧:model.available_voices

APIリファレンス

  • KittenTTS(model_name, cache_dir=None)

    • Hugging Face Hubからモデルをロード
    • model_name:リポジトリID
    • cache_dir:キャッシュ保存先
  • model.generate(text, voice, speed, clean_text)

    • テキストから音声を生成(NumPy配列、24kHz)
    • パラメータ:text, voice, speed, clean_text(前処理有無)
  • model.generate_to_file(text, output_path, voice, speed, sample_rate, clean_text)

    • 音声ファイルとして直接保存
    • パラメータ:text, output_path, voice, speed, sample_rate, clean_text
  • model.available_voices

    • 利用可能な音声名リストを返却

システム要件

  • 対応OS :Linux, macOS, Windows
  • Python 3.8以上
  • CPU動作 :GPU不要
  • ディスク容量 :モデルにより25~80MB
  • 仮想環境推奨 (依存関係の競合回避)

今後のロードマップ

  • 推論エンジンの最適化
  • モバイルSDKのリリース
  • より高品質なTTSモデルの公開
  • 多言語TTSへの対応
  • KittenASR(音声認識)リリース予定

商用サポート・コミュニティ

  • 商用利用支援、カスタム音声開発、エンタープライズライセンス提供
  • 問い合わせ:info@stellonlabs.com
  • コミュニティ:Discord、公式サイト(kittenml.com)、GitHub Issues

ライセンス

  • Apache License 2.0 で公開

Kitten TTS 開発背景・ビジョン

  • Kitten TTSは オンデバイスAI 向けの極小・高表現力TTSモデル群
  • Raspberry Pi、低価格スマートフォン、ウェアラブル、ブラウザ等で動作
  • GPU不要 でどこでも使えることを重視
  • 14Mパラメータモデル は同規模で最高水準の表現力を実現
  • モデルの多くは int8+fp16量子化、ONNXランタイム利用
  • オンデバイス・クラウド間のギャップ解消 を目指す
  • 近く 多言語モデル も公開予定
  • 小型で実用的なAIモデル の不足が現状の課題
  • 今後も オープンソースで高性能モデル を提供し、完全オンデバイスの音声エージェントやアプリ開発を支援
  • フィードバック歓迎

Hackerたちの意見

OpenClawのいいところは、GitHubのURLだけでDiscordにメッセージを送ったら、数分で音声メッセージを送ってくれたことだね。いろんなベンチマークやサンプル音声もくれたし、サイズに対してクオリティが高いのに驚いてる。声はあんまり好きじゃないけど、悪くはないよ。Intelの9700 CPUで動かしてるけど、80Mモデルを使うとリアルタイムの1.5倍くらいの速度だね。ただ、3080 GPUで動かしても速くはならなかったけど。

そうだね、もっとプロっぽい声を追加するし、DIYのカスタムボイスもサポートするよ。表現力を見せるために、アニメやカートゥーンっぽい声も入れようとしたんだ。3080 GPUでの動作について、GitHubのイシューやDiscord、メールで詳しく教えてもらえる?それだとめっちゃ速いはずだよ。GPUでモデルを動かす例も追加するね。

それはいい使い道だね。メールとか不安定なものには繋がない方がいいよね。でも、「これを試してデモを展開する」ためのサンドボックスとしては面白いかも。考えさせられた!

リリースした4つのモデルを比較する例を入れた方がいいよ。同じテキストをそれぞれのモデルで話させてみて。

いいアイデアだね、追加するよ。その間に、ここで私たちのHugging Faceのデモでモデルを試してみてね: https://huggingface.co/spaces/KittenML/KittenTTS-Demo

最近は良い小型のTTSモデルがたくさん出てるね。でも、ほとんどがプロソディに苦労してるみたい。例えばKokoro TTSはすごく良いノルウェー語の声があるけど、リズムや強調がめちゃくちゃで、生成された音声がほとんど理解できないことが多い。まだこのモデルをチェックする時間がなかったけど、ここではどうなの?声の部分はある程度解決した今、プロソディを改善するために何が必要かな?

それと、別の言語のフレーズの中に英語の単語を使うと、すごく混乱するみたい。

小型モデルは容量が限られてるからプロソディに苦労するんだ。このバージョンは前のよりずっと良くて、他の<25MBモデルの中では一番だよ。Kokoroはサイズに対して本当に良いモデルで、人工分析でも競争力があると思う。次のリリースまでには、Kokoroのクオリティでサイズは5分の1くらいのものができるはず。リズムのコントロールを追加するのもかなり重要そうだし、他の言語でもそれを考え始めるべきだね。

example.pyファイルには「どのGPUでもめっちゃ速く動く」と書いてあるけど、「この例はCPUで動く」とも書いてある。リポジトリのどこにもGPUで動かす方法が見当たらなかったんだけど。

フィードバックありがとう。GPUでの実行例を追加するね。

すごい!よくやったね。音声アシスタントの仕事をたくさんしてるんだけど、もしQwen3-TTSの音声クローンをこの小さいサイズに再現できたら、絶対に伝説になるよ!

ありがとう!私たちの音声クローンモデルは5月に出る予定だよ。15Mでの音声クローンの面白い方法を試してるけど、500Mまでのモデルも用意するつもり。

これのAndroidアプリは、内蔵のTTSを置き換えられるのかな?

うん、私たちのモバイルSDKがもうすぐ(2週間後)出るから、内蔵版を置き換えられるはずだよ。どんなTTSの使い方を考えてるか教えてくれる?

以前リリースしたモデルセットからの改善がすごく明確だね。ほんとに感動したよ。シェアしてくれてありがとう。

ありがとう!そうだね、これらのモデルは前回のリリースよりずっと良いよ。今の15Mモデルは前の80Mモデルよりも優れていて、今後もこの改善のペースが続くと思ってる。

いいね!あなたのチームはSTTの問題にも興味あるの?

そうだね、もう取り組み始めてるよ。すぐにいろんなSTTモデルが出る予定だから、もし何かプロダクトの使い道があったら教えてね!

漫画の声みたいだね…でも、すごく好きだよ。その声で本を聴くのもいいかも。

わぁ、すごい偉業だね。おめでとう!