18 ポイント 投稿者 GN⁺ 2026-01-16 | 4件のコメント | WhatsAppで共有
  • Pocket TTS は1億パラメータで構成された軽量なテキスト読み上げモデルで、音声クローン機能を備え、一般的なノートPCのCPUでもリアルタイム実行が可能
  • 既存の大型**LLMベースTTS(10億以上のパラメータ)と小型のKokoro TTS(8,200万パラメータ)**の間の性能差を埋め、高品質と効率性を同時に実現
  • 5秒分の音声サンプルだけで、話者の声質、感情、イントネーション、音響条件などを正確に再現
  • Continuous Audio Language Model ベースの構造を採用し、離散トークンの代わりに連続潜在ベクトルを直接予測することで、品質低下なしにモデルサイズを縮小
  • MITライセンスのオープンソースとして公開され、CPU環境でも高品質な音声合成を実現する軽量TTS技術の新たな基準を提示

Pocket TTS の概要

  • Pocket TTS は1億パラメータのテキスト音声変換モデルで、**音声クローン(voice cloning)**機能をサポート
    • ノートPCのCPUでもリアルタイムで実行可能
    • コマンド uvx pocket-tts serve または uvx pocket-tts generate でローカル実行可能
  • Kyutai が開発し、MITライセンスでオープンソース公開
    • 学習データには公開英語音声データセットのみを使用
    • 追加の非公開データへの拡張可能性にも言及

既存TTSモデルとの比較

  • 現在のTTS技術は2つに分かれる
    • 大型LLMベースモデル: 例) Kyutai TTS 1.6B(約16億パラメータ)
      • 多様な音声、感情、音響条件をモデリングできるがGPUが必要
    • 小型特化モデル: 例) Kokoro TTS(8,200万パラメータ)
      • 固定された音声セット手作業のパイプラインを使って効率的だが、柔軟性に制限がある
  • Pocket TTS はこの2つのアプローチの中間地点に位置し、CPUでも高品質な音声合成が可能

性能評価

  • Librispeech test-clean セットで評価を実施
    • 音声入力はAdobe Enhance Speechで整えて24kHz品質を確保
  • 比較対象: F5-TTS, DSM, Chatterbox Turbo, Kokoro TTS
  • 評価指標:
    • Word Error Rate (WER)
    • 音声品質(ELO)
    • 話者類似度(ELO)
  • 結果の要約:
    • Pocket TTS はWER 1.84で最も低い誤り率
    • 音声品質は F5-TTS および DSM より優秀
    • 話者類似度は基準音声と同等レベル
    • CPUでリアルタイムより速く実行可能な唯一のモデル
モデル パラメータ数 WER ↓ 音声品質(ELO) ↑ 話者類似度(ELO) ↑ CPUリアルタイム実行
F5-TTS 336M 2.21 1949 ± 27 1946 ± 26
Kyutai TTS 1.6B 750M 1.84 1959 ± 25 2037 ± 21
Chatterbox Turbo 350M 3.24 2055 ± 23 2012 ± 22
Kokoro 82M 1.93 音声クローンなし 音声クローンなし
Pocket TTS 100M 1.84 2016 ± 25 1898 ± 26
  • Intel Core Ultra 7 165H および Apple M3 CPU でのテストでは、Pocket TTS と Kokoro だけがリアルタイム合成可能

アーキテクチャ

  • Pocket TTS はContinuous Audio Language Model研究をベースに設計
    • 従来方式は離散音声トークンを予測していたが、Pocket TTS は**連続潜在ベクトル(latent)**を直接予測
    • これによりRQ-transformer のボトルネックを解消し、モデルの軽量化を達成

Neural Audio Codec

  • Mimi コーデックをベースに設計
    • Mimi は離散トークンに圧縮するが、Pocket TTS は連続潜在表現を使用
    • 正規分布で正規化されたVAE学習を適用
    • WavLMコサイン類似度損失で内部表現へ蒸留(distillation)
    • RVQ段階を除去し、全潜在表現に蒸留損失を適用

Generative Model

  • Masked Autoregressive(MAR) フレームワークベース
    • Causal Transformer バックボーンMLPサンプラーで構成
    • Lagrangian Self-Distillation(LSD) 損失を使って1-step サンプリングを実現
    • 推論時には、予測された潜在ベクトルを自己回帰的にフィードバック

音声とテキストの条件付け

  • モデル入力は音声プロンプト(数秒)テキストを結合
    • 音声はコーデックエンコーダで、テキストはSentencePieceトークナイザーで埋め込み

モデルサイズ構成

  • 生成モデル(Transformer + MLP): 9,000万パラメータ
  • コーデックデコーダ: 1,000万パラメータ
  • コーデックエンコーダ: 1,800万パラメータ(音声サンプルのエンコード時に1回だけ使用)

学習データ

  • すべて公開英語音声データセットで構成され、合計88,000時間
    • AMI, EARNINGS22, GIGASpeech, SPGISpeech, TED-LIUM, VoxPopuli, LibriHeavy, Emilia

主な技術的貢献

Head Batch Multiplier

  • Transformer の計算ボトルネックを緩和するため、zベクトルを複数回再利用
    • 各入力シーケンスごとに z を1回計算し、8回の損失計算に再利用
    • 効率向上学習安定化に効果

Gaussian Temperature Sampling

  • 連続空間でもサンプリング温度制御を適用
    • ガウスノイズ分散の縮小で品質向上
    • 温度 0.7で良好な結果を確認

Latent Classifier-Free Guidance (Latent CFG)

  • 従来の CFG を**潜在変数(z)**レベルで適用
    • 条件付き/非条件付き出力を線形結合して品質を向上
    • α=1.5 を使用
    • SoundReactor 研究でも類似の概念が登場

Distillation

  • CFGモデルを教師モデルとして使用し、軽量な学生モデルへ蒸留
    • 教師モデルの MLP ヘッドを固定し、学生モデルが L2損失で z を学習
    • 24層の教師モデル → 6層の学生モデルへ縮小可能

結論

  • Pocket TTS はCPUでもリアルタイムで高品質な音声合成が可能な軽量TTSモデル
  • 連続潜在空間ベースの構造効率的な学習手法音声クローン機能を組み合わせている
  • オープンソースのMITライセンスで公開され、開発者と研究者に再現性と拡張性を提供

4件のコメント

 
xguru 2026-01-16

韓国語対応のオープンなTTSモデルは、あまり見当たらないですね。
以前公開された Kokoro-82M が韓国語対応だとは聞いていましたが、品質はあまり良くないらしいという話も聞きましたし、
少し調べたところでは、GPT-Sovits で作って使ったり、Edge-TTS のようなものを使えば、それなりにいい感じに出るとも言われています。

最近はバイブコーディングをしながら Whisper と組み合わせると何か面白いものができそうな気はするんですが、アイデアがないですね(笑)

 
ng0301 2026-01-18

最近、Supertonicから韓国語まで対応するモデルが出たので、一度探してみてください。

ワンクリック用ライブラリも作ってみました!

https://www.npmjs.com/package/easy-supertonic-tts

 
bichi 2026-01-19

すばらしいですね。ですが、作る際に対象リソースのアドレスも一緒にあるといいと思います。やみくもにインストールするわけにもいかないので(笑)

 
GN⁺ 2026-01-16
Hacker Newsのコメント
  • 自分の投稿にこんなに多くの関心が集まって本当にうれしい
    私はパリで Kyutaiの研究をベースにしたエンタープライズ級音声ソリューション を開発しているチームの一員
    この分野で何かを作っている人がいれば、今後のモデルや機能について共有したい
    プロフィールにあるメールアドレスに連絡をもらえるとうれしい

    • 素晴らしい仕事。日常的なデバイスでもローカル実行できるレベルまで 限界を押し広げた成果 だと思う
  • 長いケーススタディを読んでいるうちにブラウザー拡張が必要だと気づき、自分でブラウザーインターフェースを作ってみた
    成果物は Pocket Reader

  • 面白かったのでさっそく MCPサーバー にして、Claudeが作業完了を知らせるよう設定した
    speak_when_done

    • macOSにはすでにかなり自然な TTS機能 が内蔵されている
      私も似たツールを作って say コマンドをバックグラウンドプロセスとして回したが、良い音声を一貫して設定するのが難しかった
      あの自然な音声はどこかに隠れているようだ
    • 私も最近 piper-tts で似たものを作った
      speak-mcp
    • 私も同じ理由で Pushover を設定して、スマホに通知が来るようにした
      今度はあなたのサーバーも試してみる予定
  • 今回はコード品質が本当に良い
    たいてい新しいモデルのコードベースは不要な 依存関係のダンプ だらけだが、今回はソフトウェアエンジニアリング的にも素晴らしい

  • 共有ありがとう! 私は Kokoroのファン なので、ローカル音声アシスタントを自作した
    ovaプロジェクト
    Pocket TTSもぜひ使ってみるつもり

    • TTSの性能は Kokoroの方がずっと良いと感じる
      ただPocket TTSはクローズドなので、音声クローニング機能は確認できない
    • リポジトリ素敵! 私も試してみるつもり
      mlxベース なのか、それとも Hugging Face transformers ベースなのか気になる
  • このプロジェクトを 小さな静的バイナリ として配布できるのか気になる
    現状では依存関係がかなり大きい

    • 関連するissueは ここ で追跡できる
  • 本当に気に入った
    ただMITライセンスと書かれている一方で、READMEに別途 禁止された用途(Prohibited Use) セクションがあって、非自由ソフトウェアになるのではと混乱する

    • 私の理解では コードはMIT、ただし モデルは別ライセンス
      画像や音声のように、MLモデルはソフトウェアと見なされないかもしれない
      Hugging Faceのモデルカードにも同じ禁止条項がある
    • MITライセンスには「制限なく使用できる」という文言がある
      したがってREADMEの禁止項目は 法的に矛盾 する可能性がある
    • 禁止条項は「犯罪に使うな」程度なので 法的効力は小さい と思う
    • 「使っていい、ただしこういう用途はダメ」だと、実際に ライセンス違反なのか 曖昧だ
    • 禁止条項は不要な 形式的装飾 のように感じる
  • M1 Macで uvx pocket-tts serve を実行してみた
    テストとして 『二都物語』の最初の段落 を読ませたところ、Javertの音声が文をところどころ 飛ばす問題 があった
    たとえば "it was the age of foolishness" のような句が省略される
    信頼性に疑問を感じる点だ
    関連issueは ここ に投稿した

    • 私のテストでも "we had everything before us" の部分が省略された。確かに良くない兆候だ
    • 私も同じ現象を見た。文を飛ばしたり単語順を入れ替えたりする 出力の歪み があった (Win10 RTX 5070 Ti)
    • Eponineの音声でも "we had nothing before us" を省略し、最後の文を読まなかった。内部で何かおかしいようだ
  • これまで音声モデルはあまり使ってこなかったが、Pocket TTS経由で unmute.sh を知った
    オープンソースで、同じ会社が作っているようだ
    これらのモデルは ホームラボ環境でも低コストで十分活用できる ように見える
    オープンソースモデルの水準が全体的に上がっていて、ほとんどあらゆる用途に合うものがある
    本当に参入障壁が残っている分野は コーディングモデル だけのようだ
    Deepseek 4がClaude Sonnetに勝てるかもしれないのも興味深い

  • 自分の Codexプラグイン に統合して、各ターンの終わりに要約を読み上げるようにしたが、驚くほどよく動く
    自分のMacBookでは Samanthaよりずっと滑らかに 動作する
    agentify-sh/speak