以前の続きです。これまで、株式会社アクエストが開発している「音声合成LSI(「ATP3011(←データシートPDF)」を使って音声を出すために、Arduino用自作シールドを作成してみたのですが、Arduino UNO R3(互換機)との通信には成功している感じはするのですが、音声が出せずにつまずいている状態です。Arduino互換機の「Seeeduino XIAO(Seeed Studio)を使ってATP3011で音声を出して、一つの基板にSeeeduino XIAOとATP3011を載せた音声ボードを作るところまではできているので、このやり方や考え方が通用しないということに苦しめられています。
#この音声合成LSIの詳細は、公式Webサイトの「音声合成LSI「AquesTalk pico LSI」」をご覧ください。
今回の実験用に本家版のArduino UNO R3とArduino UNO R4 minima、その互換機のControl Board V5(Freenove)を使うことにします。Arduinoの互換機については、これまでにも様々なものを購入して使ってきました。多くの場合、本家のものと比べても遜色なく使えたので、あまり意識して使い分けていませんでした。本家版のArduino UNOでやってみて、結果が大きく変わるほどの違いがあるのかやってみないとわかりませんが、動かない原因を究明するためにやってみます。
自作シールドで使っているArduino用ユニバーサルシールド基板は、サンハヤトの「UB-ARD03」です。VccとGNDは、ユニバーサルシールド基板の左(GND)と右(Vcc)の各1列に接続されているので、電源の取り回しが楽にできるような設計になっています。また、misawa @ELIXIRさんの「1000円で作る日本語音声合成装置」を参考にして、回路を組んでArduino IDEのプログラムを作りました。もう一つ、小さなブレッドボードを載せた自作シールドも使ってみます。
音声出力は、YAZAWAのTVR35WH(アンプ内蔵スピーカー)と普段使いのXINYI Sini Audio(XY-C50L←YouTubeの動画)にDAISOの300円スピーカーを改造したスピーカーをつないだ環境でも確認しています。Arduino IDEは、macOS版v2.3.10を古いiMacで動かしてコンパイルと書き込み作業を行いました。動作確認の結果は以下のとおりです。
〈Arduino UNO R3〉
自作シールドでは、互換機でやったときの状況と同様に、数値を読み上げているはずのタイミングで定期的にノイズが発生している(通信はできている)のですが、肝心な「音声」としての出力ができませんでした。ブレッドボードシールドでも同じような結果になったので、公式のデータシートで示されている「基本回路」を参考にして回路を組み直してもやってみましたが、アンプ手前で音量が落ちますが、結果は全く同じでした。
〈Arduino UNO R4 minima〉
自作シールドでは、R3のときと同様に、数値を読み上げているはずのタイミングで定期的にノイズが発生している(通信はできている)のですが、肝心な「音声」としての出力ができませんでした。ブレッドボードシールドでもUNO R3のときと全く同じで、回路を組み直しても定期的なノイズしか聴こえませんでした。
〈Freenove control board V5 (Rev4) MINI〉
自作シールドでは、残念ながらこれまでの2つと同様に、数値を読み上げているはずのタイミングで定期的にノイズが発生している(通信はできている)のですが、肝心な「音声」としての出力ができませんでした。ブレッドボードシールドでもやってみましたが、やはりこれまでの2つと同じで、定期的なノイズしか聴こえませんでした。
困ったもので、お手上げ状態でした。ここまで来ると、もう一度基本に立ち戻って、1からやり直してみるのが良さそうな気がします。サンハヤトのユニバーサルシールド基板に原因があるのかもしれませんし、ブレッドボードでやってもうまくいかないのならもっと根本的な原因があるのかもしれません。状況を整理してから、再チャレンジしてみたいと思います。
※過去記事は、「音声合成LSI(ATP3011とATP3012)を使ってみる」(←リンク)からご覧ください。

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