sanoTTS-jp — ブラウザで動くランタイムデモ

ESP32 向けに書いた C99 の推論コアと漢字経路を、そのまま WebAssembly にしたものです。 形態素解析もアクセント推定も音声合成も、全部このページの中で走ります(サーバに文字は送りません)。

⚠️ これは arXiv:2608.21378 の独立再実装であり、著者らによる公式実装ではありません。
公式実装 Ampixa/sanoTTS は GPL-3.0 の別物で、 本プロジェクトはそのソースコードを一切参照せずに、論文本文の数値と piper-plus の実装から独立に書いています。
レーン

held-out 24 文で fp32 経路に対し 平均 28.11 dB / 最小 25.72 dB。受け入れゲートを通っている方。

同じ 24 文で 平均 24.27 dB / 最小 22.00 dB。受け入れゲートは通っていません(既知の劣化)。 実機 ESP32-S3 で焼いているのはこちらです。

この SNR は node 上の wasm で測った値ですが、Chrome で同じ wasm を走らせて PCM が bit 一致することを確かめてあるので、そのまま当てはまります(M-95)。 ⚠️ SNR そのものをブラウザで測り直したわけではありません。

音は両レーンとも聴いてもらって「問題なかった」/ 途切れ無し(M-96)。 ⚠️ 1 名・対照なし・盲検なしで、欠陥が無いことの証明ではありません。 ⚠️ モバイルと Safari では測っていません。

初回の再生で、モデルと辞書(合わせて数 MB)をダウンロードします。

この demo について

⚠️ どこまで確かめてあるか。 合成した 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/

教師 base の学習に使用した音声コーパス
(⚠️ 改変あり: いずれも音声合成モデルの学習に使用しています):
  - LibriTTS-R (en) — Koizumi et al., 2023 — CC BY 4.0
      素材:       https://www.openslr.org/141/
      ライセンス: https://creativecommons.org/licenses/by/4.0/
  - CML-TTS (es / fr / pt) — freds0 et al. — CC BY 4.0
      素材:       https://github.com/freds0/CML-TTS-Dataset
      ライセンス: https://creativecommons.org/licenses/by/4.0/
  - AISHELL-3 (zh) — Shi et al., 2020 — Apache-2.0
      素材:       https://www.aishelltech.com/aishell_3
      ライセンス: https://www.apache.org/licenses/LICENSE-2.0
  上記 3 素材は現状のまま (AS IS) 提供され、明示・黙示を問わず保証はありません。

蒸留に使用したテキストコーパス:
  - JSUT ver1.1 (高道慎之介) — CC-BY-SA-4.0 ほか(subset 別)
      https://sites.google.com/site/shinnosuketakamichi/publication/jsut
      ライセンス: https://creativecommons.org/licenses/by-sa/4.0/
      ⚠️ **v4 以降の重みでは不要**(下記)

出力の用途制限(LICENSE-MODEL.md §3.2・必須・伝播します)

つくよみちゃんコーパスの条件により、このページが生成した音声は次に使えません。

このページが動かしているのは v4 の重みです (リリース v1.0.0 をタグ固定で読み込んでいます。 saanotts-jp-v4-int8.bin / sha256 a1eb6b08…)。 蒸留テキストから JSUT を外したので、上の帰属ブロックの JSUT の行はこのページには必要ありません (⚠️ ブロックは正典 LICENSE-MODEL.md §3.1 の写しなので、 v3 を使う人のために行ごと残してあります)。 ⚠️ 下の用途制限とコピーレフトは v4 でも 1 つも減りません — それはつくよみちゃんコーパスの条件から来ています。

⚠️ 成人向け表現そのものは禁止されていません (提供元は「適切なゾーニングが実施されている限りにおいては、成人向け表現や残酷な表現についても 制限を設けておりません」と明言しています)。 ⚠️ 鑑賞用の作品として配布・販売することも問題ありません — 禁止されているのは他者に二次利用を許可する形での公開です。

一次ソース: https://tyc.rei-yumesaki.net/material/corpus/条件は提供元が更新しうるため、配布・利用の前に一次ソースを確認してください。 一次ソースと本ページが食い違う場合、一次ソースが優先します。

この 2 つの条件は第三者にも課す義務があります(§3.3)。 音声を再配布する場合は、§3.1 と §3.2 を外さないでください。

⚠️ このページに音声のダウンロード機能が無いのは意図的です(上の「素材としての再配布」の線を曖昧にしないため)。

同梱している第三者のもの