2025年5月11日日曜日

リコーダー風の電子楽器を購入してみた

最近、吹奏楽器の中でも「笛」と呼ばれる形状の楽器にアンテナが高くなっています。もともと金管楽器の指導をしていた頃にも、より簡単に音が出る「笛」には興味があって、民族楽器的なものも含めて気になったものを買っていました。
#そう言えば、だいぶ昔に欲しくて欲しくて購入した「オカリナ」をすぐに落として割ってしまったかなり残念な記憶が蘇ってきました。orz

笛型の吹奏楽器の1つである「ウィンドシンセサイザー」は、私自身にとっても長年の憧れなのですが、価格の問題がブレーキになってなかなか手が出せずにおりました。もともとは「リリコン」と呼ばれた製品がありましたが、現在ではAKAIEWI(Electronic Wind Instrument)シリーズが一番有名でしょうか。この分野は昔から一定の需要があるらしく、文字通り「息の長い」製品となっています。一方、「ブレス・コントローラー」というシンセサイザーの周辺機器的なものもあって、打鍵ではなく吹奏でシンセサイザーの音を鳴らす(鍵盤は音程を選ぶだけ)ことにも需要があるようです。(こちらは「鍵盤ハーモニカ」の電子版のようなイメージです)いずれにしても、費用対効果を考えるとなかなか手が出ず、齢ばかりを重ねていました。

そんな中、Amazonで「Electric Blowpipe」という、1万円を切る価格ながらリコーダーのように演奏ができる電子楽器を見つけて衝動買いしてしまいました。英語的にはあまり楽器らしくないネーミング(Blowpipe:「吹き矢」とか「火吹竹」のような道具の意味らしい)の中華製電子楽器です。パッケージには型番らしきものはなく、一番大きく書かれているのは「MADE IN CHINA」という文字で、購入の決め手はMIDIにも対応していると謳っていたことでした。
#中華製品あるあるですが、製造元だとか正式名称だとか型番だとかを探していると、同じような製品の情報が大量に出てきて収集がつかないのに肝心の知りたいことが全くわからない状況です。

パッケージの中に入っていたのは、本体と専用の布袋、シリコンマウスピース、説明書(英語)だけで非常にシンプルです。機能もかなりシンプルで、「音を出す」ということだけであれば、電源を入れて息を吹き込めば音が出ます。指使いもシンプルだし、吹奏による音量の変化もわかりやすいと思いました。意外に思ったのは、そこそこの重量があること。中華製品あるあるの「軽くてスカスカ」な感じはしません。筐体が金属でできているようなので、その重さがほとんどなのかもしれませんが、本物のリコーダーに比べたらかなりずっしりと重たいです。800mAhリチウムバッテリー内蔵なので、充電して使うことになります。

13の音色で演奏ができることになっていますが、音色リストは以下のとおりです。

〈Tone List〉

  • 01 Alto Saxophone(アルトサックス)
  • 02 Soprano Saxophone(ソプラノサックス)
  • 03 Morin Khuur(モリンホール)
  • 04 Clarinet(クラリネット)
  • 05 Hulusi(フルス)
  • 06 Trumpet(トランペット)
  • 07 Suona(ソーナー)
  • 08 Ocarina(オカリナ)
  • 09 Flute(フルート)
  • 10 Bamboo Flute(DIZI:ディジ)
  • 11 Recorder(リコーダー)
  • 12 Violin(バイオリン)
  • 13 Erhu(アルフー:二胡)

音色のチョイスは独特なものを感じましたが、民族楽器も好きな方なので(再現性は確かめようがないものの)嫌いじゃないと思いました。肝心の演奏感としては、吹奏楽器として吹いた感じと音の出方(反応)には、違和感はありませんでした。運指への反応も悪くない。唇を締める圧力までは感知していないので、電子リコーダーと呼べばよいでしょうか。欲を言えば、両手の親指だけで楽器を支える状態になったとき、楽器自体が重くて落としてしまいそうになるので、首にかけるストラップのようなものがあったら安心して演奏できるかなと思いました。

もう一つ難点を言うと、裏面側の操作スイッチ(押しボタン)が直感的にわかりにくいこと。電源マークのボタン以外は、1〜9の数字が刻まれているボタンに機能が割り振られているのですが、簡易な説明書を読むまではそれぞれのボタンにどんな機能が割り振られているのかわかりません。2桁の7セグLEDで何かを表現しようとしているようなのですが、数字とアルファベット2文字の略語のような表現なので、割り振られている機能を理解していないと意味がわからないと思います。そもそも1〜9の数字が刻まれている意味がなく、何か別の製品のボタンを使い回している(だから安い)のではないかとさえ思ってしまいます。

とは言え、1万円以下でこのレベルの電子楽器が手に入ることにはちょっと驚きを感じました。まだMIDIのテストはしていませんが、どんなことができるのか、期待半分怖さ半分で試していきたいと思います。

2025年5月4日日曜日

Raspberry Pi Pico 2を使ってみた〜ビジュアルプログラミング

前回の続きです。Raspberry Pi Pico 2を使ってフィジカル・コンピューティングの動作確認をしていきます。前回は、Thonnyを使ったMicroPythonプログラミングでの動作確認をしました。今回は、ビジュアルプログラミング環境での動作確認をしたいと思います。以前の記事(「Piper Make編」「BIPES編」)で、Piper MakeBIPESでの動作確認をしましたが、今回もこの2つのサイトを利用してビジュアルプログラミングの動作確認をしていきたいと思います。
#今回も動作確認に使うPCは、Linux Mintで動かしている自作PCを使用します。

〈Piper Make編〉
先ほど紹介した拙Blogの記事を参考にしながら、Piper Makeで動作確認をしてみました。まず、ChromeブラウザーでPiper Makeのサイトを開いて「CREATIVE」モードにしておきます。Piper Makeは専用のファームウェアを使用するので、「SETUP MY PICO」ボタンをクリックしてセッティングを開始します。Pi Picoを(ストレージモードで)PCに接続したときは、「RPI-RP2」という名称のUSBストレージデバイスとして認識されたのですが、Pi Pico 2では、「RP2350」という名称になっていました。とりあえず、この中にファームウェアをインストールするように選択をして、セットアップを終えました。

Pi Pico 2(RP2350)の中には、「piper_circuitpython.uf2」というファームウェアが書き込まれたようですが、自動で再起動されることはなく、手動でUSBケーブルを抜いて再度PCへ接続してみました。この状態でPi Pico 2をPCに接続しても、基本的には何も起きません。そこで、Piper Makeの「CREATIVE」モードから、過去に自分が作ったLチカプログラムを開いて動作確認を進めていきます。プログラムを開いたウィンドウの左下に「CONNECT(接続する)」ボタンがあるのでこれをクリックします。すると、シリアルポートが読み取られて接続できるPi Picoが表示されるはずなのですが、「対応デバイスが見つかりませんでした。」と表示されてPi Pico 2は認識されていないようでした。

Piper Makeを詳しく調べていくとPi Pico 2での動作についての記述が見当たらず、今後のことはわかりませんが、現状ではPi Pico 2には対応していないようでした。

〈BIPES編〉
気を取り直して、次にBIPESでの動作確認をしていきたいと思います。こちらも先ほど紹介した拙Blogの記事を参考にしながら作業を進めていきます。BIPESは、内部的にMicroPythonを使うので、動作確認に使用するPi Pico 2にはあらかじめPi Pico 2用のファームウェアを入れてセットアップをしておきます。

BIPESのサイトを開いて、接続するデバイスを選ぶところで嫌な予感がしました。「Raspberry Pi Pico 2」は、選択肢にありません。仕方がないので、ダメ元で「Raspberry Pi Pico」を選択して、デバイスの「Connect(接続)」ボタンをクリックしてみました。すると、シリアルポートに「tty」から始まる接続先が現れたので、これを選択してから「接続」ボタンをクリックしました。
#接続先のポートがわからない場合は、Pi Pico 2をつないでいるUSBケーブルを抜き差しして、消えたり現れたりするポートを確認すると、接続先のポートを見つけることができます。(ターミナルコンソールを開いて確認するより速い)

以前に作っていたLチカプログラムがそのまま残っていたので、少々ドキドキしながら「RUN(右向き三角マーク)」ボタンをクリックしてみたところ、Lチカ動作確認ができてしまいました。期待をしていなかったので、思わず「動いた!」と声を上げてしまいました。
#ここで使ったLチカプログラムも先ほど紹介した拙Blogに記載していたものです。

ということで、Pi Pico 2でビジュアルプログラミングをやりたい場合は、BIPESならできるということがわかりました。日本の小学校でこれを使いたいという場合には、やはり英語表記がネックになると思います。これをよい機会と捉えて、「英語の学習も兼ねて」なんて思ってくれる方がどのくらいいるかわかりませんが、個人ベースでなら小学生でもチャレンジしてくれる子がいてもよい気がしています。こういう攻略を楽しめる子が増えてくれると嬉しいのですが…。

「Raspberry Pi Pico 2を使ってみた」

2025年4月26日土曜日

Raspberry Pi Pico 2を使ってみた〜Thonny(MicroPython)プログラミング

以前の続きです。これまでRaspberry Pi Picoでやってきた動作実験を、Raspberry Pi Pico 2でもやってみようと思って復習を兼ねて取り組んでいます。今回は、Thonnyを使ってMicroPythonでのプログラミングについて動作確認をします。

はじめに、Pi Pico 2をMicroPythonでのプログラミングに対応させるために、ファームウェアを変更する作業を行います。各Pi Picoに対応したファームウェアファイル(「.uf2」ファイルなので他の実行ファイルと区別はつきにくい)は、以下のところからダウンロードすることができます。

今回は、Pi Pico 2を使いますので、対応したファームウェアファイル(.uf2)をダウンロードしておきます。これをPi Pico 2にコピーするために、USBケーブルでPi Pico 2とPCを接続します。その際に、(他のPi Picoシリーズと同じく)接続するPi Pico 2が一度も実行ファイル(.uf2)を入れた(コピーした)ことがなければ、PCに挿しただけでUSBストレージデバイスとして認識されます。この「USBストレージデバイス」として認識されているところに、一度でも実行ファイル(.uf2)を入れた(コピーした)ことがある場合は、それがC/C++でのプログラミングであってもMicroPythonでのプログラミングであっても、それ以降は「BOOTSEL」ボタンを押しながら接続しないと、USBストレージデバイスとしては認識してくれなくなるので注意が必要です。
#ちなみに、今回もPCはLinux Mintで動かしている自作PCを使用して動作確認しています。

USBストレージデバイスとして認識されたPi Pico 2に、MicroPythonでのプログラミングに対応させるファームウェアをコピーすると、自動的にPi Pico 2がリセットされてUSB接続された状態になります。これでPi Pico 2側のセットアップは完了です。続けて、Thonnyを起動すると、既にPi Pico用のセットアップを済ませていたため何の問題もなく接続されました。(詳しい設定方法は、拙Blogの過去記事を御覧ください)

あとは、とりあえずLチカプログラム(.py)を開いて「実行」ボタンをクリックするだけです。ということで、あっけないほど無事にLチカ実験が完了して動作確認ができました。試しに、Pi Picoに挿し替えて同じようにLチカできるか確認しましたが、Pi PicoでもPi Pico 2でもThonnyが自動的に認識して同じLチカプログラムが動くことを確認しました。挿し替える際は、一度「停止」ボタンをクリックしてからUSBケーブルを抜き、挿し替えたらもう一度「停止」ボタンをクリックすると自動的に認識してくれます。この方法でうまくいかなかったら、Thonnyを終了させてから挿し替えて、再びThonnyを起動すれば問題ないと思います。

C/C++でやったときは、環境を整えるためにいろいろと試行錯誤しましたが、あまりにも簡単に動作確認することができてしまい、Pi Picoとの共存も簡単にできることがわかりました。初学者用としては、こちらの方がかなり良いと思いました。

〈参考Lチカプログラム(MicroPython)〉

from machine import Pin
import utime
led = Pin(25, Pin.OUT)
while True:
led.toggle()
utime.sleep_ms(400)

「Raspberry Pi Pico 2を使ってみた」

2025年4月17日木曜日

LP-838(Lepy)2.1 chのD級アンプを試してみる

これまで、様々なスピーカーユニットを使ってスピーカーの自作に挑戦してきましたが、サブウーファーを試すためには、Amazonで購入した「ZK-MT21(←YouTube動画)」という2.1 ch対応のパワーアンプを使っていました。これはこれで、コンパクトで使い勝手が良いので重宝しているのですが、YouTubeで「Lepy」と刻印されたHi-Fi 2.1 chステレオパワーアンプがあることを知って、気になったので購入してしまいました。

今回購入したのは、「Lepy LP-838(←YouTube動画)」という割とスタンダードなもののようですが、同じ「Lepy」でも型番の違うものや「Lepy」ではなく「Lvpin」や「Lepai」となっているものなど、いろいろあるので調べてみました。型番違いは機能や形も違うので需要に応じて選べば良いようですが、「Lepy」というのがブランド名でBukang Technologyという会社の製品のようです。元々は、「Lepai」というブランド名で製造・販売されていたものが「Lepy」へとブランド名を変更したとのこと。「Lvpin」は別会社のコピー品とのことでした。
#「Lepai LP-2020A+のコピー品caiyun Lvpin CY-20Aについて」や「中華アンプのおすすめ人気ランキング【2025年】」を参考にしました。

また、同じ「Lepy LP-838」でも中身が違うものがあるようで、いくつかの分解動画を見比べて自分が買ったものも中身を確認してみましたが、同じ「MADE IN BUKANG(基板にシルク印刷されている)」でもアンプICやスイッチなどの構成が違っているようでした。そもそも、コピー品が多く出回る中華製品ですので、刻印されているものが本当かどうかも含めて疑っておく必要はあるかもしれません。(知らんけど)一応、簡単な仕様について以下にまとめておきます。

〈Lepy LP-838〉

  • 対応するスピーカーインピーダンス…4〜8Ω
  • オーディオ入力…【リア】RCAオーディオピンジャック・【フロント】3.5 mm TRSオーディオジャック(何故か「MP3」と刻印されている)
  • スピーカー端子出力…15W×2 ch(ステレオ出力)
  • ネジ端子出力…20W×1 ch(サブウーファー出力)
  • 電源入力…DC12〜14.4V(最大3A)
  • アンプIC…TDA7266(←Datasheet)

#基板を確認して、「TDA7266」とシルク印刷されているのを確認しましたが、これを信頼するかしないかは自分次第ということになります。

以前使っていたZK-MT21の方は、以下のとおりです。

〈ZK-MT21〉

  • 対応するスピーカーインピーダンス…4〜8Ω
  • オーディオ入力…3.5 mm TRSオーディオジャック
  • ネジ端子出力…50W×2 ch(ステレオ出力)+100W×1 ch(サブウーファー出力)
  • 電源入力…DC12〜24V(最大9A)
  • アンプIC…CS8673E(←Datasheet)

#「ZK-MT21 2.1 CHANNEL 200W CLASS D (CS8673E) BLUETOOTH AMPLIFIER WITH AUXILIARY INPUT TEST & REVIEW」(←YouTube動画)

使ってみての感想ですが、ZK-MT21は「FREQ(Frequency)」の調節ができるようになっているのですが、LP-838だとその調節ができないことがネックだと感じました。LP-838では、サブウーファーへ出力する周波数をいじれないので、「BASS」の音量とサブウーファー音量だけで調節する必要があります。そのため、かなり考えてあれやこれやと確かめながらセッティングしないと満足できる音にはならないように思いました。

総じてではありますが、クラシックのような低音も複雑に音が重なる楽曲では調節が難しく、電子楽器を多用する楽曲や小編成バンドのような楽曲では低音の強調が心地よい印象をもちました。スピーカーの組み合わせ方によっても聴こえ方が異なる可能性があるので、さらにいろいろと試してみたくなりました。(まさに「沼」である…orz)

2025年4月4日金曜日

Raspberry Pi Pico 2を使ってみた〜C/C++ SDKでLチカプログラミング

以前に買ったまま放置状態で、昨年あたりから本格的に使い始めているRaspberry Pi Picoですが、その後継機としてRaspberry Pi Pico 2が開発・販売されています。搭載されているチップが、Pi PicoのRP2040(←DatasheetのPDF)からPi Pico 2のRP2350(←DatasheetのPDF)に変更になっていることが大きな違いのようですが、使用感としてどんな違いがあるのか(それほど違いはないのか)確かめてみたいと思います。
#Pi PicoとPi Pico 2の詳しい違いは、Pico Seriseのページにまとまっています。

これまでPi Picoを使って実験的なことをやってきましたが、Pi PicoでできたことがPi Pico 2でもできるかどうか検証してみたいと思います。(その前に、今回購入したPi Pico 2はピンヘッダなしのものだったので、ピンヘッダのはんだ付けもしました)

無駄なこととは思いながら、以前Pi Pico用にLinux Mintで動かしている自作PCで作った、動作確認(Lチカ)するための「blink.uf2」(プログラムファイル)をPi Pico 2に入れてみたらどうなるだろうかと思って、試しにやってみました。(C/C++でのプログラミング環境の作り方の詳細は、拙Blogの過去記事をご覧ください)当たり前と言えば当たり前のことですが、うんともすんとも言いませんでした。Pi Pico用に構築したC/C++ SDKをPi Pico 2に対応したものにするためにアップデートする必要があります。Pi Picoのときと同じように、Linux Mintの自作PC上でPi Pico 2に対応したC/C++ SDK環境を整えたいと思います。

ちょっと調べてみると、「pico-sdk」の中にRP2350に対応したsrc(source)のセットがないとダメだということがわかりました。ネットの情報を頼りに自分がインストールした「pico」フォルダを開いて「pico-sdk」→「src」とフォルダを開いてみると、確かに「rp2350」フォルダはありませんでした。そこで、「ターミナル(端末)」を起動して、「pico-sdk」フォルダに移動してからC/C++ SDKのアップデートを行いました。手順は以下の通りです。
#今回は、デバイスビジネス開拓団さんの「Pico三昧(22) Raspberry Pico 2、C/C++ SDKで吉例Lチカ」を参考にしました。

$ cd pico/pico-sdk/
$ git pull

しばらく待つとアップデート作業が終わって「src」フォルダ内に「rp2350」というフォルダが出来上がっていました。(他にも増えたところはたくさんありましたが説明は割愛します)これでPi Pico 2に対応したC/C++ SDKが整ったことになります。早速ですが、Lチカの実行ファイル(.uf2)を作ってみたいと思います。「cd」コマンドで元のユーザーディレクトリのトップに移動してから、以下のようにコマンドを打ち込みます。

$ cd pico/pico-examples/build/
$ export PICO_SDK_PATH=../../pico-sdk
$ cmake -DPICO_PLATFORM=rp2350 -DPICO_BOARD=pico2 ..

ここまでできたら、あとは「blink」フォルダ内で「make」するだけのはずです。(上記のコマンドに続いて作業を行います)

$ cd blink/
$ make -j4

Pi Picoのときと同じようにやってみたつもりですが、エラーを吐いてうまくコンパイルできません。「Makefile」に何らかの問題があるようなエラーメッセージが出ていて、「CMakefile」フォルダに「CMakeError.log」というエラーの内容をレポートするファイルが出来上がっているとも書かれていました。これを見ながら、複数のエラーが発生しているような感じだったので、元々のpico-examplesの更新が必要なのではないかと考えて、gitコマンドでのダウンロード作業からやり直してみることにしました。(この作業は、私の作業環境である「pico」フォルダ内に移動したところから行いましたが、このフォルダ名は任意で構いません)

$ git clone -b master https://github.com/raspberrypi/pico-examples.git
$ cd pico-examples/
$ mkdir build
$ cd build/
$ export PICO_SDK_PATH=../../pico-sdk
$ cmake -DPICO_PLATFORM=rp2350 -DPICO_BOARD=pico2 ..

この作業をしているフォルダ内に、既に「pico-examples」フォルダがあると作業はうまくいきません。これまで使っていた「pico-examples」フォルダを残したままだとgit cloneコマンドが通らないためです。(強制的に上書きすることはできるかもしれませんが、ちょっとややこしいみたい…)今後も以前の「pico-examples」を使用する可能性がある場合には、以前のものを別のところに移動させておくと良いと思います。

これで準備が整ったと思いますので、以下のコマンドで再度実行ファイルのコンパイルに挑戦してみます。

$ cd blink/
$ make -j4

これで、無事に実行ファイル「blink.uf2」が出来上がりました。PCにPi Pico 2をつないで(初回はUSBケールでつなぐだけでUSBメモリのように認識しますが、2回目以降は「BOOTSEL」ボタンを押しながらつなぎます)、USBメモリのように開いた窓に「blink.uf2」をコピーすると、自動的にプログラムしたものが動き始めます。少々時間はかかりましたが、無事にLチカ動作実験成功ということになりました。これからは、Pi Pico(無印)の実行ファイルを作る環境との共存が可能なのかを確認したり、Pi Pico 2のThonnyやビジュアルプログラミングへの対応などを一通り確認したりしてみたいと思います。(やることいっぱい思いつくのだけれど、相変わらず時間がない…。orz)

「Raspberry Pi Pico 2を使ってみた」

2025年3月20日木曜日

音声合成LSI(ATP3011とATP3012)を使ってみる〜MacBook Proからコントロールする

以前の続きです。(長くなってしまったので、2回に分けました)株式会社アクエストが開発している「音声合成LSI」を秋月電子通商で購入して、使えるように準備するところまで書きました。念の為、「音声合成LSI「AquesTalk pico LSI」」の「ATP3011」と「ATP3012」のデータシートのリンクも再掲しておきます。

前回は、この「ATP3011」と「ATP3012」がMICROCHIPAtmelを買収)のAtmega328をベースにして作られていて、Arduino(及びその互換マイコンボード)のATmega328と載せ替えれば簡単に使えるようになるという情報をもとに準備をしました。秋月電子通商で販売されているAE-Atmegaを使って作った「Diavolino」ベースの自作Arduino互換ボードを引っ張り出してきて、実験環境を整えるところまで書きました。今回は、その続きをやっていきたいと思います。

まずは自作Arduino互換ボードに元々挿していたATmega328Pを慎重に取り外して、ATP3012R5-PU(小型ロボットの音声)に挿し替えました。これをMacBook ProにつないでArduino IDEを起動して音声が出せるか実験をしていきました。大小様々なつまずきがありましたが、最終的には使えるようになりました。注意点を以下にまとめておきます。
#Arduino IDE(実験時の最新版はver.2.3.4)の起動は、配線を済ませてからの方が良いと思います。

  • スピーカーは、アンプを経由するかアンプ内蔵のものを使う。(YAZAWATVR35WHを使用)
    IchigoJam実験をしたときに作ったケーブルでアンプをつなぎました。電源なしで圧電スピーカーをつないでも動きませんでした。(シリアル通信すらできない感じ)
    →ATP3011系は、GNDとDIGITAL 6番にアンプをつなぎます。ATP3012系はGNDとDIGITAL 9番にアンプをつなぎます。
  • ボードを「Arduino Duemilanove or Diecimila」にする。
    ※動作解説動画では、Arduino UNOが使われていましたが、Diavolinoは、Duemilanoveをベースにして開発されたものなので。
  • ポートを「/dev/cu.usbserial-xxxxx(ターミナルから「ls -l /dev/cu.*」コマンドで接続されているシリアルポートを確認できる)」にする。
  • 「ツール」メニューから「シリアルモニタ」を開く。
    ※ここで、シリアル接続の確認もしてくれるので、とても便利です。
  • 改行コードは「CRのみ」を選択する。
    ※ATP3011/3012は、コマンドの最後に「CR」を送らないと実行しない仕様とのことなので。

実は、USBシリアル変換アダプターモジュールでつないだときに、ポートの設定をしようとしたところでつまずきました。元々Prolific社製のPL2303HXというUSBシリアル変換アダプターモジュールを使っていたのですが、これがMacBook Pro(macOS)からはシリアルポートとして認識されないのです。「ターミナル」を起動させて「ls -l /dev/cu.*」で確認しても、接続前と接続後で何も変わりません。しばらく使っていなかったので、ドライバが古くなっているかもしれないと思い、最新のドライバをインストールしてみましたが、認識されないのは変わりませんでした。新しいmacOSでは使えないのだろうと諦めることにしました。

仕方がないので、FTDI社製の(ド定番の)FT232RLを載せたUSBシリアル変換ケーブル(半分自作)を使うことにしました。これを使うと、シリアルポートが認識されて使えそうな感じになったので、テストのためにいくつかローマ字を打ち込んで音声を出させてみたところ、無事に音声が出てくれました。ということで、macOSではFT232RLのUSBシリアル変換ケーブルを使うことにします。
Linux MIntでは、PL2303HXでも問題なく動作してくれました。Arduino IDEは、レガシーIDE ver.1.8.19、最新版IDE ver.2.3.4の両方で動作確認しました。

試行錯誤しながらいろいろやってみましたが、とりあえず音声が出るところまではできました。配線を変更したり、コマンドでエラーが出てしまったりした場合は、無理に作業を続けようとしないでArduino IDEを終了してから、再度起動してシリアルでの接続が確認されてから作業をすると動作が確実になると思います。一つ一つ、自分がやったことを検証しながら問題を解決して行ったので、いちいち再起動するのは面倒ではありましたが、急がば回れということだと思いました。
#アクエストのオンラインデモのサイトで、日本語をAquesTalk Pico用のローマ字表記にしてもらえるのは地味に便利でした。

【前回記事】
音声合成LSI(ATP3011とATP3012)を使ってみる〜まずは基本的な準備をする

2025年3月16日日曜日

音声合成LSI(ATP3011とATP3012)を使ってみる〜まずは基本的な準備をする

シンセサイザーのように音を作ることができるICや音を増幅させるアンプICなど、音楽や楽器に関わることを電子的にやってみることが楽しくてアレやコレやと手を出している中で、「音声合成LSI」という物があることを知りました。きっと自分がいろいろやっている周辺にはちらほら見えていたのだろうけれど、これまでは無意識にスルーしていて見えなかっただけかもしれませんが、ふと急に気になりだして調べてみることにしました。一度興味をもってしまうと実験してみたくなるのはいつものことですが、値段が手頃だったこともあって早速購入して試用してみることにしました。

今回購入した「音声合成LSI」は、株式会社アクエストが開発しているもので、秋月電子通商で販売されているものを購入しました。簡単な使い方は、公式Webサイトの「音声合成LSI「AquesTalk pico LSI」」で確認することができます。音声合成LSIの「ATP3011」と「ATP3012」のデータシートも公開されているので、以下にリンクを貼っておきます。

簡単に説明すると、アクエスト社で開発された「AquesTalk」という「日本語音声合成エンジン」をMICROCHIPAtmelがMICROCHIPに買収された)のAtmega328に実装したのが「AquesTalk pico LSI」で、同じATmega328を搭載するArduino(動作解説動画ではUNOを使用)のICチップと載せ替えることで簡単に使うことができるようです。

自宅にはArduino Duemilanoveあたりから、その互換ボードを含めて複数のArduinoがあるのですが、実験的に使うことを考えて、だいぶ昔にAE-AtmegaというArduinoの互換ボードを作るための基板(これも秋月電子通商で購入)で組み立てた自作Arduino互換ボードを使って、この互換ボードのATmega328をAquesTalk pico LSIに換装して音を鳴らすことができるかやってみることにしました。


このArduino互換ボードは、秋月電子通商で購入したAE-Atmegaを使って作りましたが、マイコンボードや電子工作を学ぶために、パーツセットではなく基板と必要な部品を購入して、様々なパターンで試作しながらマイコンボードの構造や作り方、それによってできることを学んでいたものの1つです。ベースとなっているのは、アメリカのEvil Mad Scientist(現在はBantam Toolsに買収されています)で開発・販売されていた「Diavolino」というArduino互換機です。2011年に基板だけを購入して、部品を揃えて何枚か作っていました。
#AE-Atmega基板は、Picotec International Co.,Ltdという台湾と中国にある会社で作られているようで、自宅にはまだ数枚在庫がありました。

UNOとDiavolinoでは、世代から考えてもだいぶ違う気がしますが、Arduinoの設計コンセプトとしては同系統だろうと思ったので、多分大丈夫だろうと考えました。ということで、Diavolinoベースの自作Arduino互換ボードのATmega328と音声合成LSIを載せ替えて実験を進めていきたいと思います。ここまでやって、だいぶ長くなってしまいました。しばらくArduinoをいじっていなかったので、自分で作った互換機も使う予定がないくらいにしまい込んでいました。あっちこっち探し回って実験する環境を引っ張り出してきて、どうにかスタート地点に立ったという感じです。近日中に続きを書きますので、しばしお待ちください。

【次回予告】
音声合成LSI(ATP3011とATP3012)を使ってみる〜MacBook Proからコントロールする