2025年6月21日土曜日

Pd(Pure data)でシンセサイザープログラミング~シンセサイザーっぽいものを作ってみる

前回の続きです。Pd(Pure data)という音楽に特化したプログラミング環境を使ってシンセサイザーのようなものを作ってみたいと思います。前回同様、今回もレシピ本「Pd Recipe Book」を参考にしています。前回は、サイン波の音を出すプログラムを作ってみましたが、モジュラーシンセサイザーをいじっているような感覚でプログラムすることがわかってきました。モジュラー自体も(お金をかけずに)簡単に作ることができるため、夢のようなプログラミング環境ではあるのですが…。(万人向けではないことだけは確かでしょうね。(^^;;;)

前回作ったサイン波を出すプログラムを拡張して、「osc~」から出てくるサイン波を加工することを目指します。「Pd Recipe Book」で紹介されていたものを再現していきながら、配置された部品の意味や役割を確認しながら作業を行いました。作業としては、部品を選んで配置して、部品の中に文字列や数値を入力して役割を決めて、機能するように線でつなぐといった手順になります。部品の種類や中に入力した内容によって、つなげられるものとつなげられないものがあるようで、部品にマウスを近づけて「○」が表示されると線を引き出す(ドラッグ)ことができて、同じく「○」が表示されるところ離す(ドロップ)と線でつながります。とは言え、つなげられるから意味のあるつながり方になっているかと思いきやそんな単純な話ではなく、モジュラーシンセサイザーでも同じですが、思ったように音を変化させることができないつなぎ方もできてしまうところがあります。

そんな感じでなかなか一筋縄ではいかないところがあるものの、攻略する面白さ(これを面白いと思える人にとっての…)はのめり込ませるだけの魅力が十分にあると思いました。ということで、レシピ本を参考にして作ってみました。

動かし方が独特なので、はじめはどうすれば音が出るのか戸惑うかもしれません。「Pitch」とラベリング(任意なので名前は何でもよい)した「ナンバー」部品をクリックして、画面上側にドラッグしていくと数値が上がっていきます。それに伴って、音が出ます。直接数値を入力して、Enterキーを押しても音が出ます。マウスを操作している間は、音が変化しながら鳴り続けますが、マウスを止めたりEnterを押して音を出したりした場合は、一定時間で音が止まります。「*~」につながっている「ナンバー」部品は、音が出ている状態と止まっている状態を表しています。音を鳴らし始めると自動的に「1」になり、しばらくすると「0」に戻ります。他の「ナンバー」部品の数値を変更した場合も、「Pitch」をクリックしてしてからでないと音が出ません。このあたりの「暗黙のルール」がもう少しわかりやすいとユーザーが増える気がしますが…。

ということで、少しずつ部品の役割(挙動)がわかってきました。「ナンバー」部品は、編集モードをやめて実行モードにしても数値を変更することが可能です。(「オブジェクト」部品の中に入力した数値は、編集モードでなければ変更することはできません)つなぎ方によっては、他の数値の変更と連動して自動的に「ナンバー」部品の数値が変わることもあります。今回のシンセサイザーっぽいプログラムでは使いませんでしたが、「リスト」部品も数値などを格納することができると思われるので、もう少し詳しく調べてみたいと思っています。

「ナンバー」部品の数値を変更する方法として、マウスを使って上下にドラッグする以外に、「垂直スライダ」部品や「水平スライダ」部品を使って、スライダの出力側と「Pitch」の「ナンバー」部品の入力側をつなぐと、スライダを動かすことで数値を変更できることがわかりました。少しだけシンセサイザーを操作している感じに近くなってきました。この場合、スライダのバー(「つまみ」のようなところ)をクリックすると音が出ます。このスライダのバーを「垂直…」なら上下に、「水平…」なら左右にマウスで移動すると音が変化します。これは絶対沼るやつです。

「Pd(Pure data)でシンセサイザープログラミング」

2025年6月14日土曜日

Pd(Pure data)でシンセサイザープログラミング~はじめの一歩

だいぶ以前から気になっていたのですが、Pd(Pure data)という音楽に特化したプログラミング環境があります。ブロックプログラミングとテキストプログラミングとの中間な感じのプログラミング方式が採用されていて、一見すると色気もなくて何をどうすればよいかよくわからないと思われてしまいそうなのですが、使ってみると楽器そのものを組立てているような面白さにハマる人が多いようで、意を決してそんな世界に足を踏み入れてみることにしました。

とは言え、MacBook ProにPd-extended(すでに開発終了)をインストールしたのは記憶にないくらい前のこと。興味をもったままPd-extendedをインストールして、ほぼ何もしないまま放置して、しばらくしてまた思い出して、レシピ本「Pd Recipe Book」を購入してまたしばらく放置して…を繰り返していたので、お気付きの通り何も進んでいませんでした。

まずは自分の情報をアップデートするところから始めます。そもそもPdの開発は、Pure data (Pd) Vanillaと、それにライブラリなどをパッケージしたPd-extendedとで別々に開発・メンテナンスされていたようなのですが、現在は、もともとのPd Vanillaに統合されているようです。今回は、Pdのダウンロードサイトから最新版をダウンロードしてインストール作業(展開して出てきたアプリをアプリケーションフォルダにコピー)をするところから始めました。

Pdを起動すると、ログ窓が表示されます。作業を進めていくと、このログ窓にPdの動作ログなどが表示されます。

「ログ」の後ろの数字は、表示する内容がどの設定なのかを表す番号になっていて、「2」は「通常」のログ表示ということのようです。すべてのログを見たい場合には、「4」にします。表示する文字数の節約という意味では意図はわからなくもないのですが、ユーザーフレンドリーであるかどうかという点では微妙な感じがします。このあとの作業でも感じたことですが、使いながら意味を考えたり、本やWebサイトで調べて「省略されている文字」の意味を理解したりしながら作業することが多くて、「一見さんお断り」な雰囲気を感じてしまいます。
#音楽(音)や電子楽器の知識はあった方が良いかもしれません。

気を取り直して作業を進めていきます。今回は、先ほど紹介した「Pd Recipe Book」以外にも、「Pure Dataについて調べてみた」を参考にして作業を進めます。Pdの「ファイル」メニューから「新規」(⌘N)をクリックしてキャンバス窓を開きます。ここに様々な部品を「配置」メニューから選んで配置していきます。部品には、文字列や数値を入力できるものやマウスで操作するものなどがあります。新しくキャンバス窓を開くと「編集モード」になっているので、そのまま「配置」メニューから部品を選択してキャンバス窓に置くことができます。プログラムの動作確認をするときには、「編集」メニューから「編集モード」(⌘E)のチェックを外して実行モードで動作させます。(簡単なものであれば「編集モード」のままでも確認できることはあります)さらに部品を追加したい場合は、そのまま「配置」メニューから部品を選ぶとキャンバス窓が「編集モード」に変わってくれます。
#ログ窓とキャンバス窓は、どれか一つしか選べない仕様になっているため、その窓がアクティブか非アクティブかによって使えるメニューの内容が変わります。

つまずきどころは、部品に入力する文字が「小文字縛り」だったこと。シンセサイザー周辺の表記は「OSC(オシレータ)」とか「ENV(エンベロープ)」などと大文字で書かれるイメージがあったため、大文字で入力するものとばかり思っていました。Pdでは、すべて小文字でなければならないということで、初歩の初歩である「osc~」から「dac~」につないで音を出すところでつまずいてしまいました。orz(よく見れば、本でもWebサイトでもすべて小文字だったのだけど、「osc」って偶然にも大文字と小文字の区別がつきにくいのよね…)とりあえず、サイン波の音を出すことはできました。

「440」というのは、お察しの通り「440 Hz(A4)」の音という意味です。(このBlogでもたびたび登場しています)この数値を変えると、様々な音程のサイン波を出すことができます。これをベースにシンセサイザーっぽいものを作っていきたいと思います。続きは次回以降ということで。

「Pd(Pure data)でシンセサイザープログラミング」

2025年6月4日水曜日

ワイルドミニ四駆をiPhoneからリモートで動かす(MKZ4をiPhoneからコントロールする)

前回の続きです。秋月電子通商で購入した「MKZ4」という、タミヤワイルドミニ四駆iPhoneなどのスマホから無線で動かせるように改造するキットを使ってみるという話の3回目(最終)です。前回までで組立作業が完了して、今回はWi-Fiを利用してiPhoneからコントロールできるかやってみます。
#MKZ4は、メーカーサイトでも売り切れています。

メーカー公式YouTubeチャンネルで公開されている「スマホで操作する改造ミニ四駆製作キット「MKZ4」 [Cerevo]」を参考にしながら作業を進めました。手順をテキストで表すと以下にようになります。
#MKZ4のCN3(L字ピンヘッダ)のショートピンがB側になっていることを確認してから作業をしてください。

  1. MKZ4の電池ボックスに単4電池を3本入れてスイッチをONにする(MKZ4のLEDが点灯する)
  2. iPhoneの「設定」を開き、「Wi-Fi」の接続先に出てくる「MKZ4」をタップしてMKZ4と接続する
  3. Webブラウザーを開きアドレスバー(URLなどを入力する欄)に「192.168.4.1」と入力してMKZ4にアクセスする
  4. 「CONNECTED」という青緑色の画面が出たら準備OK
    #推奨されるWebブラウザーは「ユーザーガイド」のページに掲載されています。
  5. 青緑色の画面をスワイプしてワイルドミニ四駆を動かす

マニュアルの文書は、PDFファイルで公開されていますので、こちらも参考にしながら作業を進めました。前進は画面下方から上方にスワイプし、後進は画面上方から下方にスワイプするといった操作をします。ステアリングは、左右のスワイプで左右に傾けることができます。前後進は問題なく動作しましたが、ステアリングの動きがおかしくて、ステアリングを動かそうとするとどちら向きに動かしても右側に傾いてしまいます。動作中にMKZ4のLEDが点いたり消えたりするので、はんだ付けが不十分なところがあるのかもしれません。もう少し調整作業が必要なことがわかりましたが、とりあえず動作することだけは確認できました。
#事情により、USBでPC等に接続できるデジタル顕微鏡を職場の職員に貸し出しているので、返却されたら調整作業をやっていきたいと思います。

「ワイルドミニ四駆をiPhoneからリモートで動かす」

2025年5月23日金曜日

ワイルドミニ四駆をiPhoneからリモートで動かす(MKZ4の設定と組み上げまで)

前回の続きです。秋月電子通商で購入した「MKZ4」という、タミヤワイルドミニ四駆iPhoneなどのスマホから無線で動かせるように改造するキットを使ってみるという話です。フィジカル・コンピューティングの教材ネタとして購入したものの、いろいろとつまずいてしまって完成までに時間がかかっています。
#MKZ4は、メーカーサイトでも売り切れています。

前回は、メーカーサイトの説明書を読みながらMKZ4のはんだ付け作業を行ってきました。今回は、基板上にはんだ付けした「ESP-WROOM-02(ESP8266EX)」モジュールにプログラムを流し込んでいきます。使用するツールは、Arduino IDEです。Arduino IDEでESP-WROOM-02のプログラミングをする場合は、マイコンボードに合わせた設定を行わなければなりません。すでにArduino IDEをESP8266のプログラムに対応させているのであれば、以下の作業は必要ありません。はじめてArduino IDEでESP8266を使う場合には、以下の作業を行ってください。(Arduino IDEが起動している状態からの作業になります)

  1. 「Arduino IDE」メニューから「Preference(基本設定)…」を選択して設定画面を表示させる
  2. 「追加のボードマネージャのURL」欄に
    「https://arduino.esp8266.com/stable/package_esp8266com_index.json」
    と入力して「OK」ボタンを押す
  3. 「ツール」メニューから「ボード:… >」→「ボードマネージャ」とたどり、検索窓に「esp8266」と打ち込むとESP8266用のプログラムが表示されるので、最新版をインストールする

#MKZ4のマニュアルサイトでは、追加のボードマネージャのURLが「http://arduino.esp8266.com/stable/packageesp8266comindex.json」となっていますが、上記で示したURL(「https://…」から始まる)に変更されているようです。

ここまでで、Arduino IDEの準備は終了です。ESP-WROOM-02モジュールに書き込むプログラム(.ino)を用意します。プログラム自体はgithubの「cerevo/MKZ4」にあるので、「< > Code」ボタンをクリックして「Download ZIP」を選択してダウンロードしておきます。ダウンロードした「MKZ4-master.zip」を解凍すると、「MKZ4-master」というフォルダが現れるので、その中から「Cerevo_MKZ4」というフォルダをArduinoのプログラムを保存してあるフォルダに入れます。
#Arduino IDEを起動したときに、(任意で変更していなければ)「書類(Documents)」フォルダ内に「Arduino」フォルダが作られると思いますので、この中に入れるのが一般的だと思います。

次にボード側の作業をします。MKZ4のCN3(L字ピンヘッダ)のショートピンをD側にして、「MKZ4WK(専用の書込ツール)」をつなぎます。ここから、USBケーブルでコンピュータにつなぎます。

「ツール」メニューから「ボード:… >」→「ESP8266 Boaards(…)」とたどり、「Generic ESP8266 Module」を選択します。ポート名は環境に依存します(LinuxやmacOSでUSBシリアル接続すると「/dev/…」から始まるポート名が使われています)ので、USBケーブルで接続してみて表示されたものを選択しました。はじめは、MacBook Proで動かしているArduino IDE(2.x系と1.8.19の両方)を使いましたが、残念ながら途中でエラーを吐いてうまくプログラムを書き込めていない様子。例によって、USBシリアル通信がうまくできていないようなので、続きの作業をLinux Mintで動かしている自作PCを使ってやってみました。すると、2.x系も1.8.19も無事にコンパイルと書き込みができました。
#一度コンパイルと書き込みをしてから再び書き込む必要があった場合には、USBケーブルを抜いて接続を切って再度挿し直しをしないとエラーが出るようです。

あとは、説明書に従って走行できる状態まで組み上げていきます。MKZ4制御基板のCN3ショートピンは、B側にしておきます。

反省点は、完成までに数年かけてしまったことで、ネジ類が他のものと混ざってしまって焦ったことでした。幸い捨ててはいなかったので無事に組み立てられましたが、忘れないうちに一気に組み立てた方がよいですね。iPhoneからの動作確認は次回ということで。

〈参考資料〉

「ワイルドミニ四駆をiPhoneからリモートで動かす」

2025年5月17日土曜日

ワイルドミニ四駆をiPhoneからリモートで動かす(組み上げる前までの準備として)

忘れてしまうくらい遠い過去に、秋月電子通商で「MKZ4」というタミヤワイルドミニ四駆iPhoneなどのスマホから無線で動かせるように改造するキットを購入していました。当時は、マイコンボードでモーターを制御したり、ロボットカーのようなものを作ることに興味があったのだと思います。プログラムを流し込んでワイヤレスで制御できる「ESP-WROOM-02(ESP8266EX)」モジュールを使う改造キットだったことも興味をもった理由だったかもしれません。
#現在は、メーカーサイトでも売り切れのようです。

これが、自室の作業台の隅の方に作りかけのまま長いこと放置されていたことが突然気になり、かたをつけるつもりで完成を目指して作業を再開しました。とは言え、なぜ長いこと放置されていたかと言うと、「組み立てが面倒」(素人さんお断りな感じ)だったからでした。

購入した直後から説明書を読みながら必要なものを買いそろえて、組み立て作業をしていく中でいろいろとつまずいて、しばらく作業台の隅に放置して、ふと思い出して作業を少し進めてはまたつまずいて、といったようなことを繰り返していました。購入から何年が経っただろうと記憶が曖昧になっている状況です。

習慣として、自分の作業履歴をメモに残していたのですが、最後の作業時期は新しい家に住み始める前のことで、引越し作業の中でも気にはなっていたのですが、いつでも続きができるように目の届く範囲に置いていました。そんなわけで、何度目かの「重い腰」を上げて作業の続きをしていきたいと思います。以下、書き留めていた記録をもとに、整理してまとめていきたいと思います。

1つ目のつまずきどころとして、ワイルドミニ四駆の本体を切断しなければならないというところ。試行錯誤の末に、Pカッターとリュータ、ニッパーを使って切断作業をしました。マニュアルとにらめっこをしながら、切断する場所や効率よく切る方法を考えて切断していきます。削りカスが飛び散るので、段ボール箱に半透明なビニール袋(45L)を掛けてその中で作業をしました。材質は硬くないので切ること自体は難しくないのですが、構造が面倒なことになっていて、どのラインで切るか決めるのが難しく感じました。途中、リューターの故障などハプニングはありましたが、残りをPカッターとニッパーで切断してヤスリでバリ取りをして切断作業は終了しました。

次にMKZ4の制御基板に電子部品をはんだ付けしていきます。ESPRESSIF SYSTEMSのESP-WROOM-02モジュールを載せるのが一番大変でしたが、後はそれほど難しくないので説明書の通りにやればできると思います。表面実装部品のはんだ付けは、フラックスを塗った方がはんだが乗りやすいです。その後、無水エタノールで洗浄してキムワイプとブラシ(ナイロンのもの)で洗浄しました。簡易な顕微鏡のようなものがあると、はんだ付けの状態を確認することができるので便利です。
#私は、USB接続のマイクロスコープを使っています。

はんだ付けの手順としては、オーソドックスに背の低い部品から徐々に高い部品へと取り付けていくと良いと思います。1000pF(102)のセラミックコンデンサは、パスコンとしてモータにはんだ付けします。動作確認がしやすくなるように、制御基板の作成と配線、ミニ四駆の組立作業を進めていく感じが良いと思います。

さて、作業の記録が長くなってきてしまったので、とりあえず続きは次回ということにしたいと思います。

〈参考資料〉

「ワイルドミニ四駆をiPhoneからリモートで動かす」

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からコントロールする

2025年3月2日日曜日

Raspberry Pi Zero 2を使ってみる

約10年前に発売されたRaspberry Pi Zero Wの後継機として、Zero 2 Wが数年前に発売されています。Pi Zeroについては、このBlogでも何度か話題にしてきましたが、久しぶりに後継機が出たので何がどう変わったかを確認したくなり、日本での販売開始から少々時間が経ってしまいましたが、購入して使ってみることにしました。既知のことではありますが、USBコネクタが少なく有線LANも使うことができないなど使い道が限られているため、正直なところ私自身はこれまであまり使っていませんでした。今回、Zero 2 Wとの比較をするために、久しぶりにZero Wを出してきてアップデート作業などのメンテナンスを行いました。(Zero無印の方は、IchigoJam Basicで動かしているので今回はパスです)
#今回の後継機発売は、Zero無印はなしでW付だけみたいです。

Zero WとZero 2 Wの共通する仕様は、本体サイズとI/O周りの数と規格です。この辺りは、これまでのZero Wユーザーが使用している周辺機器との接続を考慮して、置き換えがスムーズに行くように配慮されたのではないかと思われます。対応する無線LANの規格も同じですが、Bluetoothは4.1対応から4.2対応になっているようです。その他で仕様が変わったところだけをまとめると以下のようになっています。

〈Zero W〉

  • Broadcom BCM2835(Single core 32 bit SoC…ARM1176JZF-S(ARMv6)1 GHz)
  • 内蔵メモリ512 MB DDR2 SDRAM
  • micro USB電源(5 V/1 A)
  • CSI カメラコネクタ

〈Zero 2 W〉

  • Broadcom BCM2710A1(Quad core 64 bit SoC…Arm Cortex-A53 1 GHz)
  • 内蔵メモリ512 MB LPDDR2
  • micro USB給電(5 V/2.5 A)
  • CSI-2カメラコネクタ

#micro USBとmini HDMIだけでなく、HAT互換40ピンヘッダも共通仕様です。GPUのVideoCore IVも同じようですが、バージョンアップはされているようです。

本音を言うと、USBはUSB-Cの方が便利だし、HDMIもminiではなくmicroの方が扱いやすいしという問題点は感じるところですが、micro USBとmicro HDMIだと挿し間違いが発生しそうだから変更するならUSB-Cとmicro HDMIでお願いしたいところです。

問題提起はさておき、Zero 2 Wのセッティングを進めていくことにします。やることは他のRPiと大きくは変わらず、「Raspberry Pi Imager」を使って起動microSDカードを作るところから始めます。今回は、在庫していた東芝製の16GBのものを使いました。64 bitのRaspberry Pi OSをRecommendされるので、これを使って起動microSDカードを作成し、Zero 2 Wに挿して起動します。RPi 5に比べるとかなりもっさりとした感じですが、これは単にCPUが非力だからなのか、メモリ512MBでは少なすぎるということなのか、microSDカードとの相性問題なのか、諸々の複合的な問題なのかなどなど、はっきりとした原因はわかりません。まぁこんなものだと思って使い方を選んで使うというのが正解だと思います。
#Zero Wの方は、32 bitがRecommendされました。メンテナンスがてら、Zero WのOSも最新の32 bit版(Raspbian GNU/Linux 12 (bookworm))をインストールしました。動作感は、Zero 2 Wとあまり変わらないかな…。

Zero 2 WのRaspberry Pi OSのバージョンを確認するために「$ lsb_release -a」コマンドを実行すると、「Debian GNU/Linux 12 (bookworm)」になっていました。現時点で最新のOSで動かせることがわかりました。とは言え、できることが限られていることを前提にして、実験してみたいソフトだけ追加でインストールしておきました。

〈「Recommended Software」より〉

〈「add / Remove Software」より〉

非力なのでそれなりに時間はかかりましたが、どうにかインストール作業を終えました。Zero Wの方も、32 bit版の同じソフトをインストールして、ほぼ同じことができるように設定をしました。今後の活用を考えて、Zero W/2 Wを他のPCなどからコントロールできるようにするのが実用的なのではないかと考えています。

2025年2月17日月曜日

Raspberry Pi 5と歴代Raspberry Piの使い道を考える

前回の続きです。約1年前に重い腰を上げて歴代RPiのメンテナンスを行いましたが、Raspberry Pi 5を購入してセットアップしたことをきっかけに、過去のRaspberry Pi(RPi)たちでも快適に使える状態を維持するにはどうしたらよいか考えてみました。Scratch 3などのビジュアルプログラミング環境を活用したい場合には、過去のRPiではかなり重くなりますので新しいRPi 5の出番だと思います。しかし、世代に合わせたOSを入れて、軽い作業のみをするか単一の機能に絞り込むかといった工夫をすれば、まだまだ使い道があるように思います。

以前のメンテナンスの際に歴代RPiで使っているOSを確認しましたが、RPi初代とRPi+はあえて古いOSを残す(ソフトの動作確認や作った環境をキープするため)として、RPi 2以降は新しいOSにしてしまって良いと思っています。中でも、3台もあるRPi 3にはしっかり仕事をしてもらおうかなと。ということで、歴代RPiのメンテナンスをサクッと終わらせて、3台のRPi 3のうち1台を実験台にすることにして、OSのインストールからやってみることにしました。

いつものように、Raspberry Pi Imagerを使って、microSDカードに最新のOSを入れます。Recommendに従って、64 bitのOSを入れることにしました。起動microSDカードをRPi 3に挿して起動すると、思ったよりスムーズに起動してくれて過去のRPiでも快適に動作するような調整がされているのかもしれないと思いました。「$ lsb_release -a」コマンドでOSのバージョンを表示させると「Debian GNU/Linux 12 (bookworm)」となっていました。RPi 5のときと同じように、表示を英語表記から日本語表記に設定して、指示に従って再起動しました。次に、この実験台RPi 3に以下のソフトをインストールしました。

〈「Recommended Software」より〉

〈「Add / Remove Software」より〉

実のところ、RPi 3で最新の64 bitOSがまともに動くとは思っていなかったのですが、しっかり動いてくれたのでちょっと感動してしまいました。職場でデジタルサイネージによる情報発信を考えているのですが、RPiならうってつけだと思っています。(以前の職場でも同じような取り組みをしていたので)私がいる間は、私物のRPi持ち込み(ネット接続は不可)でやってみるという手もあるかなと思っています。その他にも、どんな使い方ができるか考えてみたいと思います。
#5V 3AのUSB電源を使っても、「Low voltage warning」が出てしまうのは、どうしたものかと思っています。

(本当は、Raspberry Pi Zeroの方が、安いし用途を絞って使うには良いと思うのだけど、学校予算で買ってしまったら引き続き使ってもらうのは難しいかもしれないし、後任の負担になるようなことはしたくないし…。一方で、この程度のものを使いこなせないというのも情けないとは思うし、でもそれを強要するのは違うとも思うし…)

2025年2月8日土曜日

Raspberry Pi 5を使ってみる

世界的なインフレ傾向や円安の影響もあってか、価格が上がって気軽に購入できない感じになっているRaspberry Pi 5でしたが、ほぼ全世代のRaspberry Pi(RPi)を購入している私としては逡巡する気持ちもありつつ、発売開始から供給が安定するまでしばらく待っていました。先日、我慢の限界に足して半分衝動的に購入してしまいました。購入したのは、コスパ重視で4 GBモデルにしましたが、Smrazaのアルミのヒートシンク兼ケースと5.1V-5.0A対応のACアダプターも一緒に購入して1.4万円程度でした。(ケースは割引がありました)
#詳しくは、過去のRaspberry Pi関連記事もご覧ください。

OSを入れるmicroSDカードは、自宅に在庫していたKIOXIAの32 GBのものを使うことにして、MacBook Proにインストールしてある「Raspberry Pi Imager」を使ってOSイメージをこのmicroSDカードに焼きました。今回使用するOSは、64 bitのRaspberry Pi OSにしました。焼き上がったmicroSDカードをRPi 5に挿して、モニタ、マウス、キーボード、LANケーブルをつないで起動しました。体感ではありますが、起動までの動作は速くなっているように感じました。ケース付属のFANも静音性が高く、起動後は最小限の動作になるようでしばらく止まっていました。ケース自体がヒートシンクになっているものなので、ぬるめのカイロくらいには温かくなっていました。

さて、起動まではスムーズだったのですが、デフォルトの設定が英語なため日本語に設定を変更したいと思います。デスクトップの左上のRaspberry Piメニューから、「Settings」→「Raspberry Pi Configuration」を起動して、「Localisation」内の「Locale」を「ja(Japanese)」←つまり日本語に、「Country」を「JP(Japan)」←これも日本に設定しました。すると、それに合わせてTimeゾーンも「Asia」「Tokyo」と自動的に変更されました。「Keyboard」の設定は、日本語キーボードになっているかと思いましたが、実際に接続しているUSキーボードになっていました。これは、USキーボードが認識されているのかと思いましたが、よく考えたらRaspberry Pi Imagerで設定されていました(^^;;;。これらの設定を終えて「OK」ボタンをクリックすると、再起動を求められるので指示に従って再起動します。すると、メニューを含めてほとんどが日本語表示に設定変更されました。

確認のため、「$ lsb_release -a」コマンドでOSのバージョンを表示させると「Debian GNU/Linux 12 (bookworm)」となっていました。再起動をしたタイミングでWindow上部のメニューバーにアップデートがあることを示すアイコンが表示されていることに気づいたので、このアイコンをクリックしてアップデート作業を行います。これはかなり時間がかかりましたが、しばらく放置して終わるのを待ちました。途中から、流石にヒートシンク(ケース)が熱くなってきたので、FANも回り始めました。アップデートが終わったところで、「Recommended Software」から以下のソフトをインストールしました。

これらを選択したら、「Apply」ボタンをクリックします。すると、ダウンロードが始まってインストール作業が進んでいきます。これもやはり時間がかかるので、別のことをしながら気長に待ちました。新しい環境なのでちょっと欲ばってインストールしてしまいましたが、何とかインストール作業を終えることができました。続けて、さらに追加したいソフトについて「add / Remove Software」からインストールします。今回追加でインストールしたのは以下のものです。

こちらもソフトを検索してチェックボックスにチェックを入れて、「Apply」ボタンをクリックするとまとめてインストールが始まります。ちょっと違うのは、このインストール作業にはパスワードが求められることです。パスワードの設定は、「Raspberry Piの設定」から「パスワードを変更」を選択して設定することができます。パスワードを設定してインストール作業を終えました。それぞれ動作確認してみましたが、起動については問題なくできました。ここでもやはり動作が速いと感じました。

今回は、RPi 5を使える状態にまでセットアップしましたが、これまでに購入してきている初代からのRPiたちをどのように活用していくかを考えなければならないと思っています。古いものにはより軽いOSを入れて、使い方を限定したら快適に使えるのではないかとか、そうするためのOSの選び方や特化させる機能や使い方をどうするかとか、あえてGUIの環境を捨ててCUIだけ、あるいは、ネットワークからアクセスして動かすだけにしてしまうとか、アイデアはいろいろと出てくるのですが…。

2025年2月3日月曜日

12平均律を鳴らすプログラムについて考える

これまでの続きです。Raspberry Pi Picoを使って、音を鳴らすこと(楽曲の演奏)ができるところまではやってみましたが、これも以前IchigoJamで「(PC用)キーボードを鍵盤のように使って音楽の演奏をする」ことにチャレンジしたように、各キーに任意の音を割り振って楽曲の演奏ができるようにすることができないか、そのプログラムはどう書いたらよいのかということについて考えています。

キーボードの各キーに1音1音を割り当てるのは、力技ではあるものの可能であることは想像ができます。しかし今回は、できるだけスマートにプログラムを書くことを目標に考えていきたいと思っています。そのため、「12平均律の式をプログラムに活かす」ことを目指し、12平均律の仕組みや音の周波数はどのような式で表せるのか、そしてそれをプログラムとして書き表せるのかを検証することにしました。
#以下、わかっている人には当たり前の話が続きます。広い心でご覧ください。(^^;;;

はじめに、「A*2^(n/12)」を使って12平均律の音階をExcelでグラフ化してみました。(「A=440」としてセルに入力した値を参照させ、nはAを0としてAから半音上を1、全音上を2…と表したセルを参照させた)すると、見覚えのある曲線のようなものが見えてきます。すっかり忘れていたので、記憶を頼りに「〇〇曲線」とか「〇〇関数」とか、いろいろなキーワードでGoogle先生に尋ねてみました。

すると、当たり前ではありますが「y=a^x(aのx乗)」の描く曲線にたどり着きました。「指数関数」というやつですね。昔学んだことを思い出してきました。以前にPicoで音を鳴らしたときのMicroPythonでのプログラムの中に、「ahz*(2**(2/12))」や「ahz * (2 ** (3/12))」のような表記をしましたが、「ahz」がA4の周波数を表していて、それに「2の(2/12)乗」や「2の(3/12)乗」をかけるという計算をしています。もう少し汎用的な式で表すと「A[i]*2^(n/12)」というような式になると思います。「i=4」なら「A[4]=440」、「i=3」なら「A[3]=220」となるようにプログラムして、「n」の値を「0」〜「12」までの数値で変化させれば、音階に必要な周波数が得られると考えました。

Excelで作った表には、以前紹介した「12平均律と周波数」で示されている数値と同じ周波数値が並びました。第1段階はクリアできました。しかしこれだと、A[i]の値をいちいち用意しなければなりません。そこで、「A[i]*2^(n/12)」(0≦n≦12)という考え方を改めて、初項の「ahz=440」だけを決めて、「ahz*2^(z/12)」(z=整数)という数式で考えることにしました。「z」には、12を超えた数を入れたり、0よりも小さい負の数を入れたりしても、「A4=440Hz」からの音階的な距離(1あたりの変化量は半音)で表現できることがわかり、実際にExcelで表を作って平均律の周波数を得ることができることも確かめました。

MicroPythonでのプログラミングでは、「ahz*(2**(z/12))」のように表現すればよいことになります。この関数に、「A4」の距離を「0」として、そこからの音階的な距離を表す数値「z」を入れると目的の周波数が得られることになります。これならば、「ahz=442」にしたとしても、12平均律を簡単に作ることができるはずです。

試しにプログラムを作ってみているのですが、どうもうまく動かなくてまだ試行錯誤中です。うまくいったら、失敗の原因も含めてお知らせできればと思っています。

2025年1月25日土曜日

YAMAHA製 YDA138デジタルアンプとA100を聴き比べてみる

以前の続きです。前回は、電子楽器のモニタスピーカー用に使っていたXY-C50L(←YouTube動画)をYAMAHAYDA138(←Datasheet)デジタルアンプに置き換えたところまででした。今回は、これも以前の記事で紹介したYAMAHAの古いアンプ「A100」と聴き比べてみたいと思います。

電子楽器の方は、先日、ちょっと時間を作ってしばらく戯れてみたvolca modularとvolcaシリーズではじめに購入したvolca fm2をCV/Gate&MIDIキーボード(SWING)でコントロールしています。これらの電子楽器から出力される音を受けて、スピーカーに出力させていたYDA138デジタルアンプをA100に置き換えて聴き比べます。基本的なセッティングは、YDA138デジタルアンプで設定した状態のままにして、アンプだけをA100に入れ替えて使ってみます。
#スピーカーは、自作2 Wayスピーカーを使っています。

すぐに気づいたのは、音の歪(ビビリ?)が激しかったことです。先ほど紹介した以前のBlogにも書きましたが、A100の方が出力が大きいので小さなスピーカーでは力を出し切ることができません。volca modularのリバーブを切って音量を絞ればそれなりに聞ける状態にはなりますが、少し大きな音を出してしまうと途端にビリビリと音が歪んでしまいます。この状態では、実用的ではないと思いました。程よいセッティングを探して試行錯誤してみたところ、本体もしくはミキサーからの出力音量を少し大きくして、A100からの出力をできるだけ絞ってやると安定した音になることがわかってきました。それでも、音程によってはピンポイントで歪むところがありました。
#A100の電源を入れてからしばらくは、ボリュームを動かすとバリバリとノイズが入るのですが、しばらくするとノイズはしなくなりました。古いので仕方がないかもしれません。

肝心の音質ですが、A100の電源を入れただけでは全くの無音で、YDA138アンプキットと同じで電子楽器のモニタスピーカー用アンプとしては合格だと思いました。購入した当時は、それなりのお値段だったと思いますので、数千円で買える廉価帯のアンプと比べることの意味が問われそうですが、A100の方が様々な音が聴き取れるので、音の解像度は高いのだと思います。歪みさえなければモニタスピーカー用のアンプとしては申し分ないのですが、歪んでしまうのなら使えないのでA100をモニタスピーカー用のアンプとして使うのは断念しました。ということで、新しい楽器たちのモニタスピーカー用のアンプは、引き続きYDA138デジタルアンプを使うことにします。

A100の使い道ですが、ちょっと大きめのスピーカーユニットを使ってスピーカーシステムを組んでみて、A100で使えるかどうか実験してみたいと考えています。自宅で在庫しているフルレンジスピーカーは、10 cm前後のものが多く、それよりも小さいものはありますが大きなものは購入しないとありません。大きなスピーカーユニットは値段も高くなりますので、実験的に使うことを想定して購入するにしては、ちょっと勇気が必要です。中古販売店でも大きすぎるものは思ったより安いことはありますが、いわゆる6.5 inch(16 cm)クラスのものは人気もあるので値段が落ちず、手を出しにくい感じがしています。

せっかくなら、昔のステレオコンポで使われていたようなサイズのスピーカーを導入してみたいところですが、なにせ自室が狭いのでどうしたものかと頭を悩ませています。板材の在庫もそれなりにあるから、エンクロージャーから作ろうと思えば作れてしまうのですが…。

2025年1月19日日曜日

volca modularと戯れる

以前から愛用しているKORGvolcaシリーズですが、中でもvolca modularは、昔からの憧れだったアナログシンセサイザーをコンパクトに再現した入門機だと思っています。これを使いこなせたら楽しいだろうと思って購入しましたが、じっくり腰を据えてvolca modularと戯れて、アナログシンセの面白さを体験してみたいと思いつつ、時間貧乏な生活をしているのでなかなか実現させることができていませんでした。とは言え、いつまで待っても時間は生まれないので、とにかく始めてしまえと見切り発車してみます。
#余談ですが、私がシンセサイザーをいじりはじめた頃は、アナログからデジタルへの移行期で、YAMAHADX7が脚光を浴びている時期でした。
#当時の私の愛機は、RolandJUNO-106(←現在はSoftware Synthesizer)でした。

始める切っ掛けは、YouTubeで見つけたKORG EXPERIENCE LOUNGEの動画(「マシンライブへの脇道 ~君は volca modular と友達になれるか 編~【配信アーカイブ】」と「マシンライブへの脇道 ~君は volca modular と友達になれるか編~ 後編」)を観たことでした。今回はこれを参考にしながら、しばしvolca modularと戯れてみたいと思います。

使用する機材は、BehringerSWINGというCV/Gate&MIDI対応のキーボードを使ってvolca modularをコントロールします。つなぎ方は以前の記事でも紹介しているとおりです。おさらいをしておくと、SWING(キーボード)の「KB CV」出力と「Gate」出力をTRS(ステレオミニプラグ)に変換してvolca modularの「CV-IN」に接続します。ステレオミニプラグ⇔モノラルミニプラグLRケーブルを使って、「KB CV」出力をR(赤)側に、「Gate」出力をL(白)側につないで反対側のステレオミニプラグをvolca modularのCV-INにつなぎました。その信号は、すぐ左側にある2口のピンソケットから出力されて、音程を表す信号のCVは下側から、音のON/OFFを表す信号のGateは上側から出力されます。ここから何もつながないと、いくらキーボードの鍵盤を押しても音は出ません。CVを「SOURCE」の「pitch」につなぎ、Gateを「FUNCTIONS」の「gate」につないでようやくSWINGでvolca modularをコントロールして音が出せる状態になります。

準備作業はまだ続きます。コントロールできるようになったら、キャリブレーションという準備作業をする必要があります。毎度のことではありますが、「volca modular/CV入力のキャリブレーション方法」を参考にして準備作業を行いました。この後の音作りの作業のために、音量(VOLUME)以外のすべてのつまみを0にしておきます。作った音の設定などを保存しておく機能はないので、volca modularの「Supportダウンロード」のページから「ブランク・チャート」をダウンロードして、これに設定などを記録しておきます。昔、JUNO-106で作った音を保存したときも、チャートに書き込んでおくことはありました。それぞれの設定が数値として見えないので、各スイッチの位置で確認しておかないとどの設定をどの様に変更したかがわからなかったためです。
#キャリブレーションが終わった後、キーボードの「PITCH BEND」をいじると音程がずれてしまうことがあるようです。

ここから、しばし音作りに没頭しました。音の信号と制御の信号をどこにどのようにつなげるかを考えながら作業をしましたが、内部の配線とジャンプワイヤーでの配線とが頭の中で混乱してしまうことがあって、何度か「はじめからやり直し」となりました。それも含めて楽しく戯れることができました。完成したと言えるほどではないのですが、シンセブラス(低音)を作ってみたのでチャートにしておきました。

まだまだ使いこなせるようになったとは言えないので、時間を見つけて戯れてみたいと思います。それから、今回使ったキーボード(SWING)は、CV/GateとMIDIを同時に使うことができるので、手元にあるvolca modularとvolca fm2を同時にコントロールして音を出すことができることもわかりました。やってみたいことがどんどん湧いてきますね。(^^;;;

2025年1月11日土曜日

YAMAHA製 YDA138デジタルアンプ自作キットを組み立てる

以前の記事YAMAHAのA100という古のパワーアンプを直した話を書きましたが、そのときに、「YAMAHAのデジタルアンプキットを購入して…」というようなことを書きました。今回は、それを実現するという話です。YAMAHAのYDA138(←Datasheet)というデジタルアンプICを載せたキットを組み立てて、これまで使ってきたXY-C50L(←YouTube動画)やA100などのアンプたちとの聴き比べを計画しました。

今回購入したのは、ノースフラットジャパン(NFJ)で取り扱われている商品で、YAMAHAのYDA138を載せたデジタルアンプ自作キットです。Amazonで「YAMAHA製 YDA138 デジタルアンプ自作キット リターンズ 2024-2025 Ver.」と「専用アルミケースキット」として販売されていたものを一緒に購入しました。自作キット単体でも使うことはできますが、今後長く使うことを考えると筐体があった方が良いし、他にもいろいろとまとめて購入して送料を節約することもねらってまとめ買いをしました。

購入したキットを開封すると、同梱されていたのは基板や部品一式と部品表くらいなもので、組み立ての説明などは一切ありませんでした。つまり、初心者にはちょっとハードルが高いということで、ネットで情報を探しながら組立作業をすることをおすすめします。私は、部品表と基板のシルク印刷を頼りに部品を取り付けていくことにしましたが、Amazonの販売ページにある制作例写真やYouTubeで見つけたちょっと古い動画も参考にしながら組立作業を行いました。
あいはらの木 ものづくりチャンネルさんの「YAMAHA製 YDA138 デジタルアンプ自作キット リターンズ 2020-2021 Ver.の作り方解説と他アンプと音質の比較をする動画」を参考にしました。

組立手順は、作業効率を重視して、背の低い部品から取り付けるというセオリーに従ってはんだ付けを行いました。また、先に紹介した動画では「2020−2021 Ver.」を使っていましたが、今回購入したものは「2024-2025 Ver.」だったため、微妙に部品が違っていて戸惑うことがありました。ここで備忘を兼ねて注意点をまとめておきます。

  • コイルは、被覆によって巻き方向がわからない(向きがわかりそうな目印もない)ので向きは気にせずに取り付ける
    ※コイルの向きによって音質に変化があるという情報も見つけましたが、見えないものは仕方がありません。
  • CT5とCT6のコンデンサは、無極性のものになっていたので「+」記号は関係なく取り付けられる
    ※念の為に写真を見ながら同じ方向になるようにしておきましたが、逆でも問題ないはずです。
  • 専用アルミケースに入れるので、YDA138 デジタルアンプ自作キットに同梱されていた2Pのターミナルブロックは使わず、専用アルミケースキットに付属しているターミナルブロックを使う
    ※筐体にいれる際に、基板左右の縁にはんだ付けする部品のハンダの盛りが厚いとうまく入らないので、山盛りにならないようにしておく必要があります。

これを、専用アルミケースに入れて完成です。普段MacBook Proにつないで使っているXY-C50Lと入れ替えて、音楽や動画を再生して聴き比べてみました。普段遣いとしては、XY-C50Lで全く問題を感じていなかったのですが、YDA138キットに入れ替えると音の再現性が向上するというか、聴こえる音の種類が増える感じがしました。それでいて、ガチャガチャした感じではなくて、それぞれの音が役割をもって聴こえるので、楽曲のハーモニーを形成する音の要素がより鮮明に見えてくるように感じました。XY-C50Lが半完成品(アクリルの板で挟んでボリュームキャップを付ける)で約1,300円程度、YDA138キットが自分で組み立てて約3,000円程度なので、倍以上の差があります。とは言え、何万もするものではなくこの廉価帯のアンプですからそれほど大きな差が出るとは思えず、YDA138キットのコストパフォーマンスの良さを感じることができました。

さて、ここまでやってきて、このYDA138のパワーアンプの使い道としては、新しい電子楽器たちのモニタスピーカー用のパワーアンプとして使ってはどうかと考えました。つい先日、新しい電子楽器たちのモニタスピーカーとして、XY-C50Lと自作2 Wayスピーカーの組み合わせを採用したばかりでしたが、今回購入したYDA138のキットの音が想像以上だったので、パワーアンプを置き換えてみました。すると、予想通りノイズもほぼなしで音の再現性も高く理想的な環境ができあがりました。

さて、もう一つのA100についてですが、長くなってしまったので次回以降にしたいと思います。

2025年1月1日水曜日

電子楽器用として使っているPC用スピーカーと自作スピーカーを聴き比べてみる

以前紹介した自作2 Wayスピーカーについて、作成したときに試聴したところ素直な音が出ている感じがしたので、最近購入している電子楽器用のモニタスピーカーとして使ってみてはどうかと思っていました。その後、自室の様々な音楽・楽器の環境をいろいろといじっている中で、そろそろこの課題にも取り組んでみようかと、重い腰を上げることにしました。

今回の音源となる電子楽器たちは、ここ数年で少しずつ購入して新しくシステムを作っている電子楽器たちで、KORGVolcaシリーズBehringerRD-6TD-3などです。元々これらの電子楽器たち用のモニタスピーカーとしては、Logicoolのスピーカー(Z150←ロゴなどが違う新モデル=展示品扱いで安売りしていたものだったような…)を使っていました。特に問題を感じるところはないのですが、そもそもこのスピーカーはPC用のもの(電子楽器との相性は悪くないと思いますが)です。これと自作2 Wayスピーカーとを聴き比べてみたらどんな違いがあるのか(それほどでもないのか)試してみたいと思います。

これらの新しく購入した電子楽器たちは、古くから所有している電子楽器たちに比べてかなり安価なものです。(昔欲しかったものと似たようなものが、今は安価に手に入るようになったと喜ぶべきなのか、昔の方が趣味にお金をかけられたのにと嘆くべきなのか…)それに合わせて、今回使う自作2 Wayスピーカーだけでなく、ミキサーやアンプも手頃な価格で購入できるもので揃えていきます。

ミキサーは、AU-401(←公式サイトは見つからず、Google先生に聞くといろいろ出てきます)という、4 in 1 outのステレオミキサーを使うことにします。このミキサーは、3.5mmのTRSソケットを4系統備えていて、それぞれのステレオ入力をMixして1系統にしてステレオ出力するものです。複数のヘッドホン(ステレオ)出力を1つにまとめて、TRSケーブルの差し替えをせずに1つのヘッドホンで聴きたいというようなときに使うためのものだと思います。本体はとても小さく、入力側の音量調節ボリュームはついていますが、出力側にメインOUTのようなボリュームはついておらず、必要最小限の簡素な作りになっています。これはAmazonで約1.9千円で購入しました。

アンプとしては、これまでもに使っていたXINYI Sini Audio(XY-C50LYouTubeの動画)が手頃で使いやすくて音も悪くないことから、もう1台購入して電子楽器用のモニタスピーカーのアンプとして使ってみることにしました。このアンプは、AUX(TRS)入力だけでなく、Bluetooth入力とUSB AUDIOにも対応しているデジタルアンプです。現在でもAmazonで約1.3千円くらいで購入することができます。いろいろなところで取り扱いがあって、中華製品あるあるで謳っている仕様がバラバラなのですが、およその仕様は以下のとおりのようです。

〈XY-C50L(AP3050DアンプIC内蔵)〉

  • 電源:DC 8〜26 V
  • オーディオ入力:Bluetooth+AUX+USBドライブ+USBサウンドカード
  • 音量調節:エンコーダ360度無制限同調(押すことで入力モードを変更できる)
  • オーディオ出力:ターミナルコネクタ(端子台)+3.5 mmTRS
  • 出力:50 W*2
  • インピーダンス:4〜8 Ω

スピーカーの聴き比べをしてみると、自作2 Wayの方が音の響きがよく感じられました。スピーカーユニットやエンクロージャーの大きさも違うし、自作2 Wayの方はツイーターも入っているし当然と言えば当然です。

問題は、高周波のノイズが乗っていて、電子楽器からの音に干渉してさらにノイズが広がることでした。接続を見直したり抜き差ししたりして確かめましたが、ミキサーを介さずに電子楽器単体でアンプに直接つなぐとノイズが発生しないため、安物のミキサー(AU-401)がダメなのかと思いました。

しかし、ミキサーに1つの電子楽器だけを接続するとノイズが消えることと、AC-DC電源アダプタからの給電を1つの電子楽器だけにしてもノイズが消えることから、1つのAC-DC電源アダプタから3つの電子楽器に給電しているDC-HUB(1入力4出力)を使っていることが原因だということがわかってきました。DC-HUBと電子楽器とミキサーの間で、いわゆるグランドループが発生していて、発振してしまっているということです。

そこで、最近購入して試用だけしていた「グランドループアイソレーター」を電子楽器とミキサーの間に入れてつないでみたところ、発振がなくなって問題なく音が出るようになりました。どこでループが発生しているかを特定して、その中にアイソレーターをいれることで劇的に変化するということを知りました。複数のループが発生している場合は特定が難しいかもしれませんが、考え方が理解できてよい勉強になりました。