2014-12-07 4 views
0

Вовремя для праздников я хотел бы принять участие в конкурсе на украшения ящиков для своих компаний. Я планирую настроить малиновый pi с pi лицом для питания 5v рождественских огней на ноты песни. Я знаю, что я мог бы легко записать это, чтобы следовать за музыкой, которая является моим текущим планом.Java аудио вход lightorgran

Мне было интересно, если есть какой-то способ, которым я мог бы слушать поток исходящего звука и манипулировать огнями в соответствии с выходами, основанными на частоте. скажем, есть 8 каналов огней. 2 будет охватывать 0-200 Гц. 3 канала будут охватывать 200-5000 Гц, а 3 - 5000-10000 Гц. Пока я жду, когда появится мое лицо, я планировал провести базовое тестирование в java. Затем я переписал код для python. Мне было интересно, есть ли способ сделать мою идею в java, и они также способ подготовить окончательную реализацию в python.

+0

Без в любом контексте, это тоже слишком широко. Но, конечно, вы можете читать сырое аудио из файла или '/ dev/audio' в Java и показывать некоторые изменения изображений в пользовательском интерфейсе Swing или только некоторые printlns на' System.out' что вы бы включили рождественские огни, если бы у вас были какие-либо приспособления к вашей JVM. –

+0

Есть ли способ, которым вы можете прочитать живое выступление, которое отправляется на колонки? А затем интерпретировать данные на основе частоты выведенного звука? Так что давайте скажем, что вы слушаете видео на youtube, звук выводится на колонки, его можно «прослушивать» и трансформировать в какую-то значимую ценность, такую ​​как герц. Затем это значение можно использовать для запуска каждого конкретного канала света. –

+0

Я уверен, что есть способы (которые зависят от операционной системы). Но вы написали алгоритм? Я бы сосредоточился на этом, чтобы быть честным. –

ответ

0

Было бы возможно использовать FFT/частотный анализ, но RaspberryPi не имеет вычислительной мощности. Я построил нечто похожее, но основанное на MIDI. MIDI - это музыкальный протокол/формат для воспроизведения музыкальных/музыкальных инструментов. MIDI-файлы содержат данные о музыкальных нотах, которые могут быть легко отображены на каналах и управлять схемами освещения.

Мой код с открытым исходным кодом (https://github.com/mp911de/midi-relay) и написан на Java. Должно быть возможно читать MIDI также с помощью Python. Другое дело, вам нужно как-то контролировать свои огни. GPIO не обеспечивает достаточную мощность для работы рождественских огней (мои светодиодные схемы требуют около 0,5 А при 24 В (около 12 Вт) .Это означает, что вы должны использовать какой-то управляемый коммутатор/реле с внешним источником питания.Я использовал Ethernet- управляемое реле для этого.

в этом году, я положил рождественские огни в Интернете, вы можете найти код на https://github.com/mp911de/heckenlights и сайт в http://heckenlights.org. код Github содержит некоторые схемы о том, как подключить и контрольные лампы.