家にLEDがいくつか設置されていて、音楽に合わせて踊らせたいと思っています。
私のセットアップ:
- USB経由でPCに接続されたPWM(48ステップ)によって制御される10個のRGB LEDストリップ(つまり30チャンネル)。
- LED ストリップは物理的に 4 つのグループに配置されています
- ハードウェアは Node.js によって制御されます。
- 音楽は別のマシンで Traktor から再生されます。
- Traktor は、マスター テンポとレベルを備えた MIDI データを出力します。
- UDP経由でMIDIデータをノードサーバーに転送しました。
LED の制御を抽象化するライブラリを作成したので、Node では次のように呼び出すことができます。
channel[n].set(intensity, r, g, b);
...そして、USB バス経由で送信されるデータの最適化を処理します。
ノード サーバーでは、音楽のテンポとレベルのデータが入ってきており、それをライト ショーに変換したいと考えています。ノードは約 60 ミリ秒ごとに現在のオーディオ レベルを取得します。データは次のようになります (曲の途中からの 20 秒のサンプル。クリックすると大きくなります)。
http://josh3736.net/images/ledviz.gif
MIDI データは 0..127 のスケールで出力されます。この場合、テンポ値 42 は BPM 128 に対応します。
この質問には、対処できる複数の部分があります。
- 最も重要なのは、このデータを使用して LED を制御するための最良のアプローチは何ですか?
- 理想的には、その入力データがアニメーション/色間の遷移に影響を与える必要があります。ただし、ハードヒットでは、突然の変化/ストロボも良いかもしれません.
- ノードに送信する必要がある Traktor からの他の MIDI データはありますか?
- 4 つの物理グループのそれぞれを同じ色に偏らせるにはどうすればよいですか?
興味のあるリンク: