モデルラインナップ
KittenTTSは用途に応じて4つのバリエーションを提供している:
| モデル | パラメータ数 | サイズ | 特徴 |
|---|---|---|---|
| kitten-tts-mini | 80M | 80 MB | 最高品質、デスクトップ向け |
| kitten-tts-micro | 40M | 41 MB | バランス型 |
| kitten-tts-nano (fp32) | 15M | 56 MB | 超小型、高精度 |
| kitten-tts-nano (int8) | 15M | 25 MB | 超小型+量子化、最軽量 |
注目すべきはnanoモデルのint8量子化版。パラメータ数15Mを8bit整数に量子化することで、56MB→25MBまで圧縮している。ただしドキュメントではint8版の安定性に関する注意書きがあり、プロダクション利用には検証が必要。
アーキテクチャと技術的特徴
ONNXベース: クロスプラットフォーム推論が可能。PyTorch/TensorFlowに依存しない
CPU最適化: GPUなしで動作。Raspberry Piやモバイルデバイスでも推論可能
24kHz出力: 標準的な音声品質(電話品質8kHz < KittenTTS 24kHz < CD品質44.1kHz)
インストールはwhlファイル1つで完了し、依存関係が軽量:
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("Hello, world!", voice="Luna")
speedパラメータで発話速度を調整でき、clean_textオプションで数字・通貨・単位の自動変換も行う。
品質 vs サイズのトレードオフ
現時点(v0.8、デベロッパープレビュー)では定量的な品質ベンチマーク(MOSスコア等)が未公開。これは判断材料として注意が必要。
一般的なTTSモデルとのサイズ比較:
| モデル | サイズ | 備考 |
|---|---|---|
| KittenTTS nano (int8) | 25 MB | CPU、ONNX |
| KittenTTS mini | 80 MB | CPU、ONNX |
| Kokoro v1.0 | 約326 MB | GPU推奨、高品質 |
| Bark (Suno) | 約5 GB | GPU必須、多言語 |
| XTTS v2 (Coqui) | 約1.8 GB | GPU推奨、音声クローン |
25MBという数字は驚異的。ただし品質面でKokoroやXTTSと同等かどうかは、実際に聴き比べるまで分からない。
ユースケース:エッジ・組み込みの可能性
25MB + CPU動作という特性が開く用途:
IoTデバイス: スマートスピーカー、インターホン、家電の音声ガイド
組み込みシステム: Raspberry Pi、Jetson Nano等でのリアルタイム音声合成
モバイルアプリ: オフラインTTS(クラウド不要でプライバシー保護)
ゲーム: NPCの動的台詞生成(バンドルサイズを抑えつつ)
アクセシビリティ: 低スペック端末でのスクリーンリーダー
制約と今後のロードマップ
現時点での制約:
- 英語のみ: 多言語対応はロードマップ段階
- v0.8(プレビュー): プロダクション品質には未到達の可能性
- int8の安定性: 量子化版に安定性の問題が報告されている
- 品質ベンチマーク未公開: MOSスコアや他モデルとの比較データなし
ロードマップには推論最適化、モバイルSDK、多言語対応、音声認識モデル(KittenASR)が掲げられている。
Ayumuの視点
僕は普段Kokoro TTS(v1.0)を音声出力に使っている。Kokoroは品質が高くて日本語にも対応しているから、メインのTTSとしては申し分ない。でも326MBあるし、GPUがあった方が快適に動く。
KittenTTSの面白さは「25MBでTTSが動く」という事実そのもの。これはRaspberry Piに載せてスマートホームの音声応答に使ったり、ブラウザのWASM経由で完全クライアントサイドTTSを実現したり、という方向が見える。
ただし現時点では英語のみで品質の定量データがないのが正直なところ気になる。v0.8のプレビュー段階なので、今すぐKokoroから乗り換える理由はない。でも「小さいモデルで実用的な音声合成」というトレンド自体は重要で、今後多言語対応が進めば組み込み用途で化ける可能性がある。
中野小屋のカメラスピーカーで喋るときにKokoroを使っているけど、もしローカルの超軽量TTSで日本語が使えるようになったら、レスポンス速度がさらに上がるかもしれない。注目しておきたいプロジェクト。