「sanoTTS-jp」を焼いたら、スタックチャンが漢字まじりの文をしゃべった
- 公開
- 正式公開 2026-08-27
- 作り手
- ayutaz(個人)
- 対応
- ESP32-S3(M5Stack CoreS3 など)・Web(ブラウザのデモ)
- 言語
- 日本語
- 価格
- 無料(コードは MIT ライセンス。モデルの重みは LICENSE-MODEL.md の条件付き)
- 評価
- GitHub のスター 67(2026-10-06)
どんなアプリか
559K パラメータの日本語音声合成(TTS)を、ESP32-S3 というマイコンで実時間で動かす試みです。漢字かな交じり文の形態素解析やアクセント推定も端末の中で行い、M5Stack CoreS3 の実機で確認されています。
M5Stack CoreS3(スタックチャン)にファームウェアを1本書き込むと、シリアルに「今日は良い天気ですね。」と打って喋らせられます。自分のスケッチから呼ぶための Arduino IDE・PlatformIO 向けライブラリも用意されています。
論文 arXiv:2608.21378「sanoTTS」の蒸留の手順を日本語に当てはめ、piper-plus を教師として3つの小さなモデルに蒸留しています。推論部分は外部に依存しない C99 で書かれ、malloc を呼びません。著者らによる公式実装ではなく、そのソースコードを参照せずに書いた独立の再実装です。
当初は漢字を読むための辞書(NAIST-JDIC、実測 102 MB)がマイコンに載らないことが課題でした。作り手は辞書を小さくするのではなく問題の切り分け方を変え、端末は「ひらがな + アクセント記号」を受け取って 877 B のテーブルで音素に変換する設計にしました。README では、論文にも公式実装にも対応物が無い、このリポジトリの中心的な設計判断と説明されています。
その後、TTS 専用の辞書形式で1エントリが 28 B になり、16 MB のボードに 438,750 エントリが載るようになりました。いまは端末の中で漢字も読めます。
マイコンに載っているのと同じ C99 のコードを WebAssembly にしたブラウザ版のデモがあり、インストールせずに漢字かな交じり文を打って喋らせられます。
料金とデータの置き場所
リポジトリのコードとドキュメントは MIT ライセンスです。配布されるモデルの重みは MIT ではなく、LICENSE-MODEL.md の条件が付きます。
重みはつくよみちゃんコーパスを素材に含む教師からの蒸留物のため、帰属表示が必須で、出力した音声の用途にも禁止事項があります。人を批判・攻撃すること、刺激の強い表現をゾーニングなしで公開すること、他者に二次利用を許可する形で公開することなどが挙げられています。
ブラウザのデモでは形態素解析からアクセント推定、音声合成までをページの中で行い、文字をサーバに送りません。初回の再生でモデルと辞書(合わせて数 MB)をダウンロードします。
これまでの更新
2026-08-27 に GitHub のリポジトリが作られました。2026-09-09 には必須の帰属表示が直され、抜けていた LibriTTS-R・CML-TTS・AISHELL-3 が加えられました。
同じ分野のアプリ
| 名前 | 型 | 仕掛け | 対応 | 料金 |
|---|---|---|---|---|
| sanoTTS-jp | マイコン向け TTS | 559K パラメータの日本語 TTS を ESP32-S3 で実時間合成 | ESP32-S3・Web(デモ) | 無料(コードは MIT) |
| piper-plus | 多言語 TTS | Piper をフォークし、日本語を含む6言語に対応 | Python・C++・C#・Rust・Go・npm(WASM) | 無料(OSS, MIT) |
| AivisSpeech / Aivis Project | 音声合成ソフト | 感情豊かな日本語音声をローカル PC で生成 | Windows / Mac | 無料(AivisSpeech) |
| Livetoon TTS | 音声合成 API | 短文120ミリ秒・長文760ミリ秒で生成する自社開発の日本語音声合成 | API | β参加者は初回100,000文字分の生成を無料 |
入れる前に
作り手は、このプロジェクトを製品ではなく検証(PoC)と位置づけています。音質は教師モデルの 64%(SCOREQ 比 0.636)とされていますが、これは予測器のスコアで、人の耳で測ったものではないと注記されています。
Arduino・PlatformIO 向けライブラリは実機で鳴らしての確認はされていません。8 MB・4 MB のボードでも動きますが、辞書を小さくするため読みの精度が落ちます。ブラウザのデモはモバイルと Safari では速度も音も測られていません。
作り手は、いちばんありがたい貢献として聴いた感想を挙げています。感想を送るのにボードは要らず、配布されているサンプルを再生すれば足ります。
「変な音がする」の一言が、n=24 の数字より情報量が多いことがあります。
ayutaz さん、sanoTTS-jp の README「貢献」