以前の続きです。株式会社アクエストが開発している「音声合成LSI(「ATP3011(←データシートPDF)」と「ATP3012」(←データシートPDF)」)」を試用しているのですが、ATP3011からは音声を出すことができていませんでした。今回は、「ATP3011を使って音声を出す」ことを目標にして、動作実験を進めていきたいと思います。
#この音声合成LSIの詳細は、公式Webサイトの「音声合成LSI「AquesTalk pico LSI」」をご覧ください。
これまでは、Arduino IDEなどを使ったシリアル通信で音声を出す方法で動作実験をしてきましたが、Arduinoの互換機や自作互換マイコンボードなどにATP3011やATP3012を載せ替えて動作実験をすると、ATP3012系のLSIでは音声が出せるものの、ATP3011系のLSIでは音声が出せていませんでした。別の方法として、Arduino(互換機含む)にプログラムして、これらの音声合成LSIをつないでコントロールする方法があるので、今回はそちらで試してみることにします。
#Arduinoのプログラム方法は、misawa @ELIXIRさんの「1000円で作る日本語音声合成装置」を参考にしました。
今回選んだArudino互換機は、Seeed Studioの「Seeeduino XIAO」です。自宅に在庫があったのと、小さいので回路設計が簡単にできて動作実験環境が楽に構築できると思ったからでした。Seeeduino XIAOの設定等については、公式サイトにガイドがありましたので参考にしてください。
- 「Getting Started with Seeed Studio XIAO SAMD21」
→日本語:「Seeed Studio XIAO SAMD21 入門ガイド」 - 「How to Add Seeed boards to Arduino IDE」
→日本語:「Arduino IDEにSeeedボードを追加する方法」
Arduino IDE(2.3.8)を起動して、「Arduino IDE」メニューから「基本設定…」をクリックします。すると、基本設定の窓が開くので、「設定」タグの「追加のボードマネージャのURL:」以下に、
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
と入力します。既に入力されているURLがある場合には、URLを入力するテキストフィールドの右にあるボタン(複数のURLを入力する窓を開くためのボタン)をクリックすると、2つ以上のURL(1行に1つ)を入力することができます。入力が終わって「OK」ボタンをクリックすると、ボードマネージャで「Seeed SAMD Boards」を検索してインストールすることができるようになります。(作業時のバージョンは、1.8.5でした)インストールが終わったら、「ツール」メニューから「ボード:」→「Seeeduino SAMD Board」→「Seeeduino XIAO」を選択します。
#Arduino IDEの動作環境は、いつものMacBook Proを使用しています。
ここでSeeeduino XIAOをUSB-CケーブルでMacBook Proにつなぎます。すると、「ツール」メニューの「ポート:」から、「/dev.cu.usbmodem******(Seeeduino XIAO)」を選ぶことができるようになるので、これを選んで準備完了です。動作確認のため、「ファイル」メニューから「スケッチ例」→「01.Basics」→「Blink」を開いて「→(コンパイル&書き込み)」ボタンをクリックすると、問題なくコンパイルと書き込みが完了してLチカ動作確認ができました。
次に、先程紹介した、「1000円で…」のWebページで紹介されていたサンプルスケッチを参考にして、Arduino IDEでプログラムをしていきます。変更したところは、RXとTXのピンを「2」と「3」に設定しました。そもそもSeeeduino XIAOのRX/TXの入出力ピンは、「6」と「7」に割り振られています。Arduino UNOの場合は、「0」と「1」に割り振られていて、サンプルスケッチでは、「12」と「13」にRXとTXを設定していました。サンプルスケッチでRX/TXの入出力ピンを避けていることを考慮して、Seeeduino XIAOで他の役割をあまり与えられていない「2」と「3」に設定しました。(「6」と「7」に設定しても、問題はありませんでした)プログラムを書き終えたら「→(コンパイル&書き込み)」ボタンをクリックしてプログラムを書き込むと、アンプ内蔵スピーカーから音声が出ました。
今回は、一連の動作実験をブレッドボード上で行っていましたが、この環境を残しておきたいと考えて、ユニバーサル基板とピンソケット、ゼロプレッシャーICソケットなどを使って、仮称「ATP301x音声ボード」を作ってみました。
切り替えスイッチを付けてATP3011とATP3012の両方に対応できるようにしようと思いましたが、今度はATP3012の方が動いてくれませんでした。orz(しばらくは、試行錯誤が続くかも…)今回作った自作ボードは、スピーカーの中に組み込んでも使える大きさだし、教材としても使えてしまうのではないかと妄想がふくらみます。(PCB設計にも興味が向いてしまうところですが…)
「音声合成LSI(ATP3011とATP3012)を使ってみる」