Midi usb адаптер своими руками

Конструкция выходного дня: простой MIDI-адаптер

Постановка задачи

В прошлом веке самым простым путем соединения компьютера и синтезатора по MIDI было использование игрового порта. Для согласования сигналов интерфейсов («токовая петля» в MIDI и TTL на разъеме игрового порта) делался простой адаптер, схема которого приведена в посвящённой MIDI статье Википедии:

В настоящее время игровые порты со звуковых и материнских плат пропали как класс. Драйверы игрового порта для современных ОС найти невозможно.

«Физика» работы интерфейса в принципе была понятна из статьи Википедии: обмен данными производится по старт-стопному протоколу на скорости 31250 бит/с посылками по 8 бит данных без контроля чётности с одним стоповым битом. Логическому нулю в сигнальных цепях соответствует протекание тока 5 мА, логической единице отсутствие тока в цепи.

В принципе, игровой порт можно заменить на USB UART и присоединить к нему описанный в статье Википедии адаптер.

Первая проблема данного решения заключается в том, чтобы заставить ОС определять COM-порт UART как порт MIDI. Неожиданно для меня, решение проблемы нашлось на форумах, посвященных Arduino. Там я обнаружил ссылку на бесплатный эмулятор порта MIDI «поверх» виртуального COM-порта. Для связи эмулированного порта с MIDI-редактором разработчик рекомендовал использовать виртуальный шнур loopMIDI.

Вторая проблема: заставить UART работать на скорости 31250 бит/с.

Всех этих данных уже было достаточно для формулировки технического предложения:
«Для связи компьютера с синтезатором по интерфейсу MIDI предлагается использовать USB UART совместно с адаптером для согласования сигналов TTL с сигналами «токовая петля 0…5 мА», программным обеспечением loopMIDI, Hairless MIDI Serial Bridge и драйверами UART, позволяющими ему работать на скорости 31250 бит/с».

Аппаратная часть

Выбор аппаратного решения был крайне прост – в закромах автора статьи нашлись:

  • USB UART на базе CP2102;
  • оптрон АОТ101А;
  • микросхема К1533ЛН2;
  • пара разъёмов СШ-5 (другие обозначения: ОНЦ-ВГ-4-5/16-В, DIN 41524);
  • несколько метров экранированного акустического кабеля ШГЭС.

В результате на обрезке универсальной макетной платы размером 40х15 была собрана такая вот схема адаптера:

Работоспособность собранной схемы была проверена следующим образом:

  1. Адаптер был подключен к разъёмам MIDI синтезатора.
  2. У синтезатора было отключено локальное управление (MIDI Local = Off).
  3. После установки перемычки между сигналами RX и TX адаптера синтезатор стал реагировать на нажатия клавиш.

Надеюсь, что работа схемы понятна без пояснений. Замечу только, что:

  • элементы микросхемы К1533ЛН2 имеют выход типа «открытый коллектор», который не работает без внешней нагрузки;
  • конденсатор C1 подключается как можно ближе к выводам питания DD1;
  • оплётка кабеля, идущего к разъёму «MIDI IN» синтезатора, подключена только к общему проводу адаптера;
  • оплётка кабеля, идущего к разъёму «MIDI OUT» синтезатора, подключена только к выводу 2 разъёма.

Программное обеспечение

Далее на компьютер было установлено следующее ПО:

Для связи MIDI-редактора с разъёмом синтезатора «MIDI IN» шнур «Synthesizer» был подключен между выходом Anvil Studio и входом эмулятора порта MIDI.

Для связи MIDI-редактора с разъёмом синтезатора «MIDI OUT» шнур «Keyboard» был подключен между выходом эмулятора порта MIDI и входом Anvil Studio.

Последним и очень важным шагом настройки ПО была установка для CP2102 скорости обмена 31250 бит/с взамен 38400 бит/с:

После установки скорости необходимо нажать кнопку «Set Configuration». Затем, и в Диспетчере устройств, и в Hairless MIDI Serial Bridge в настройках скорости обмена данными COM-порта UART CP2102 нужно выбрать значение 38400.

Краткие итоги

В результате MIDI-редактор Anvil Studio получил канал связи с синтезатором Yamaha PSR-550. Дети с энтузиазмом стали осваивать работу с MIDI-редактором. Я вновь обрёл душевный покой.

Источник

Midi usb адаптер своими руками

Товарищи, извините меня за мою программу — она у вас не запустится, поэтому я выкладываю новую версию (доработанную).

В ней можно мышью управлять контроллером. Курсор мыши находится в специальном окне и не вылазит из него, пока не нажата клавиша NumLock. То есть можете скачать прогу даже для того, чтобы просто пользоваться этой функцией. Будут вопросы или предложения — vopros-otvet1990@mail.ru. ))

Читайте также:  Виды резцов по дереву своими руками

В перспективе есть идея сделать функцию инверсии контроллера педали (для тех, у кого педаль в обратную сторону работает — при нажатии отпускает, а при отпускании нажимает). Также можно доработать прогу и добавить туда функцию переотправки сигнала с миди порта (если есть звуковуха с этим портом). Вообщем пишите))

Реклама
LINKS_234
Поставщик валерьянки для Кота

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2298
Рейтинг сообщения: 0

Реклама

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Scuby_Du
Потрогал лапой паяльник

Зарегистрирован: Ср май 13, 2009 20:36:44
Сообщений: 344
Рейтинг сообщения: 0

Реклама

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

LINKS_234
Поставщик валерьянки для Кота

Карма: 3
Рейтинг сообщений: 9
Зарегистрирован: Пн июл 14, 2008 18:12:37
Сообщений: 2298
Рейтинг сообщения: 0

причём тут usb ? я же не собираюсь usb вешать на обычную логику/МК. а комповые потроха я не лезу. то что в современной электронике уровни 3.3В, 3В, 2.5В, 1.8В я отлично знаю. однако начальные МК до сих пор работают с шиной 5В. как и большинство логики. собственно не хотелось бы мне испытывать как будет вести себя МК, посаженный на шину 5В (в первую очередь для стабильной работы и нежелания разбираться с внутренним ИОН) и цпшка, работающая с уровнями 3.3В. думается мне что минимум потребуется поставить делитель с выхода TXD МК, дабы не пожечь вход микрухи. кстати FT232R(-L/-Q) уже ничем не уступают цп2102. однако в отличие от них могут работать с 1,8-5В логикой.

ЗЫ: извиняюсь за разговор немного «не в тему». другие темы не имеет смысла поднимать, а здесь практически о том же разговор шёл.

Реклама

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

nikperez
Родился

Зарегистрирован: Чт май 13, 2010 23:26:40
Сообщений: 9
Рейтинг сообщения: 0

Вложения:
DRVWINNT.ZIP [11.23 KiB]
Скачиваний: 588
Вернуться наверх
Реклама
Реклама

Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN.

nikperez
Родился

Зарегистрирован: Чт май 13, 2010 23:26:40
Сообщений: 9
Рейтинг сообщения: 0

В архиве лежит *.dll — midilink.dll, которая должна бы как MIDI-Serial фильтр работать и в W7 32. Она обслуживает вот такое устройство, как на прилагаемом в архиве рис. 2. Подробнее:

http://www.dankadata.com/ddd001.html
И драйвер для W7, и программа-софтинка там есть. Устанавливается (по крайней мере, в ХР), но не работает.

Это тоже serial-midi фильтр, но работает он только в присутствии «своего устройства — именно кабеля midilink (в программе midi-редакторе вот такое сообщение появляется — рис. 1. в архиве и далее сообщение «Неизвестная внешняя ошибка» ). Вот сравнить бы эти dll-ки — от каваев и от мидилинков.
Ведь в MIDI-редакторе midilink.dll активен! Вход и выход MIDI индицируются и программно и «железно» — светодиодами! Надо подправить файлик midilink.dll, чтоб он не сетовал на одиночество.

Вложения:
1.rar [24.72 KiB]
Скачиваний: 418
Вернуться наверх
Реклама

TheRealMaN_
Родился

Зарегистрирован: Чт мар 15, 2012 08:34:44
Сообщений: 15
Рейтинг сообщения: 0

Хочу поделиться опытом создания 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. Если сайт не работает, то вот ссылка PL2303 Prolific Driver Installer v1.5.0. После установки, в реестре нужно сделать запись в ветке:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ser2pl]

Теперь в программах, при выборе скорости порта 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.

C помощью программы Serial port monitor можно подключиться к виртуальному COM-порту и посмотреть правильно ли все работает.

Пользовался MIDI-USB кабелем с семплером Kontakt 5, работает без ощутимых задержек и зависаний.

Последний раз редактировалось TheRealMaN_ Вт июн 05, 2012 03:53:05, всего редактировалось 2 раз(а).

Реклама

Dmitry Dubrovenko
Поставщик валерьянки для Кота

Карма: 4
Рейтинг сообщений: 158
Зарегистрирован: Вс янв 09, 2011 16:51:39
Сообщений: 2299
Откуда: Санкт-Ленинград
Рейтинг сообщения: 0

_________________
ICQ нет, и, в ближайшее время, не будет.

randomizer
Родился

Зарегистрирован: Сб май 26, 2012 13:20:32
Сообщений: 1
Рейтинг сообщения: 0

TheRealMaN_
Родился

Зарегистрирован: Чт мар 15, 2012 08:34:44
Сообщений: 15
Рейтинг сообщения: 0

У меня «PL2303_Prolific_DriverInstaller_v1.5.0», а какой оптрон используется, схема MIDI развязки проверялась?
Когда я в первый раз собрал схему с нашим АОТ 123А, тоже были глюки, шел какой-то левый поток данных с синтезатора, не мог он, наверное работать на нужной скорости.
Поставил оптрон 6N137, стало все передаваться корректно.

Я пробывал на двух ОС 7(x32) и 8 (x64), по идее все должно работать, везде строка extbaudrate подхватывалась драйвером сразу после добавления, даже без перезагрузки компа.

Какой прогой для передачи MIDI-COM пользуетесь?

Arsenix
Нашел транзистор. Понюхал.

Карма: 4
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 09, 2012 00:06:10
Сообщений: 168
Откуда: Ярославль
Рейтинг сообщения: 0

_________________
Одна голова — хорошо, а две +3dB

Dmitry Dubrovenko
Поставщик валерьянки для Кота

Карма: 4
Рейтинг сообщений: 158
Зарегистрирован: Вс янв 09, 2011 16:51:39
Сообщений: 2299
Откуда: Санкт-Ленинград
Рейтинг сообщения: 0

Arsenix, спасибо, конечно, за рекламу, но по в/у ссылке вовсе не переходник (тем более, не USB-MIDI), а доработка интерфейса звуковой карты до стандартного «MPU-401».

Есть у меня и переходник, но опять же, COM-MIDI (и вообще его надо рассматривать «шире», чем просто переходник, о чём сказано в названии статьи).

_________________
ICQ нет, и, в ближайшее время, не будет.

victor1956
Грызет канифоль

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Сб сен 11, 2010 14:17:36
Сообщений: 293
Откуда: Петербург
Рейтинг сообщения: 0

victor1956
Грызет канифоль

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Сб сен 11, 2010 14:17:36
Сообщений: 293
Откуда: Петербург
Рейтинг сообщения: 0

TheRealMaN_
Родился

Зарегистрирован: Чт мар 15, 2012 08:34:44
Сообщений: 15
Рейтинг сообщения: 0

Чтобы добавить в реестр запись для включение драйвером нужной скорости для PL-2303, необходимо нажать клавишу с символом Виндовс и R (Win+R), откроется окно «Выполнить», в нем набрать regedit, нажать Enter. В появившемся окне редактора реестра находите HKEY_LOCAL_MACHINE далее SYSTEM и т.д. согласно пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ser2pl
Добравшись до папки Ser2pl в правом окошке находите значение ExtBaudrate и присваиваете ему значение

Должно работать сразу без перезагрузки. Нужно сменить номер виртуального ком порта, если не ошибаюсь он должен быть в диапазоне COM1-COM2, что бы драйвер COM-MIDI от roland его увидел.

Чтобы все работало, нужно установить следующие проги
1. Драйвер кабеля Prolific
2. Внести запись в реестр
3. Убедится что виртуальный com порт имеет номер 1 или 2
4. Установить если у Вас Windows x32 драйвер Roland по ссылке выше
5. Выбрать в его настройках виртуальный com порт

Теперь про софт синтезаторы. Мне нравится семплер от Native instruments Kontakt 5 с библиотеками
Native instruments — Alicia’s Keys
Best Service — Galaxy II K4: Vienna Grand Imperial
Best Service — Galaxy Vintage D
Native Instruments — New York Concert Grand

Все это можно скачать с rutracker.org, ссылки кину в личку

Библиотеки с отличным звуком, сам семплер подходит для работы в реальном времени без задержек.

Вложения:
regedit.jpg [221.96 KiB]
Скачиваний: 1074
Вернуться наверх
victor1956
Грызет канифоль

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Сб сен 11, 2010 14:17:36
Сообщений: 293
Откуда: Петербург
Рейтинг сообщения: 0

victor1956
Грызет канифоль

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Сб сен 11, 2010 14:17:36
Сообщений: 293
Откуда: Петербург
Рейтинг сообщения: 0

TheRealMaN_
Родился

Зарегистрирован: Чт мар 15, 2012 08:34:44
Сообщений: 15
Рейтинг сообщения: 0

Посмотрел скриншоты, в драйвере уже выбран нужный COM порт, поэтому с драйвером все OK, если виртуальный порт COM1
В реестр строка прописана, не важно что немного отличается набор записей в реестре от моего, возможно это потому что у меня x64 версия.
Версия моего драйвера вот PL2303 Prolific Driver Installer v1.5.0
Теперь если в программах открывать MIDI порт Roland, должно работать, если схема собрана правильно.

Также с помощью программы Serial port monitor можно подключиться к виртуальному COM-порту и посмотреть правильно ли все работает, отправляются и принимаются данные или нет.

victor1956
Грызет канифоль

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Сб сен 11, 2010 14:17:36
Сообщений: 293
Откуда: Петербург
Рейтинг сообщения: 0

TheRealMaN_
Родился

Зарегистрирован: Чт мар 15, 2012 08:34:44
Сообщений: 15
Рейтинг сообщения: 0

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

Может в реестре поискать еще где-то упоминание ключа extbaudrate, в редакторе реестра нажмите CTRL+F, в окне поиска введите extbaudrate, возможно не только в одной ветке информация содержится, если найдется, то исправить и там.

Страница 5 из 7 [ Сообщений: 135 ] На страницу Пред. 1 , 2 , 3 , 4 , 5 , 6 , 7 След.

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Сейчас этот форум просматривают: zon63 и гости: 18

Источник

Читайте также:  Инструменты для разборки фар своими руками
Оцените статью