2011-12-13 30 views
0

我的家中安裝了一些LED,我想讓它們隨着音樂跳舞。使用RGB LED製作音樂可視化器

我的設置:通過USB連接到PC PWM控制

  • 10的RGB LED條帶(30個如此信道)(48步)。
    • 的LED條物理上位於4組
  • Hardware由Node.js的控制
  • 音樂在不同的機器上用Traktor播放。
    • Traktor以主速度和級別提供MIDI數據。
    • 我將MIDI數據通過UDP轉發給節點服務器。

我寫了一個庫,LED的抽象控制,所以在節點,我可以叫:

channel[n].set(intensity, r, g, b); 

...它處理優化發送過來的數據USB總線。

因此,在我的節點服務器上,我有音樂節奏和關卡數據進來,並且想要將它轉換成輕秀節目。節點每60ms獲取當前的音頻電平。數據看起來像這樣(從歌曲的中間20秒樣品,點擊放大):

http://josh3736.net/images/ledviz.gif

的MIDI數據是對的0..127規模輸出。在這種情況下,42的速度值對應的BPM 128

有多個部分對這個問題可以得到解決:

  • 最重要的是,什麼是用最好的方法這個數據來控制LED?
    • 理想情況下,該輸入數據應該影響動畫/顏色之間的轉換;然而,在硬命中突然改變/頻閃可能也很好。
  • 是否有任何其他來自Traktor的MIDI數據我應該發送給Node?
  • 我該如何保持4個物理組中的每一個偏向相同的顏色?感興趣

鏈接:

+0

首先,MIDI是** **不音頻數據並且與音頻**無關。 MIDI只是控制合成器和各種其他設備的協議。如果您希望能夠在iTunes中使用此功能,請完全忽略MIDI,然後僅針對音頻重寫您的問題。 – Brad 2011-12-14 14:21:16

回答

0
  1. 滾動整個圖像向右或當一個新的數據樣本進來
  2. 的LED將閃爍在由拖拉機所報告的速度離開。

你能得到關於後級過濾的MIDI報告嗎?我猜,你可以使用不同的頻段用於不同的原色。

1

我最喜歡做LED條帶動畫和可視化的建議是在HSV色彩空間中工作。這樣,您就可以獨立地控制面板和強度:在HSV顏色 https://www.npmjs.com/package/color-system

工作編寫你的動畫,然後轉換成每個像素爲RGB,當你準備把它們發送到驅動器。例如,您可以將您的響度與(V)強度以及色相的節奏(即彩虹的哪個部分)(H)連接起來。您可以使用正弦波來調製這些並製作不同的圖案。

你可以從這裏的一些想法 - 這些圖案看起來很複雜,但他們隨着音樂的強度和頻率調製的簡單的正弦波模式:https://www.instagram.com/stvito_performance_group/