Страница 13 из 56
Re: MIDI контроллер
Добавлено: Пт мар 26, 2010 20:02:56
goodspeedmen
вот нашол на просторах интернета интересную схему динамической миди клавиатуры
http://midi.rni.ru/keyb.html это не реклама может кто в протеусе с эмулирует.

Re: MIDI контроллер
Добавлено: Сб апр 03, 2010 08:23:32
MTBiker
To All
Хочу делать по схеме
Avargesa на 16меге...
http://avargesnano.narod.ru/MIDI-DJ-CJ- ... R-2.0.html
Как упростить эту схему (и код?) чтобы на 4 потенциометра было только? без кнопок, индикации и миди выхода
И возможно ли переделать это всё на контроллер по проще по типу меги8 ?
з.ы. юсб обязателен
Re: MIDI контроллер
Добавлено: Сб апр 03, 2010 10:05:19
spongebob
код имхо обрезать не придётся
потенциометры ненужные выкидываеш, освободившиеся от них ноги МК вешаеш на землю
кнопки и индикацию выкидываеш, миди выкидываеш.
а на мегу8 портнётся без проблем, имхо
Re: MIDI контроллер
Добавлено: Ср апр 07, 2010 10:28:17
MTBiker
Товарищ
Avarges не могли бы Вы выложить полный проект для компилятора на котором писали,а то в хексе ничего не ясно
И если есть фото внутренностей конечное то тоже было бы оч круто

Я думаю не один я скажу вам спасибо

Re: MIDI контроллер
Добавлено: Ср апр 07, 2010 11:21:42
Avarges
MTBiker писал(а):Товарищ
Avarges не могли бы Вы выложить полный проект для компилятора на котором писали,а то в хексе ничего не ясно
И если есть фото внутренностей конечное то тоже было бы оч круто

Я думаю не один я скажу вам спасибо

Исходники у меня в некрасивом состоянии, поэтому лучше для модификаций и собственных разработок брать базовый вариант, от которого отталкивался и я это V-USB-MIDI в гугле (и здесь в теме есть).
Re: MIDI контроллер
Добавлено: Ср апр 07, 2010 21:35:23
MTBiker
Кто может подсказать по поводу ошибки :
"Устройство usb неопознано
Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43)"
Вроде всё правильно ... В чём ошибка, подскажите
Avarges Также имеются дополнительные детали: C3 (4.7мКф*6.3В)- электролитический конденсатор, служит для стабилизации напряжения питания, C4 (0.1мКф)- керамический конденсатор, защищает микроконтроллер от высокочастотных помех по линии питания, R18 - обеспечивает помехозащищенную логическую единицу на ножке сброса микроконтроллера (если подать логический ноль, тогда микроконтроллер перезагрузится: начнёт программу с начала)
Не очень понятно, эти детали необязательны? или только c3
Re: MIDI контроллер
Добавлено: Ср апр 07, 2010 22:00:53
Avarges
MTBiker писал(а):
Avarges зачем два кондёра c3, c4 , который из них использовать ?
Вообще-то оба, электролит обычно ставят, чтобы сгладить напряжение после выпрямителя, а керамический около 100нФ чтобы зашунтировать высокочастотные помехи в цепи питания, которые чаще всего возникают из-за скачка тока при переключение выходов самой микросхемы между логическими уровнями.
Re: MIDI контроллер
Добавлено: Ср апр 07, 2010 22:16:16
MTBiker
Avarges посмотри по внимательней они на твоей схеме стоят параллельно, только в разных частях платы
Может у тебя на сайте не доработанная схема выложена?
Кстати есть те кто собрал по Avargesовской схеме рабочий контроллер?
Re: MIDI контроллер
Добавлено: Сб апр 10, 2010 18:22:59
Avarges
Всё правильно, их и ставят параллельно, при этом на плате разумнее ставить электролит ближе к источнику питания, а керамику как можно ближе к микросхеме, это всё тонкости радиотехники.
Re: MIDI контроллер
Добавлено: Вт апр 13, 2010 23:38:18
EternalEngine
Уважаемый товарищ Avarges, а не могли бы вы рассказать как устроен обмен данных с программой на стороне контроллера? вы используете Sys Ex?
Тоже сейчас занимаюсь написанием прогррамммы под свою миди клавиатуру (в силу гибели залитой пивом аппаратной части

, да заодно и для повышения собственной квалиффикации в устройстве шины усб

)
Есть желание сделать опцию, чтоб можно было назначать из программы номера СС на VST инструменты секвенсора не выходя из последнего. Хочу реализовать два виртуальных миди кабеля. один чтоб работал с упр. программой, а другой с секвенсором.
Есть также дискрипторы для двух виртуальных усб миди на одной конечной точке для контроллера С80, но портировать на тот код что выложен на страничке V-Busа невыходит (сразу видно не русский человек писал

). Никак не могу разобраться с тамошним синтаксисом.
Вы уже модифицировали это устройство, для русского ума

и я был бы вам очень признателен, если бы вы могли пояснить как организована эта библиотека, какие её функции за что отвечают, их синтаксис и порядок вызова.
Сам пишу на дельфи и Qt для ПК, на CodeVision для AVR. Возможно я бы мог быть вам полезен в портировании вашей программы на Mac OS X.

Re: MIDI контроллер
Добавлено: Вс апр 25, 2010 00:16:31
Avarges
SysEx я не использовал. Я просто посылаю миди команду "Ex" в устройство, сначала посылаю заранее известный дескриптор "старт байт", потом засылаю данные и адреса, потом "стоп-байт", всё через эту обычную Ex (питч на x канале, с двумя ASC байтами данных Ex d1 d2). Не нужно начинать с чистого V-USB, лучше взять программу из V-USB-MIDI - там уже описан формат MIDI устройства.
Re: MIDI контроллер
Добавлено: Ср май 05, 2010 00:25:28
EternalEngine
а как насчёт дескриптора для второго виртуального кабеля?
Re: MIDI контроллер
Добавлено: Сб май 08, 2010 00:22:42
Avarges
В дескрипторе я практически не разбирался, вот тут оригинальная программка с дескриптором
http://cryptomys.de/horo/V-USB-MIDI/V-U ... 0.2.tar.gz
внутри кода указана ссылка на пдф файл, в котором описан по английски! формат всех этих миди-юсб дескрпторов, я этот пдф пролистывал и виртуальные миди кабели по одному юсб кабелю это делается точно, но в общем придётся подумать как применить
Re: MIDI контроллер
Добавлено: Сб май 08, 2010 17:05:53
EternalEngine
говорю же, у меня есть дескрипторы, правда на с80 (там аппаратный усб есть), но это без разницы. отличаются 4 дополнительными джеками (2 на хост, 2 на контроллер) всё остальное то-же самое. мне нужна помощь чтоб прикрутить их к библиотеке V-BUS, тк разбираться в ней полностью ни времяни ни желания нет. если опять же интересно, могу скинуть на почту, я думаю ты разберёшься. или загляни в ЛС - я там всё расписал.
Re: MIDI контроллер
Добавлено: Пт май 14, 2010 15:29:49
VenomXP
тема очень интересная. сам пользуюсь продуктом Guitar Rig но не очень уж удобно переключать эффекты и банки нажатием мышки, приходится постоянно отвлекаться от игры, оригинальный Rig Kontrol стоит порядка 10-15 килорублей, и тратиться на него как-то не очень хочется, хотя там встроенный ADC-DAC и DSP-процессор для обработки звука, хотелось бы повторить данный FootSwitch по средствам V-USB-MIDI, требуется: 10 кнопок, 8 регуляторов, регуляторы подцепить программно оказалось вполне просто, благо в теме вопросы поднимались, а вот на счет кнопок не очень понял структуру команд. проблем с программированием не испытываю, но уж больно не понятен мне процесс обмена и как возможно подцепить кнопки программно. подскажите.
Re: MIDI контроллер
Добавлено: Вс май 16, 2010 04:36:37
EternalEngine
Если я тебя правильно понимаю, то кнопка это тот же control change (СС) что и регулятор. значения в диапозоне 0-64 -выкл; 65-127 -вкл.
Re: MIDI контроллер
Добавлено: Вс май 16, 2010 14:26:18
VenomXP
то есть получается примерно вот такое:
Код: Выделить всё
while(1)
{
while (!usbInterruptIsReady())
{
usbPoll();
}
if (keyStatus == 1) //key on
{
midiMsg[0] = 0x0B;
midiMsg[1] = 0xB0;
midiMsg[2] = номер_кнопки;
midiMsg[3] = 127;
}
else //key off
{
midiMsg[0] = 0x0B;
midiMsg[1] = 0xB0;
midiMsg[2] = номер_кнопки;
midiMsg[3] = 0;
}
sendEmptyFrame = 0;
usbSetInterrupt(midiMsg, 4);
}
Re: MIDI контроллер
Добавлено: Вс май 16, 2010 15:26:36
EternalEngine
да, типа того, как один из режимов. ещё можешь посылать 127 при первом нажатии, а при повторном 0. есть ещё режим перебор, я непомню правда как там точно, вроде при нажатии посылается 127 каждый раз. вот почитай.
http://www.muzoborudovanie.ru/articles/midi/midi2.php
здесь полное описание протокола midi. рекомендую прочитать все статьи.
З.Ы. VenomXP, кстать может ты поможешь прикрутить дескриптор?
Re: MIDI контроллер
Добавлено: Вс май 16, 2010 16:54:59
VenomXP
огромное спасибо за ссылку!
ну у меня код построен так, что в прерывании идет скан клавиатуры постоянно, поэтому, при нажатии каждый раз будет посылать 127, а когда не нажата постоянно 0. я думаю этого будет достаточно, чтобы хост-прога поняла команды.
всмысле дискриптор, что именно от него требуется?
Re: MIDI контроллер
Добавлено: Вс май 16, 2010 20:36:48
EternalEngine
Код: Выделить всё
unsigned char KeyEvent=0;
unsigned char PrevKeyState;
char IsKeyEvent (void);
{
if (PrevKeyState!=KeyState)
KeyEvent=1;
else
KeyEvent=0;
PrevKeyState=KeyState;
return (KeyEvent);
}
//в void main(void)
while(1)
{
while (!usbInterruptIsReady())
{
usbPoll();
}
if (IsKeyEvent()==1)
{
if (PrevKeyState==1) //key on
{
midiMsg[0] = 0x0B;
midiMsg[1] = 0xB0;
midiMsg[2] = номер_кнопки;
midiMsg[3] = 127;
}
else //key off
{
midiMsg[0] = 0x0B;
midiMsg[1] = 0xB0;
midiMsg[2] = номер_кнопки;
midiMsg[3] = 0;
};
};
sendEmptyFrame = 0;
usbSetInterrupt(midiMsg, 4);
}
типа вот так
так же и с потенциометрами. тольк по изменению значения. иначе забьёшь шину, как следствие получишь лаги.