2017/01/23(月)21:09
ESP-WROOM-02 で AquesTalk pico LSI を喋らせてみた (1)
ESPr Developer(ESP-WROOM-02開発ボード) で 音声合成LSI 「AquesTalk pico LSI」 を制御してみようかと思っているので、とりあえず、AquesTalk pico のデモモードで喋らせてみた。
ESP-WROOM-02 は、まだ電源供給に使っているだけで、LSI と、PAM8012 というD級アンプ(基板の上の方に飛び出ている部分)とスピーカーを繫いだら、デモモードでプリセットメッセージを喋ってくれた。
AquesTalk pico LSI は、Atmel 社の 8bit マイクロコントローラ ATmega328(または ATmega328P)に、音声合成ミドルウェア AquesTalk pico をファームウェアとして搭載した製品ということなので、Arduino UNO の ATmega328 を引き抜いて、代わりに基板に挿してしまうのが、一番簡単な使い方のようだ。
AquesTalk pico LSI の特長は、次の通り。
文字列を送るだけで音声出力するシンプルインターフェース
実装に便利な 28pinDIP、小サイズの 32pinTQFP の2種類のパッケージ
外付け部品不要(アナログオーディオアンプは別途)
Arduino uno などの基板に直接装着して使用可能
3種のシリアルインターフェース UART/I2C/SPI
2種類のカスタマイズ可能なチャイム音
数値を適切な読みとアクセントで読み上げ(タグ指定)
カスタマイズ可能な 15 種類のプリセットメッセージ
端子の変化をトリガにプリセットメッセージを発声
話速やプリセットメッセージなどを実装後に設定可能
ユーザ設定専用アプリ PicoRomWriter を別途配布
簡単に Arduino UNO を使ってやってもよいが、それだけだと単体でネットワークから命令を送って何か喋らせるとかできないので、ESP-WROOM-02 をつなぐことにした。AquesTalk pico LSI の動作電圧は 2.5V - 5.5V なので、5V 動作の Arduino UNO でも、3.3V 動作の ESP-WROOM-02 でも問題ない。
ちなみに、LSI の消費電流は 3V 時のコマンドモードでは、UART が 0.5mA、I2C が 0.07mA、SPI が 0.5mA で、I2C を使うのが消費電力が少なくて済むようなので、I2C で接続することにした。
Arduino用 音声合成LSIライブラリ のライブラリと回路図を参考に組んでみた。制御のためのライブラリは、 Arduino_AquesTalk_Library.zip を使わせていただいた。とりあえず、喋るようになったので、次は、外部のプログラムから喋らせる仕組みを作ってみようかと思っている。