62
Raspberry PiでピアノLEDライトストリップを作る方法

YouTubeでピアノのチュートリアル動画をよく見かけますが、鍵盤を弾くとすぐに手元が光って見えるんです。MIDI、Raspberry Pi、そしてプログラム可能なLEDを使って、自分のピアノでも同じようなことができるか試してみたくなりました。音楽と同じくらいテクノロジーにも興味があるなら、演奏に合わせて光るピアノ用LEDストリップの作り方をご紹介します。 

このプロジェクトに必要なもの

  • Raspberry Pi 4または Raspberry Pi 3、または Raspberry Pi Zero(電源アダプターと SD カード付き)
  • MIDI USB出力と対応するUSB​​ケーブルを備えたデジタルピアノ
  • プログラム可能な LED ストリップ (1 メートル以上)
  • ジャンパーケーブル

Raspberry PiをピアノのLEDライトストリップに変える方法

始める前に、Raspberry Piをセットアップしましょう。まだセットアップをしていない場合は、Raspberry Piの初回セットアップ方法、またはヘッドレスRaspberry Piインストール(キーボードと画面なし)の方法を解説した記事をご覧ください。このプロジェクトでは、ヘッドレスRaspberry Piインストールを推奨します。

1. Gitをインストールします。GitHubからコードをダウンロードするために必要になります。

sudo apt-get update
sudo apt-get -y install git

2.リポジトリをホームディレクトリにクローンします。これにより、プロジェクトの実行に必要なすべてのコードとオーディオファイルが揃います。

cd ~/
git clone https://github.com/rydercalmdown/piano_key_illuminator.git

3. 「make install」コマンドを実行して、プロジェクトの依存関係をすべてインストールします。このスクリプトは、低レベルの依存関係と、プロジェクトの実行に必要なPythonライブラリのインストールを処理します。Raspberry Pi 4では約10~15分かかります。

cd ~/piano_key_illuminator/
make install

4. LEDストリップを箱から取り出し、裏面の粘着テープでピアノに貼り付けます。鍵盤全体を覆うには長さが足りない場合は、ピアノの中央に貼り付けてください。

画像

1

2

Raspberry Pi ピアノ LED
(画像提供:Tom's Hardware)

5. LED ストリップの5V ピンとアース ピンを、それぞれ Raspberry Pi ボードのピン 4 と 6 に接続します。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

6. LED ストリップのデータ入力ピンを Raspberry Pi ボードのピン 12 に接続します。

Raspberry Pi ピアノ LED

(画像提供:Tom's Hardware)

7. USB ケーブルを使用して、ピアノの MIDI 出力を Raspberry Pi (任意の USB ポート) に接続します。

Raspberry Pi ピアノ LED

(画像提供:Tom's Hardware)

8.ピアノの電源を入れ、次のコマンドでピアノがリストに表示されていることを確認します。楽器名が表示されるはずです。

amidi -l

Raspberry Pi ピアノ LED

(画像提供:Tom's Hardware)

9. src/app.py ファイルのself.lc.led_count 変数をストリップ上の LED の数 (デフォルトは 60) に設定します。

nano src/app.py
# self.lc.led_count = 60

10. 次のコマンドを使用して、 Raspberry Pi でアプリケーションを起動します。成功すると、アプリケーションの起動前に LED が数回点滅します。キーが押されると、対応する LED が点灯し、コンソールにそのキーの ID が表示されます。

make run
INFO:root:41 - note_on
INFO:root:41 - note_off

11. LEDストリップで覆われているピアノの一番低い鍵盤を押し、次に一番高い鍵盤を押します。コンソール出力に表示されるこれらの鍵盤の番号/IDをメモし、 app.pyで以下の変数を設定します

INFO:root:30 - note_on
INFO:root:30 - note_off
INFO:root:101 - note_on
INFO:root:101 - note_off
self.lc.highest_key = 101
self.lc.lowest_key = 30

Raspberry Pi ピアノ LED

(画像提供:Tom's Hardware)

12.プログラムを前と同じように実行します。設定を調整することで、押されたキーに基づいてどのLEDが点灯するかを概算するようになります。これは、LEDストリップの間隔が異なっていたり、ボード全体を覆うのに十分な数がなかったりする可能性があるためです。

make run