memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Arduino_PianoLuxをコントロールするPythonアプリ

光る鍵盤ではない電子キーボードの鍵盤をそれっぽく光らせたいなぁと思うものです。Arduinoとかでちょっと工作すればできそうですが、既にあるものは利用したいですね。そんな気持ちを察してか、素晴らしいオープンソースが公開されています。以下です。以前、このブログで書いたことがあります。

github.com

Arduino側は特に問題ないのですが、PC側の制御ソフトがJava製で、いまやろうとしているプロトタイプづくりにはそのまま使えそうもありませんでした。

そこで試しにCopilotにArduinoのコードを読ませて、それに対応するPythonコードを生成してもらいました。MIDIファイルの再生とかはできませんが、PCにMIDI接続されたキーボードの入力を受け付けて、その鍵盤に対応したテープLED上のLEDを点灯させようということです。

1時間もかからずできました。ちょっとトラブルはありましたが、それは僕自身のArduino_PianoLuxの理解が間違っていたことが原因でした。

一応、その勘違いの内容を書くとArduino_PianoLuxでは音階名を認識しないということです。Arduinoのコードにはオクターブの概念を定義するようなコードもあったのでテッキリ音階名を送ってLED位置に変換するのをArduino側でやっているのだと思っていたんですね。。。でも違いました。単純でした。

なので、Python側でMIDIのノート番号からLED位置に変換しなければならなかったんですね。。。つまり、実際に使うテープLEDのLED実装数やLED間のピッチ数(=1オクターブに含まれるLED数として)などです。これらはArduino_PianoLux側の実装を参考にしました。

全体はCopilotにサクっと作ってもらいましたが、やはりある程度はコードを読んで道筋をつけて上げる必要がありました。

ただ、あれですね。。。からあげ先生もポッドキャストでお話しになられていましたが、AIとのコーディング作業はストレスフルなところがありますので、ついついパワハラまがいの言い方になってしまうことがあるな。。。と思いました。ついついイラっとして。。。いつか刺されますかね。。。AIがロボットという手足をもったら💦

#21 AIへの「パワハラ」疑惑? 開発の裏側とマシンスペックの悩み - からあげ帝国放送局 | Podcast on Spotify

以下、リポジトリです。

github.com