Самодельный MIDI Controller

За создание таких сервисов убивать надо ещё в детстве - почти час ничего не могу скачать с этого http://ifile.it/ - ЛЮДИ!!! перезалейте куда-нибудь в человеческое место прошивку и разводку.:shout:
 
Вообщем как-то спаял я на коленке MIDI контроллер на 8 крутилок, разработка моя собственная, если кого интересует могу поделится.
Схема состоит из микроконтроллера Atmel ATMEGA16 и буферного элемента на нашей 155ла3, девайс можно подключать к Game Port напрямую, есть нормальный MIDI Out. Схема паяется часа 2 на макетной плате, программатор простой -пара резисторов + LPT порт.
Есть также схема простой MIDI клавиатуры: 5 октав, пассивная ( небыло нормальной механики чтоб сделать Velocity), транспозиция на октаву +-. Сейчас работаю на д контроллером с LCD индикатором (16х2), 64 кнопками и 64 или 32 крутилки,фейдеры, 99 пресетов (этот проект заморожен, возможно я к нему и вернусь)
При программировании микроконтроллера в его Fuse сбросить все галочки кроме СКОРТ, это установит его в режим работы от кварцевого генератора.

Вот схема , прошивка и исходники на ассемблере для простого МИДИ контроллера на 8 крутилок.

Здравствуйте.
Не могли бы вы помочь мне собрать миди клавиатуру ? Я так понял вы ее уже собирали....

Чтобы не писать все по новой, загляните по ссылке, там я указал что у меня есть, и фото прикрепил.
http://forum.cxem.net/index.php?showtopic=56122
 
Не могли бы вы помочь мне собрать миди клавиатуру ? Я так понял вы ее уже собирали....
Я собирал клаву собственной разработки без велосити и дисплея.Схема приведенная по ссылке на старом процессоре Z80 и малофункциональная, сделать такую будет не проще\дешевле чем купить новую китайску.
Я советую купить б\у мидиклаву за 100+уе.
 
Ну, насчёт того, что дороже, возможно, что и нет, особенно, если детали имеются.
Однако, я бы тоже такое делать не стал.

svideo, если интересует данная тема, пиши, покумекаем.
 
здравствуйте, я тоже хочу собрать контроллер для VirtualDj, кто-нибудь собирал?
 
Нам по МПС (микропроцессорные системы) задали к концу семестра сделать («на бумаге») устройство на базе МП какого-нибудь. Я уже задумывался о MIDI-контроллере и тут на тебе — попалась эта тема. В связи с этим хочу попытаться развить идею и сделать контроллер не на резисторах, а на угловых датчиках (или как их там? которые в бытовой технике для регулирования громкости например). Для начала хотя бы без индикации значений.

Как я понимаю, потребуется уже работать с MIDI-протоколом на приём, чтобы менять значения этих контроллеров. Ведь без этого нормальный контроллер вообще немыслим, по-моему (я просто ни разу не пользовался =) Здесь наверняка есть товарищи, уже нагуглившие и хранящие информацию по протоколу и его обработке в МП. Поделитесь пожалуйста :)
 
Последнее редактирование:
Нам по МПС (микропроцессорные системы) задали к концу семестра сделать («на бумаге») устройство на базе МП какого-нибудь. Я уже задумывался о MIDI-контроллере и тут на тебе — попалась эта тема. В связи с этим хочу попытаться развить идею и сделать контроллер не на резисторах, а на угловых датчиках (или как их там? которые в бытовой технике для регулирования громкости например). Для начала хотя бы без индикации значений.

Как я понимаю, потребуется уже работать с MIDI-протоколом на приём, чтобы менять значения этих контроллеров. Ведь без этого нормальный контроллер вообще немыслим, по-моему (я просто ни разу не пользовался =) Здесь наверняка есть товарищи, уже нагуглившие и хранящие информацию по протоколу и его обработке в МП. Поделитесь пожалуйста :)
эти датчкики-энкодеры (валкодеры). Есть уже готовый проект контроллера с ними Midibox 64e, тут http://www.ucapps.de/
В моем проекте есть исходники, там описана реализация МИДИ выхода на ассм. Описание мидипротокола я не нашел, но найти его не сложно.
 
  • Like
Реакции: Entrase
Так мы про MIDI, или Mackie говорим, или я чего-то недопонял?
Названные хосты передают свое состояние через МИДИ после соответствующей настроке и привязки контроллеров, также и через Mackie, но в нем уже всё настроено орган управления-МИДИ контроллер согласно стандарту Мэки. Протокол Mackie использует МИДИ интерфейс и протокол для передачи своих параметров.
 
Протокол Mackie использует МИДИ интерфейс и протокол для передачи своих параметров.
Возможно. Не занимался глубоким изучением Mackie. Однако, хочу спросить. Если всё время передаются Control Change, когда же тогда будут передаваться те же Note On, и прочие команды?
 
Возможно. Не занимался глубоким изучением Mackie. Однако, хочу спросить. Если всё время передаются Control Change, когда же тогда будут передаваться те же Note On, и прочие команды?
Вообще то для "взрослых" контроллеров обычно отдельный мидипорт используют ;). СС шлется ведь не всё время, руки то две и более двух контроллеров за раз крутить не будешь, хост передает данные о своём состоянии при загрузке проекта и потом при изменении какого либо параметра. Например загрузили проект в кубейсе и на Mackie Control Universal (MCU) пошли данные о состоянии микшера, транспорта и т.д, дальше данные передаются если в Кубейсе например мышкой транспорт нажать или фейдер дернуть,если ничего не делать то не передаются,могут правда данные о индикаторах уровня передаваться.
 
СС шлется ведь не всё время, руки то две и более двух контроллеров за раз крутить не будешь, хост передает данные о своём состоянии при загрузке проекта и потом при изменении какого либо параметра.
Я-то уж было подумал.... Такое чуть ли не все хосты делают, причём очень давно.
Вопрос-то у человека был, что б организовать обратную связь. А для этого одиночной посылки, при включении, мало.
 
хост передает данные о своём состоянии при загрузке проекта и потом при изменении какого либо параметра
Я-то уж было подумал.... Такое чуть ли не все хосты делают, причём очень давно.
Вопрос-то у человека был, что б организовать обратную связь. А для этого одиночной посылки, при включении, мало.
Читаем ВНИМАТЕЛЬНО! Данные в контроллер из хоста передаются при ИЗМЕНЕНИИ параметра и после запуска.
Достаточно почитать мануал к Кубейс,там где Generic Remote описывается или самому пошаманить с этим модулем. Т.е подергав фейдер в Кубейсе мышкой хост отсылает его вовое значение в контроллер по миди. Блин вроде взрослый человек, а как ребенку разжевывать нужно).
У меня MIDIBOX64E с энкодерами отлично работал с Кубейсом, с обратной связью.
 
Мой женераль!
Всё, что Вы пишите, лично мне, разжёвывать не надо, поскольку
Такое чуть ли не все хосты делают, причём очень давно.
Но для организации полноценной обратной связи этого мало.
ИМХО, разумеется.
 
Мой женераль!
Всё, что Вы пишите, лично мне, разжёвывать не надо, посколькуНо для организации полноценной обратной связи этого мало.
ИМХО, разумеется.
Я вижу что разжевывать все таки надо!
Григорий опишите что вам нужно для Полноценной ОС.
Кстати кроме всего прочего никто не мешает в контроллере эмулировать Mackie protocol.
 
Для полноценной ОС необходимо наличие команды "передать состояние контроллера N", с соответствующим ответом.
Т.е что бы железный контроллер запросил состояние контроллера хоста? Это не нужно, т.к изначально хост передает при загрузке проекта текущее состояние контроллеров, дальнейшие изменения просто сами автоматом передаются на железный контроллер, а он соответственно обновляет эти данные в своей памяти. По такому принципу и работают контроллеры с ОС, кстати собранный мной МИДИБокс на энкодерах таким образом полноценно работал с ОС.
Если железный контроллер будет сканировать состояние хоста то это излишне большой поток получиться, не годится.
 
Нормальная ОС должна работать именно так.
Про ограничения MIDI я уже выше говорил.
В нём это невозможно, поэтому либо отказываться, либо пользовать то, что имеем.
 
Нормальная ОС должна работать именно так.
Про ограничения MIDI я уже выше говорил.
В нём это невозможно, поэтому либо отказываться, либо пользовать то, что имеем.
Опять 25....Достаточно на практике попробовать-всё норм работает и ПОЛНОЦЕННАЯ ОС .
Вот скажите зачем железному контроллеру запрашивать значение контроллера если оно и так находится в памяти этой железки? Вы я вижу неверно представляете работу такой связки, а работает она как единое целое.
Вообщем получается НОРМАЛЬНАЯ полноценная ОС.
 
Давайте, как говориться, отделим мух от котлет, и не будем мешать всё в одну кучу: аргумент "работает", не есть показатель, что это полноценная ОС.
Как оно работает, я прекрасно представляю. Вот не принял по каким-то причинам контроллер ту первоначальную посылку состояния всех контроллеров, и что дальше? Дёргать каждый контроллер мышкой, или проект перезагружать?

Давайте прекратим этот непрофильный спор.
Если есть желание продолжить, предлагаю переместиться куда-нибудь в соответствующий форум.
 
Вот не принял по каким-то причинам контроллер ту первоначальную посылку состояния всех контроллеров, и что дальше? Дёргать каждый контроллер мышкой, или проект перезагружать?
Как такое может быть? Только если неисправность. Вообщем да спор не имеет смысла, я уже обьяснил механизм работы ОС, вы же придумываете лишнее.
 
Вот не принял по каким-то причинам контроллер ту первоначальную посылку состояния всех контроллеров, и что дальше? .

в Mackie Control протоколе можно запросить состояние контроллеров!
Реализация в нем даже еще логичнее... Например попользовался ты микшером. Потом на компе (мышкой) активировал VST-шку (VSTi-шку), и идет команда твоему контроллеру что сейчас активировали такой-то плагин, с такими-то параметрами контроллеров (название и состояние контроллеров, на нормальных MIDI девайсах это все на экране пишется). И если...
"Вот не принял по каким-то причинам контроллер ту первоначальную посылку состояния всех контроллеров".
То нужно устранять эти "какие-то причины".

Вот еще цитатка из описания одного MIDI девайсика:

"В чем прелесть и продвинутость Mackie Control?

Во время работы вы можете выбрать любой инструмент/эффект, и контроллер автоматически будет управлять только активным окном. Кнопки переключения пресетов/каналов уже исполняют роль "октавного сдвига" - "следующие Х параметров". Например, у VST их 20, а регуляторов у контроллера только 8, соответственно сперва загрузятся первые 8, а потом можно их будет переключить на следующие 9-16 и, наконец, 17-20. Все это, разумеется, очень удобно, так как не нужно вручную ничего настраивать, все делается автоматически в real-time"
 
  • Like
Реакции: General Dead
То нужно устранять эти "какие-то причины"
Эта причина, может быть: включился холодильник у соседа (условно). Идти к соседу и выбрасывать холодильник, или отдельную линию от подстанции тянуть? :biggrin:


в Mackie Control протоколе можно запросить состояние контроллеров!
Хорошо, хорошо. Дайте какую-нибудь вразумительную ссылку на интерфейс с протоколом (хотя бы на буржуйском). Хочу ознакомиться. А то вроде, как "использует стандартный МИДИ", но при этом как-то "может".
 
Generic Mackie Control Emulator
http://shoshin.110mb.com/genmce/

поищи тут. Этот проект оказывается закрылся (давно я этим не интересовался). Там была таблица команд, (что-то я ее щас не вижу)...

Еще есть в мануале по Logic 7. Глава называлась Logic Pro 7.2.1: Dedicated Control Surface Support. Но маловато.

P.S. Mackie Control это конечно хорошо.. Но! Есть огромное количество VST(VSTi) которые не поддерживаю этот протокол и соответственно все эти фишки не работают. Либо работают с помощью хоста, коряво. Вот фирма Novation и придумала AutoMap... У которого тоже достаточно неудобст.

Все что я написал I.M.H.O.
 

Сейчас просматривают