USB MIDI

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Сообщение Avarges »

_noise писал(а):Ты кому на какой вопрос ответил, или в чём смысл остальной части месседжа после "не понимаешь"?

Тебя хотел просветить, но видимо это безнадежно )

khomych писал(а):или пройдет чтото наподобии получил байт-отправил байт?

По-моему проще так для начала сделать, точнее не байт а миди команду полную.
Схема устройства простая: http://read.pudn.com/downloads133/sourc ... -zener.png только надо пустить миди входной поток на ногу 2 через оптрон или если не страшно напрямую через резистор 150 Ом, а прога тоже не особенно хитрая от пакета v-usb-midi взять и дописать немного. Может немного позже и прогу напишу, хотя скорее у меня будет не переходник а миди контроллер с разъёмом midi фру, чтобы синтезатор можно было подключить и команды контроллера и клавы не конфликтовали.
Не знаю как сделать, видимо придётся команды с синтезатора сразу же пересылать, а от контроллера в очередь ставить.
Аватара пользователя
khomych
Мучитель микросхем
Сообщения: 423
Зарегистрирован: Сб фев 21, 2009 16:11:32
Откуда: Харьков
Контактная информация:

Сообщение khomych »

я тоже хотел сделать в моем миди контроллере (он на ATMEGA16 <>ЮСБ) сделать вход МИДИ для подключения клавиш, но меня терзают смутные сомнения, а вдруг контроллер не справится и т.д. все таки контроллер и так работает на пределе. каждая комманда на счету, дополнительные прерывания использовать не рекомендуется (не проверено). у меня основная заминка в клавишах. они у моего сумасшедшего товарища. забрать проблематично. он включает драм машину и ходит по комнате кругами......

я согласен, что надо "ловить" полную миди посылку и потом уже отправлять. кто нибудь, промониторьте, что именно клавиши шлют на миди. нет ли "лишних" комманд. типа ДАТА или СИНХРОНИЗАЦИЯ...
Аватара пользователя
khomych
Мучитель микросхем
Сообщения: 423
Зарегистрирован: Сб фев 21, 2009 16:11:32
Откуда: Харьков
Контактная информация:

Сообщение khomych »

или придется фильтровать команды. типа все кроме noteon, noteoff, controller change.
или делать по другому. если у принятоно байта старший бит == 1, значит это начало МИДИ команды, ставим его первым, потом ждем еще два байта со старшим битом равным 0 и шлем куда надо....
Аватара пользователя
khomych
Мучитель микросхем
Сообщения: 423
Зарегистрирован: Сб фев 21, 2009 16:11:32
Откуда: Харьков
Контактная информация:

Сообщение khomych »

З.Ы. сумасшедший знакомый это Борзой, кого я цитирую
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Сообщение Avarges »

Возникла мысль: интересно как воспримет компьютер, если всё-таки побайтно высылать миди сообщение, то есть к примеру намеренно поставить между каждым байтом какую-то задержку и посмотреть что выйдет. Если сработает, тогда получается что переходник делается проще простого.
swit4
Родился
Сообщения: 19
Зарегистрирован: Пт май 22, 2009 05:30:23
Контактная информация:

Сообщение swit4 »

Вы случаем не вот такой девайс обсуждаете? )
http://swit4.ru/files/UART2MIDI.rar
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Сообщение Avarges »

swit4 писал(а):Вы случаем не вот такой девайс обсуждаете? )
http://swit4.ru/files/UART2MIDI.rar

Похоже то что надо

Converter from UART (38400 baud) to Midi (31250 baud) (bidirectional).

In conjunction with a FT232RL USB-to-serial converter you get a
full-duplex MIDI-interface for USB.
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Сообщение Avarges »

Хотел было сделать похожий переходник на базе одного мк и библиотеки V-USB, позже выяснилось, что V-USB способна только на 6400 бит в секунду, так что теперь понятно почему в UART2MIDI автор поставил FT232RL для организации USB интерфейса
Аватара пользователя
khomych
Мучитель микросхем
Сообщения: 423
Зарегистрирован: Сб фев 21, 2009 16:11:32
Откуда: Харьков
Контактная информация:

Сообщение khomych »

Avarges, а откуда такие сведенья про 6400 бит/с? хотя я подозревал, что у V-USB 31250 б/c нет..... я в печали...
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Сообщение Avarges »

khomych писал(а):Avarges, а откуда такие сведенья про 6400 бит/с? хотя я подозревал, что у V-USB 31250 б/c нет..... я в печали...

Прочитал в статье Рюмика, дальше расчёт простой: вызов USBPool минимальный интервал выставляется в конфиге: 10мс, за один раз можно послать 8 байт, получается 64 бита 100 раз в секунду можно послать.

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

Посмотрим что ответят знатоки: http://forums.obdev.at/viewtopic.php?f=8&t=3837
Последний раз редактировалось Avarges Пт янв 29, 2010 19:54:58, всего редактировалось 1 раз.
vopros-otvet
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Сб июл 11, 2009 12:42:03

Сообщение vopros-otvet »

http://www.radiokot.ru/forum/viewtopic. ... t=midi+usb
все смотрим последние 2 поста в теме (они мои). Проблема решена.

http://www.kharkovforum.com/showthread.php?t=732063 - здесь я более подробно описал то, что всем нам нужно.

Вопросы - vopros-otvet1990@mail.ru
mr_gard
Нашел транзистор. Понюхал.
Сообщения: 189
Зарегистрирован: Ср дек 16, 2009 06:24:25
Откуда: Хабаровск
Контактная информация:

Сообщение mr_gard »

Интересно... Попробую PL2303 прикрутить - авось получится... Никто еще не пробовал?
skt workshop
Родился
Сообщения: 2
Зарегистрирован: Ср июн 09, 2010 16:43:27
Откуда: Fuckdream city
Контактная информация:

Re: USB MIDI

Сообщение skt workshop »

Вариант который испульзую я. Переходник MIDI-USB на микрухе CP2103. Стоит конечно же немного дороже FT232, но зато не требует никаких лишних телодвижений ввиде драйверов и прочей лабуды. А в винде устанавливается транслятор UART-MIDI, который бесплатно качается с сайта Roland. Вот ссыль http://ftp.roland.co.jp/support/en/downloads/res/1812543/serial32_wxp2k.zip. А потом MidiYoke. И никаких заморочек с вопросами несовместимости скорости и т.д. Работает на ура уже миниму год.
TheRealMaN_
Родился
Сообщения: 15
Зарегистрирован: Чт мар 15, 2012 08:34:44

Re:

Сообщение TheRealMaN_ »

mr_gard писал(а):Интересно... Попробую PL2303 прикрутить - авось получится... Никто еще не пробовал?

Хочу поделиться опытом создания MIDI USB кабеля на PL-2303.

В свое время, так как в Windows 7 не было драйвера Game порта для моей звуковой карты Sound Blaster Live!, из-за того, что Microsoft отказалась от его поддержки в ОС старше XP, я решил подключить синтезатор к USB порту. Возникла идея сделать MIDI USB кабель на основе PL-2303. Эта микросхема была в старом кабеле от телефона Samsung X100. Я долго пытался переключить PL 2303 на скорость 31250 для работы с MIDI, уже было хотел все бросить, упорно не работала на такой скорости, но потом мне удалось рассчитать и подобрать делитель по статье. В итоге все заработало как надо)) и до сих пор работает стабильно без тормозов и косяков, получился хороший MIDI USB кабель)

Кабель MIDI USB на PL-2303

Чтобы все работало, необходимо поставить драйвер, скачав с сайта производителя Prolific. После установки, в реестре нужно сделать запись в ветке:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ser2pl]

Запись:
"ExtBaudrate"="31250,2147485376 38400,2147485376"

Теперь в программах, при выборе скорости порта 31250 или 38400, микросхема PL 2303 будет работать как надо для MIDI, на 31250.

Для передачи MIDI данных с виртуального COM порта в виртуальный MIDI порт (я использовал MIDIYoke (Windows 7 x32), LoopBe1 (Windows 8 x64)), который, как обычный, можно открывать в музыкальных программах. Я использовал драйвер Roland Serial MIDI driver (работает на Windows 7 x32, для ОС Windows 8 x64 использовал прогу автора темы на форуме).

Схема моего преобразователя MIDI в UART для кабель MIDI USB на PL-2303

Изображение

Использовал оптрон 6N137, быстрый с низким током, как раз для MIDI, сделал 3 порта MIDI IN, MIDI OUT, MIDI THRU и два светодиода для индикации. Собрал в корпусе из под видео кассеты VHS, туда вошла и плата от кабеля PL-2303 и плата преобразователя MIDI UART.

Изображение
Ответить

Вернуться в «Интеграция с ПК»