株式会社アクエストの AquesTalk pico (音声合成 LSI ATP301x) を使ってみます。
秋月電子または Aquest Online Store で購入できます。
音声の種類はお好みで。
ATP301x のピンアウトは以下の通りです (ATP3011)。
ATP3012 はピンアウトが異なりますのでデータシートで確認してください。
ATP301x の中身は ATMEGA328P-PU なので、ATMEGA328P を単体で動かせれば ATP301x も動かせます。
まずはこちらを参考に配線してください。IC ソケットに入っている ATMEGA328P を採用した Ardino Uno であれば、ATMEGA328P と ATP301x を交換して試す事もできます。
また、ATP3011 には外部クロックが不要ですが、ATP3010 / ATP3012 には外部クロックが必要です。
スピーカーを接続するピンは以下のようになります。
製品 | ピン | Arduino UNO でのピン |
ATP3010 | 12 (AOUT) | 6 |
ATP3011 | ||
ATP3012 | 15 (AOUT) | 9 |
スピーカー用アンプ回路の作り方はデータシートに載っています。
私は上記の部品で簡易アンプを作りました。音が小さくても構わないのでしたら、ブザーを接続してもいいでしょう。
ATP301x は UART / I2C / SPI いずれでも動作させられるのですが、今回は動作確認のために UART (シリアル通信) で試してみました。
接続は、この図の ATMEGA328P が ATP301x になり、スピーカーを繋いだだけとなります。
シリアルモニタを開き、右下の設定を CRのみ / 9600 bps に設定します。
最初に "?" と入力して [送信] ボタンを押し、それ以降はローマ字でデータを送れば音声が流れます。例えば 「こんにちは」 は 「konnichiwa.」 となります (ピリオド終端)。
音声記号列の仕様についてはデータシートを参考にしてください。
音声はぶっちゃけ "○っくり" とか "○ッパー" の声なんですけどね。製品紹介にも "ゆっくり" って書いてありますし (w
ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。