Gtlab Forum

Тематический => Негитарная электроника => Тема начата: Rst7 от Июня 07, 2011, 04:50:42 pm

Название: Midi-Метроном
Отправлено: Rst7 от Июня 07, 2011, 04:50:42 pm
Соседи по студии (репетиционная точка для барабанщиков, заодно они и уроки дают) попросили сделать девайс со светодиодикам, чтобы эти самые светодиоды разместить возле барабанов, дабы новичкам было видно, куда лупить :) Соответственно, необходимо, чтобы девайс умел этими светодиодиками мигать по разному (адекватно партиям ударных, понятное дело).

Понятное дело, что решение в лоб влечет за собой кучу программирования - интерфейс с пользователем, менюшки, и т.д., да и кроме всего нужно запаять в устройство индикатор да кнопки. После некоторого размышления я за вечер слепил девайс, который с одной стороны имеет 8 светодиодов (можно и больше), а с другой стороны - USB-разъем для подключения к компу. Соответственно, со стороны компа он видится как USB-аудиоустройство, которое умеет быть MIDI-интерфейсом. И, соответственно, при перенаправлении миди-потока на это устройство оно выделяет данные 10го канала (дефолтный Drum-channel) и в зависимости от прилетающей ноты зажигает светодиодик. Соответственно, по MIDI-сообщению об отпускании ноты светодиодик тушится.

В результате можно брать банальный Guitar Pro, писать в нем партию ударных, устанавливать в настройках MIDI это устройство для вывода и вуаля - при нажатии на Play все начинает мигать :)

Понятное дело, что какой-то полноценный хост тоже работает с устройством.

Можно вместо какого-нибудь светодиода зацепить наушники - будет давать щелчок в уши от какого-либо инструмента. Полезность заключается в том, что в партитуре можно указать различные фишки типа ускорения-замедления - это все будет отрабатывать.

Схема сего супер-устройства:
(https://guitartonelab.ru/proxy.php?request=http%3A%2F%2Fimg194.imageshack.us%2Fimg194%2F2685%2Fmiditoled.th.png&hash=fb7d7a3e717c62344278ff28c8675ed8202ec43b) (http://imageshack.us/photo/my-images/194/miditoled.png/)

Проц - копеечный (адекватная цена - $3 в розницу), правда, только в TQFP32. Я это дело собрал просто на купленной на базаре макетке - там было место под TQFP32.

Собственно, прошивка контроллера - http://www.onlinedisk.ru/file/676355/

Пока есть несколько вопросов, потом подпилю:

1. Очень желательно на всем треке указывать исполнение стаккато. Тогда светодиоды будут зажигаться на короткое время. И если в партитуре, скажем, две одинаковых ноты подряд без паузы (скажем, два удара в один барабан), то без стаккато светодиод зажжется на первой ноте и выключится только на второй. Выделение всего трека и нажатие на кнопку стаккато вполне решает, но дабы не править партии, я чуть позже сделаю ограничение длительности горения светодиодов.
2. Пока что светодиоды зажигаются по кругу. Т.е. ноты 32, 40, 48, 56 и т.д. зажигают H1, ноты 33, 41, 49, ... зажигают H2 и так далее. Чуть позже я прикручу табличку для лучшего соответствия нот (инструментов) и светодиодов.

В общем, если кому пригодится - пользуйтесь.

Попробую на днях видео этого дела слепить.

Ну и на основе этого дела можно еще каких полезных плюшек слепить.


Доп. материалы ;)

Как шить:

Прошивать следующим образом. Сначала скачивается программатор Flip (http://www.atmel.com/dyn/resources/prod_documents/Flip%20Installer%20-%203.4.3.exe). После его установки при втыкании устройства будет найдено устройство AVR DFU. Это работает изначально прошитый в процессор загрузчик. Драйвера для него лежат в папке usb (имеется в виду - в каталоге, куда установлен Flip).

Затем запускаем Flip. Выбираем контроллер (AT90USB162), выбираем присоединение через USB, затем загружаем нужный .hex-файл и прошиваемся. Дальше можно либо выбрать "Start Application", либо просто вынуть и вставить устройство. После этого оно обнаружится как MIDItoLED и установится без всяких доп. драйверов.

При необходимости перешивки устанавливаем перемычку BOOTCORE, вставляем устройство в USB, замыкаем перемычку RESET, отпускаем и дальше пользуемся Flip'ом.


Исходники и прочее:

Исходники - http://www.onlinedisk.ru/file/676354/

Бодаться с ними следующим образом.

Скачиваем крайний WinAVR (http://sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-20100110-install.exe/download) и устанавливаем его. Это компилятор.
Скачиваем крайний пакет LUFA (Lightweight USB Framework for AVRs) (http://lufa-lib.googlecode.com/files/LUFA-110528.zip) - это набор исходных текстов драйверов для Atmel'овских процессоров с USB.
Распаковываем исходники в каталог LUFA-110528/Projects/MIDItoLED
В самом каталоге MIDItoLED выполняем команду "make all". Имеем .hex-файл, который можно шить.

Название: Re: Midi-Метроном
Отправлено: Moonlight от Июня 07, 2011, 08:33:44 pm
Чтото не все понял. Это получается как на некоторых синтезаторах подсвечивается клавиша куда жать, только для барабанов?
Название: Re: Midi-Метроном
Отправлено: Rst7 от Июня 07, 2011, 08:37:53 pm
Типа того :)
Название: Re: Midi-Метроном
Отправлено: Ser.Balashoff от Июня 08, 2011, 04:11:18 am
Выражу свое мнение. Светодиоды не помогут барабанщику заиграть. Будет потрачено время на разработку девайса зря. Лучше начать обучение с набивки головы барабанщика рудиментами под живой метроном, без них он не заиграет и светодиоды на барабанах не помогут, нужны основы, как и в любом музыкальном инструменте. Гитаристам - гаммы, барабанщику - рудименты примитивно-образно говоря. Если гитаристу подсвечивать струны светодиодами он "Стивом Ваем" не станет, а просто бросит это дело, когда перестанет тупо успевать за светодиодами, не зная зачем он это делает. Надеюсь быть правильно понятым.
Название: Re: Midi-Метроном
Отправлено: Rst7 от Июня 08, 2011, 06:27:55 am
Цитировать
Светодиоды не помогут ...

А это не ко мне. Меня попросили - я сделал. Ну потратил пол-вечера, не умер :)

Девайс может кому для каких-либо других целей пригодится :)
Название: Re: Midi-Метроном
Отправлено: jager от Февраля 21, 2013, 07:22:02 am
Подниму старую темку.
Ко мне обратился мой знакомый, который периодически мне подкидывает интересные околомузыкальные идеи для реализации в железе.
На этот раз идея такова: нужен метроном, способный засинхронизироваться от миди-устройства. Как я понял, штука должна получится мегаполезной. От синтюка кинул темп метроному, и барабанщик засинхронизирован с синтами и всякими сэмплерами/ромплерами.
Почитал я про миди, немного разобрался что к чему, но к реализации всё как-то не могу подступиться, не хватает знаний в программировании.
Может быть, кто-то делал подобные вещи?
Название: Re: Midi-Метроном
Отправлено: research от Февраля 22, 2013, 11:13:48 am
в смысле - миди (клок) в клик барабанщику преобразовывать? думаю, что хватит 8ми ножки, типа tiny45.

Если совсем лень, https://www.google.ru/search?q=midi+clock+arduino


P.S. RST#7 респект, как всегда!