У меня дома установлены светодиоды, и я хочу заставить их танцевать под музыку.
Моя установка:
- 10 RGB LED strips (so 30 channels) controlled by PWM (48 steps) connected to a PC via USB.
- The LED strips are physically located in 4 groups
- Оборудование контролируется Node.js.
- Music is played out of Traktor on a different machine.
- Traktor provides MIDI data out with master tempo and level.
- У меня есть MIDI-данные, отправленные на сервер Node по UDP.
Я написал библиотеку для абстрактного управления светодиодами, поэтому в Node я могу просто вызвать:
channel[n].set(intensity, r, g, b);
... и оптимизирует данные, передаваемые по шине USB.
Итак, на моем сервере Node я получаю данные о темпе и уровне музыки, и я хочу преобразовать их в световое шоу. Node получает текущий уровень звука примерно каждые 60 мс. Данные выглядят следующим образом (20-секундный образец из середины песни, щелкните, чтобы увеличить):
http://josh3736.net/images/ledvizbig.gif
MIDI-данные выводятся по шкале от 0 до 127. В данном случае значение темпа 42 соответствовало 128 ударов в минуту.
Этот вопрос состоит из нескольких частей:
- Most importantly, what is the best approach to use this data to control the LEDs?
- Ideally, that input data should influence an animation/transition between colors; however, on hard hits an abrupt change/strobe might be nice too.
- Есть ли какие-либо другие MIDI-данные от Traktor, которые я должен отправить в Node?
- Как сделать так, чтобы каждая из 4 физических групп была ориентирована на один и тот же цвет?
Ссылки по интересам: