sanoTTS-jp — ブラウザで動くランタイムデモ
ESP32 向けに書いた C99 の推論コアと漢字経路を、そのまま WebAssembly にしたものです。 形態素解析もアクセント推定も音声合成も、全部このページの中で走ります(サーバに文字は送りません)。
⚠️ これは arXiv:2608.21378 の独立再実装であり、著者らによる公式実装ではありません。
公式実装 Ampixa/sanoTTS は GPL-3.0 の別物で、 本プロジェクトはそのソースコードを一切参照せずに、論文本文の数値と piper-plus の実装から独立に書いています。
公式実装 Ampixa/sanoTTS は GPL-3.0 の別物で、 本プロジェクトはそのソースコードを一切参照せずに、論文本文の数値と piper-plus の実装から独立に書いています。
初回の再生で、モデルと辞書(合わせて数 MB)をダウンロードします。
| レーン | — |
|---|---|
| 経路 | — |
| 音素 id 数 | — |
| 合成にかかった時間 | — |
| 音声長 | — |
| arena 使用 | — |
この demo について
- 経路(かな / 辞書 / 拒否)は wasm の中が決めています。 JavaScript は打たれた文字列をそのまま渡すだけで、「ひらがなだから」のような判定を一切持ちません (ホストと端末で同じ列が出ることを、リポジトリのゲートが守っています)。
- 合成の作業領域は ESP32 と同じ 180,224 B の arena に固定してあります。 ブラウザなら緩められますが、同じ枠で動くこと自体が「MCU に載る」の証拠になるので緩めていません。
- 成果物は今も ESP32 の 567 K パラメータのモデルです。Web は触れる入口でしかありません。
⚠️ どこまで確かめてあるか。
合成した PCM は 22,050 Hz です。Chrome では
AudioContext が
要求どおり 22,050 Hz を返すことを確かめました(M-95。既定は 48,000 Hz)が、
それ以外のブラウザでは分かりません。リサンプルが挟まれば出音は checksum と一致しません。
音は両レーンとも聴いてもらって「問題なかった」/ 途切れ無し(M-96)。
⚠️ 1 名・対照なし・盲検なしで、欠陥が無いことの証明ではありません。
⚠️ モバイルと Safari は速度も音も測っていません。
ライセンスと帰属
モデルの帰属表示(LICENSE-MODEL.md §3.1・必須)
This model was distilled from a piper-plus teacher model.
sanoTTS-jp — https://github.com/ayutaz/sanoTTS-jp
つくよみちゃんコーパス
本ソフトウェアの音声合成には、フリー素材キャラクター「つくよみちゃん」
(© 夢前黎)が無料公開している音声データを使用しています。
https://tyc.rei-yumesaki.net/material/corpus/
MOE-Speech (litagin) — https://huggingface.co/spaces/litagin/moe-speech-license
著作権法 30 条の 4(情報解析のための利用)に基づき学習に使用。
蒸留に使用したテキストコーパス:
- Common Voice ja (Mozilla) — CC0-1.0
https://github.com/common-voice/common-voice
- ROHAN4600 (森勢将雅) — CC0-1.0
https://github.com/mmorise/rohan4600
- ITA コーパス — CC0-1.0
https://github.com/mmorise/ita-corpus
- JSUT ver1.1 (高道慎之介) — CC-BY-SA-4.0 ほか(subset 別)
https://sites.google.com/site/shinnosuketakamichi/publication/jsut
教師実装: piper-plus (MIT) — https://github.com/ayutaz/piper-plus
出力の用途制限(LICENSE-MODEL.md §3.2・必須・伝播します)
つくよみちゃんコーパスの条件により、このページが生成した音声は次に使えません。
- ❌ 個人・団体への攻撃・批判
- ❌ 政治・宗教上の主張
- ❌ アダルト用途
- ❌ 素材としての再配布(生成音声そのものを「音声素材集」として配布すること)
一次ソース: https://tyc.rei-yumesaki.net/material/corpus/ (条件は提供元が更新しうるため、配布・利用の前に一次ソースを確認してください。 一次ソースと本ページが食い違う場合、一次ソースが優先します。)
この 2 つの条件は第三者にも課す義務があります(§3.3)。 音声を再配布する場合は、§3.1 と §3.2 を外さないでください。
⚠️ このページに音声のダウンロード機能が無いのは意図的です(上の「素材としての再配布」の線を曖昧にしないため)。
同梱している第三者のもの
- Open JTalk(NJD / JPCommon 系)— 修正 BSD / Copyright (c) 2008-2016 Nagoya Institute of Technology, HTS Working Group。 漢字経路の形態素解析とアクセント規則に使っています。全文は NOTICE-openjtalk.txt。
- 辞書(NAIST / UniDic / 名古屋工業大学)— 権利者と条件は NOTICE-dictionary.txt。
- Emscripten — MIT / NCSA。 ⚠️ emcc は生成物にライセンス文を 1 文字も書かないので、こちらで表示しています。 LICENSE。
- その他の帰属・既知の法的リスクは NOTICE.txt にまとめてあります。