工業音楽 shuplana's diary

CNCを中心としたワンボードマイコン~パソコン周辺

リンツ リンドール ギフトボックス80個入 Lindt LINDOR Gift Box

ギフトボックスです。パック入りのものを中心に買っていたのですが、注文する手間を少なくするために、たくさん入っているのを入手してみました。

ベルギーのものなど、いろんなチョコを入手しましたが、結局このチョコにおちつきました。扱いやすく、いろんな味、フレーバがあって飽きない、ひとつひとつリンドールだ!っていう力強い味があります。

 

RaspberryPi ZERO W を赤外線リモコンにする

f:id:shuplana:20220416235449j:plain

RaspberryPi ZEROの拡張基板に赤外線RIリモコン部品を載せる

 

RaspberryPi ZERO W を入手済みだったのですが、OSとしてRaspbianを入れるのがいろいろできそうだったので入れました。

発端は、スマートフォンから赤外線リモコンの部屋のLED照明を操作できないかな、と思ったところから始まりました。

赤外線リモコンについては資料が分散していて、統合的にコントロールできるものはほとんどなさそうだ、という判断に至りました。スマートフォンのアプリはTVリモコンがメインですが、照明、エアコンなどを含めてコントロールできるようなものはなさそう。有料のアプリではありそうですが、調べて作る、という結論に至りました。

赤外線IRリモコンについては、さすがRaspberryPiというか、すでにいろいろ試している方々がいらっしゃいます。

ハードウエア

 赤外線LEDを発光させるハードについては下記のページを参考にさせていただきました。

Raspberry Pi Zero で赤外線リモコンを作る - Qiita

 

また、赤外線受信についてはIR受信モジュールとして売られてるものを使い、解析できるようにしました。学習タイプのリモコンにする、リモコンの通信を解析したいときなどは必須となります。

 

照明のリモコンや扇風機のリモコンなどは、ボタン操作=信号 と考えてほぼOKなので、リモコンから発信される信号を真似して発信すればそのままリモコンの動作になります。

対してエアコンのリモコンの信号は難しいです。三菱のエアコンのリモコンの解析をしましたが、毎回、コントロールできるパラメータをすべて送っているようです。

「+1度上げる」を送るときもモード(冷房/暖房/除湿)、温度、風向き、風速、すべて送っているようです。リモコンを再現するには難しい。すべてのパラメータを決め打ちで、よく使うモード、温度を設定して使うのが簡単そう。(学習して送信すればそうなります)

wiringPi のライブラリを使ってプログラムしました。

受信プログラム  受信した信号をTEXTファイルに書き出す。

送信プログラム 受信した信号のTEXTファイルを読み込み送信する。

上記の単純な2プログラムがあれば学習リモコンを再現できます。

このプログラムを呼び出すために、apache,PHPをRaspberryPi ZEROに入れました。WEBページでボタンをクリックすると上の送信プログラムを呼び出す、という単純なプログラム。RaspberryPi ZEROがつながっているWifiのネットワーク環境にスマートフォンもつながっていれば、Chromeなどで上記apacheページにアクセスしてリモコンと同じ動作をさせることができます。

 

ブレッドボードでバラック状態だったのを、RaspberyPi 3 用のスタックできる基板を使って組みなおしました。

 

BeagleBone-black BeLa PEPPER をEurorackに収める

やっとBeagleBone-black BeLa PEPPERをEurorackに収めることができました。

問題が何点かあり、Eurorackに収めることができないでいましたが、何とかスッキリとパネルに収めました。

f:id:shuplana:20210530164933p:plain

BeagleBone-black BeLa をEurorackに収める際の問題点

1.後の2.4.の問題をクリアすればOKと思っていましたが、この電源の8x2Pのソケットのスペースがないことがその先に立ちふさがっていました。

電源ケーブルとしてリボンケーブルを圧着したものを使用していましたが、リボンケーブルを圧着したソケットは「1.」の部分が厚くなるため、この隙間では収まりません。圧着した部材を抑える爪の機構がこの位置に来るため、薄くできないため、リボンケーブルを使ったものは使用できないと思ってください。この画像を撮影した後に起きた問題ですが、3.が空いているため接触していませんでした。後に強く押し込んで隙間をなくしています。この条件に合うコネクタとケーブルのセットを探して入手しました。電源ケーブルとしてこれくらいの太さがないと個人的には不安です。

 

2.USBプラグがフレームに干渉します。L字型のUSBプラグを使用していますが、この部分がフレームに干渉してしまいます。そのため、奥行きが小さいフロントレールを探し、2つめのフレームを作成しました。4.の奥行きだけ、短くなったために干渉しなくなりました。ただし、パネルに収めるときは、USBプラグを外し、収めた後にUSBプラグを挿すことになります。

 

EuroRack のケースフレーム自作 (ラックマウント部) (2)

f:id:shuplana:20210530163424j:plain

3Uラック フレーム 下がタカチのFRONT RAIL、上が今回のFRONT RAIL

2つめの 19インチ 3U モジュールフレームを作成しました。

前回はレールフレームとして、タカチ電気工業のフロントレールを使いましたが、奥行きが小さいものを使う必要が出てきました。

海外サイトを探すと、Eurorack用とも思える、安くて軽そうなシンプルなものが見つかるのですが、送料が高い(長くて重いからだと思われます)ため、なかなか注文しにくいです。
国内で入手できるようなものはないか探していたところ、マルツオンライン見つけることができました。

 

Wakefield-Vette製 型番:3684562

HORIZONTAL RAIL FRONT 84HP

奥行きが狭いため、ねじ止めが片側あたり1個でタップが切られています(M4)。

(タカチはねじ止め片側あたり2個でタップなし)

価格も手ごろだったので、注文しましたが、在庫切れということで1か月半、待つことにしました。

ラックマウントブラケットは前回同様、M133Sを使用し、バーナットも BN43-M2.5 を入手しました。

ブラケットに4つ穴加工してねじ止めすれば完成です。バーナットも問題なく溝に入りました。

84HPが2段分完成しましたが、まだBeLa PEPPER 1台が収まっているだけで寂しいです。アナログだけにこだわらないつもりなので、むしろデジタルなものだけが入るかもしれませんが、パネルを埋めていきたいです。

 

 

EuroRack用 19インチラックフレームの製作 (2)

f:id:shuplana:20210530160539p:plain

前面のパネル側だけに支柱を立てて3U 19インチのフレームを入れていましたが、上に他の物を載せることができないため、スペースを有効活用できませんでした。

後ろ側にも支柱をを立て直方体にしました。強度は上がったと思いますが、重くなりました。

 

YMF825 トーンエディタ

f:id:shuplana:20210512232313p:plain

YMF825 トーンエディタ

2つ目のYMF825Board を入手し、2機をTeensy4.0にSPI接続してコントロール。CSだけ別にして同じSPIバスにつなげました。

基本的には、どちらにも同じデータを送信して、MIDIのCC PANで左右に振れるように対応しました。

FM音源の内部レジスタのイメージそのままで、音色を操作できる画面をVisualStudio C#でFormアプリとして作成しました。

それでも思ったように音が変化しない。ビット操作を間違っているような気もしてきました。アナログのADSRとは異なり、ARなど、アタックは速さがパラメータ(アナログは長さがパラメータ)大きくなると長さは短くなる、っていうのはDX7を初めて触ったときからわかってたのですが、DX7て、アタックからサスティンまで2、3点設定できた気もします。なんだかんだで、SLとSR、RRあたりの関係がよくわかりません。

DX7にないWS(DX7は6オペレータですが、すべてのオペレータは正弦波です)があって、最初から倍音豊富な音が鳴る。

やはり、選択しているアルゴリズムALGやWSは図がないと分かりずらいなぁ。

YMF825は音色のレジスタも16音分持っていますが、現在、先頭の音色だけ修正できるところまで来ています。

  • 1音色分(音色レジスタ30バイト分)をPCにロード。
  • 画面を一気にパラメータに合わせて更新。
  • 画面のアイテム(trackBarとcheckBox)を操作すると、即座にレジスタ書き込み。

MIDIのSystem Exclusiveで送受信しようかとも思いましたが、7ビット刻みでのI/Fはデバッグが大変そうなので、音色の修正はUSB経由のSerialでTeensyにコマンド送受信で対応してます。MIDIもusbMIDIを使ってます。

Serial2 みたいに、簡単に複数のシリアル通信ができるならその方法が使いたいのですが、Serialはデバッグ用にログ垂れ流しできるよう確保しておきたいですね。

音色をPCローカルファイルに保存、ローカルファイルの音色をYMF825に送信ができる

ようにするのが次の目標かな。

編集している音色は常に先頭のレジスタに来るようにすれば、1パラメータ触ったら、TeensyからYMF825には30バイトだけ送れば済むので、仕組みを考えなければ。

YMF825の仕様として、通常、16音色目の1パラメータを変更したいとき、16音色分転送しないといけない。音を出しながら音色のパラメータをいじりたいので、なるべく転送量を少なくするには、編集中の音を先頭のレジスタに来るようにして、1パラメータを連続して修正しても、1回30バイトの転送で済ませたいわけです。

なので、

編集します

→ 先頭と編集したい音色入れ替え

→入れ替えにあわせてchのアサインも入れ替え

 なんてことをしないといけないので、アサイン変換テーブルを1枚余計に挟まないといけないかな。

 

 

YAMAHA YMF825 YMF825Board を使ってみる

f:id:shuplana:20210429181107j:plain

YMF825Board

Teensy3.5(Teensy4.0でもいけると思う) につないでサンプルプログラムを動かしてみて音が出るところまで確認。

SPIを3.3Vで駆動するには、YMF825BoardのSMTよりもっと小さいような表面実装の抵抗(おそらく0Ωのジャンパー)を取り外し、ラウンドをハンダで直結せよ、とあったのですが、基板のバージョンが違うのか、ラウンドの形状がちょっと違う?(3本並んでる)目が悪いので勘でやったが、拡大すると綱渡り的につながっているのかも。

単音だけでは「いにしえ」のFM音が出る。16音出せるが、2音で1音とし、8音ポリフォニック、あるいは4音ポリフォニック 2マルチチェンバあたりにして使ってみたい。

あと、すべてモノ出力なので、もう1ユニットを並列にしてPANができるようにしてみたい。これについては先人がいらっしゃるので参考にしたい。

ところで、YMF825のSPIコマンド(アドレス、データ)の仕様書が見つからない。すでにYAMAHAも公開を終了しているのであろうか。

DX7を順番待ちして購入した人が、何かに燃えているのである。