У меня есть некоторые светодиоды, установленные в моем доме, и я хотел бы, чтобы они танцевали под музыку.Изготовление музыкального визуализатора из светодиодов RGB
Моя установка:
- 10 LED RGB полоса (так 30 каналов), контролируемая ШИМ (48 шагов), подключенная к компьютеру через USB.
- светодиод полос физически расположены в 4 группах
- Hardware контролируется Node.js.
- Музыка разыгрывается из Трактора на другой машине.
- Traktor предоставляет MIDI-данные с мастер-темпом и уровнем.
- У меня есть данные MIDI, перенаправленные на сервер узла через UDP.
Я написал библиотеку для абстрактного контроля светодиодов, так и в узле, то я могу просто позвонить:
channel[n].set(intensity, r, g, b);
... и обрабатывает оптимизации передаваемых данных USB-шина.
Итак, на моем сервере Node у меня есть темп темпа и данные уровня, входящие в систему, и вы хотите перевести это в световое шоу. Узел получает текущий уровень звука примерно каждые 60 мс. Данные выглядит следующим образом (20 второй образец с середины песни, нажмите на больше):
http://josh3736.net/images/ledviz.gif
данные MIDI выводятся по шкале 0..127. В этом случае значение темпа 42 соответствовало ВРМ 128.
Есть несколько частей к этому вопросу, которые могут быть рассмотрены:
- Самое главное,, что это лучший подход к использованию эти данные для управления светодиодами?
- В идеале эти входные данные должны влиять на анимацию/переход между цветами; однако, на жестких попаданиях резкое изменение/строб тоже может быть приятным.
- Есть ли другие данные MIDI от Traktor, которые я должен отправить в узел?
- Как я могу привязать каждую из 4 физических групп к одному и тому же цвету?
ссылки интереса:
- How do you sync JavaScript animations with the tempo of a song, without building an “audio visualizer”?
- HTML 5 Beats, в частности this и this.
Во-первых, MIDI является ** не ** аудиоданные и ** не имеет никакого отношения к аудио ** вообще. MIDI - это просто протокол для управления синтезаторами и другими устройствами. Если вы ожидаете, что сможете работать в iTunes, тогда полностью игнорируйте MIDI и перепишите свой вопрос только на аудио. – Brad
@Brad: Traktor использует MIDI для приема команд управления с аппаратного обеспечения и для передачи многих типов данных, включая * данные о воспроизводимом аудио * - в этом случае я настроил его для отправки темпа (BPM) и уровня (громкость). Я собираюсь поцарапать строку об iTunes, так как это, вероятно, вне сферы действия для вопроса. – josh3736
@ josh3735, ладно, теперь, когда мы полностью игнорируем звук и просто смотрим на MIDI ... Почему бы не использовать стандартные MIDI-сообщения синхронизации? Они должны быть отправлены Traktor, а также другим программным обеспечением, таким как Ableton Live. Вы получите 96 часовых сообщений за такт. – Brad