先回のAquestalkはメモリー少しで動いてすごく良くできてるんですが
その分音声合成で演算負荷はそこそこある。

M5Stick #スタックチャン に
— しん_2-41 (@shinichi_nino) 2026年5月9日
声をさずける~♪
かわいいこどもの声にしてみた!
声を自由に変えれて、
負荷が軽い #MemoryTalk に変えてみた
DACのポート出力直で
圧電ブザーを低周波共鳴に振って
やっとなので音質悪く、
音小さいです...^^;#AquesTalk 版https://t.co/5OvPVjh8cB#M5Stack pic.twitter.com/bR1S5MlwFQ
リアルタイムでいろいろやりたいことがある時は演算能力の高い
ESP32でも
それなりに気を遣ってやらないと音声ってちゃんと声として
聞こえなくなります。
特に。。。自分がよくやるLoopで割込み使わずに
疑似TSSっぽい使い方でマイコン使うと
先回、紹介したみたいにだんだん面倒なことしないといけなくなる。
で・・・M5Stack、ESP32はそういえばフツーの工作ではメモリーが
たっぷり余ってるの思い出した。
AIでいろいろ自由なおしゃべりさせるなら音声合成が便利かと思うけど
自分が使う工作レベルだと100個程度の言葉があればそれの組合せで
十分足りるんでした。
なら、、、音声合成をわざわざリアルタイム的にやる必要はないな・・・
予め作って音声合成してメモリーに置いとけばいいじゃん。です。
それなら、演算負荷ゼロなのでサンプリングはもっと上げれるし、
分解能も上げれる。
Aquestalkだと声質とか口調とかは自由には変えられないけど
事前合成なら自由自在。。。^^;
すごく自然な音声の VOICEPEAK や 音読さん の音声が使える。
それらでwavデータは簡単に作れるので
その後は、C言語用のヘッダーファイルに変換すれば
コンパイルする時に読み込んでやるだけ。
C言語用のヘッダーファイルに変換はいろいろあるけど
自分はこちらのWEBベースで使える簡単なbitluniを使った。

https://bitluni.net/wp-content/uploads/2018/01/Audio2Header.html
8bitデータ生成で
凝ったことはできないけど、使い方は何も説明いらん。。。簡単。
WAVデータ選択して、サンプリング周波数入れるだけ。
たとえば1秒の音声で8kB。
ESP32なら ロボ声でいいなら
50音、他濁音等々作っておいて組合わせで使うのも、
短文数十パターン作っておいて組合わせでもメモリーは十分余裕です。