手軽に音声合成

Last modified on 11/12/2013.

まずは、音声合成のICを使ってしゃべることからはじめようと思います。以前に作ったことのある下の回路を使う予定です。この回路を作った後は、改良していく予定です。

tts

備忘録を兼ねて、作り方をおさらいしながらまとめていきます。


AQUESTの音声合成LSI 「AquesTalk pico LSI」のATP3011を用いれば、手軽に音声合成を作ることができます。準備するものは、Arduino、音声合成LSI(ATP3011)、スピーカ、USBケーブル、ジャンパワイヤです。

uno

atp3011

Arduinoに刺さっているAVRマイコンを外し、ATP3011を差し込みます。差し込む向きに気をつける必要があります。マイコンが刺さっていたように差し込む必要があり、ピン番号を確認してください。マイコンボードの文字とATP3011の文字が逆になります。

uno_atp3011

データシートを見ると書いてあるように、合成された音声はデジタル6番ピン(D6)から出力されます。そこで、D6ピンとGNDピンにスピーカを接続します。USBケーブルでPCと接続したら、ハードウェアの設計は完了です。

uno_atp_sp


次はソフトウェアの設定です。Arduinoを接続し、ドライバをインストールします。これは一回だけの設定で、PCでArduinoを使用できる状態にします。Arduino IDEインターネットからダウンロードすると、ドライバも含まれています。

Arduino IDEを起動したら、マイコンボードとポートの設定をします。ウィンドウの右下に、例えば、「Arduino Uno on COM4」と記載されています。「ツール」の「マイコンボード」と「シリアルポート」を設定してください。

Arduino IDEからシリアルモニタを開きます。「ツール」の「シリアルモニタ」か、ウィンドウの右上の虫眼鏡のようなアイコンをクリックすると、別ウィンドウでシリアルモニタが開きます。

シリアルモニタの右下を「CRのみ」と「9600baud」に選択します。

Arduino(マイコンボード)の「リセットボタン」を押します。←これに気付かず、反応がなくて悩みました。動かない動かない、何がおかしいのか分からないって何度も配線や設定を見直しました。

「送信」の左のボックスに、半角の「?」を入力して送信すると、「>>」が表示されます。その後、同じように送信ボックスに「konnichiwa.」を入力して送信すると、スピーカから「こんにちは」が聞こえます。

スピーカを直接駆動することは推奨されていませんので、何らかのアンプを作製しなければなりません。