前回の続きです。これまで、株式会社アクエストが開発している「音声合成LSI(「ATP3011(←データシートPDF)」と「ATP3012(←データシートPDF)」)」を試用してきました。前回は、ATP3011からも音声を出すことができて、仮称「ATP301x音声ボード」まで作ることができました。(ATP3012系で音声が出ない問題は解決していませんが…)この勢いの乗って、今回は「Arduino ATP301x音声シールド」を作っていきたいと思います。
#この音声合成LSIの詳細は、公式Webサイトの「音声合成LSI「AquesTalk pico LSI」」をご覧ください。
前回までに、Arduino互換機の「Seeeduino XIAO(Seeed Studio)」を使ってATP3011で音声を出して、一つの基板にSeeeduino XIAOとATP3011を載せた音声ボードを作るところまでできました。この知見を活かして、せっかくなら各種Arduinoに載せられるようなシールドを作ってしまおうと考えました。
Arduinoのシールドについては、フィジカル・コンピューティングを始めた初期の頃からいろいろとやっていたのですが、このところすっかりご無沙汰状態でした。シールドを載せるArduinoは、Arduino UNO R3(互換機)を選びました。そもそも、前回から参考にしているmisawa @ELIXIRさんの「1000円で作る日本語音声合成装置」には、Arudino UNOでの使用例が示されています。この回路をシールドにするだけなので、それほど難しいことはないと思って作業を始めました。
自宅に在庫があったArduino用ユニバーサルシールド基板は、サンハヤトの「UB-ARD03」でした。Arduinoの独特なピン配置を一般的な2.54mmピッチに変換しながら、ユニバーサル基板部分には様々な電子部品を載せられるようになっています。ただし、ピンの変換をした内側の1列は、それぞれVCCとGNDになっているので、純粋にユニバーサル基板として使えるところは少し狭くなっています。しかも、ゼロプレッシャーICソケットを載せるので、使えるところは限られてしまいます。表裏を何度も確認しながら、狭いところに配線を取り回してどうにか回路を組むことができました。
できあがった自作シールドをArduino UNOに載せて動作確認をしてみましたが、うまく動いてくれません。はじめは、RX/TXの配線あたりに原因があるのではないかと考えて、被覆付きのケーブルを使って最短距離でつないでみましたが、出力されているはずの「音声」を聞き取れるようにはなりませんでした。テスターをあてて導通を確認したり、デジタル顕微鏡ではんだブリッジやハンダ不良がないか確認をしてみました。ところどころで導通が不安定に感じるところはありましたが、概ね導通に問題はなく、原因を特定することができませんでした。
半分ヤケ○ソになりながら、かつてブレッドボードを載せたArduinoシールドがあったことを思い出して、ユニバーサルシールド基板に小さなブレッドボードを載せてやってみることにしました。先に作った自作シールドのときと同じように、Arduino UNOとATP3011との間で通信が行われているであろう雰囲気(定期的にパルスのようなノイズが出る)は感じられるのですが、残念ながら音声を出すことができませんでした。
ATP3011のデータシートには、もう少し複雑な回路例が示されているので、こちらを参考にしてチャレンジしてみるのもよいかもしれません。そもそも今回の動作確認では、本家版のArduino UNO R3ではなくその互換機を使っていますが、本家版のAtduino UNO R3だったらどうなるのか、Arduino UNO R4でやってみたら…と試行錯誤は続きそうです。
「音声合成LSI(ATP3011とATP3012)を使ってみる」

0 件のコメント:
コメントを投稿