2

Попытка использовать кабель Yamaha для хостинга, чтобы подключить мою 12-летнюю музыкальную клавиатуру (Yamaha PSR550) к моему настольному ПК текущего поколения под управлением Ubuntu Linux (18.04.1), чтобы обмениваться данными MIDI.

Клавиатура Yamaha PSR550 имеет как стандартный интерфейс MIDI, так и последовательный интерфейс, т.е. преобразование MIDI в RS232 выполняется внутри самой клавиатуры, которая затем может быть напрямую подключена к последовательному интерфейсу на ПК через кабель «хост». Таким образом, кабель к хосту - это не что иное, как соединительный кабель последовательного интерфейса между клавиатурой и ПК для обмена MIDI-данными (вместо стандартного MIDI-интерфейса, который имеет несколько отличающиеся электрические характеристики).

Для старых ПК с встроенным UART (я полагаю, U16550) был модуль ядра snd-serial-u16550, который можно было загружать и настраивать для обмена MIDI-данными между Linux, работающим на ПК, и PSR550. Видимо, нужно было сделать следующее:

setserial /dev/ttyS0 uart none

С последующим:

modprobe snd-serial-u16550 port=0x3f8 irq=4 speed=38400

Что позволило бы ALSA распознавать /dev /ttyS0 как последовательный MIDI-интерфейс и, в свою очередь, было бы видно в JACKd как Serial MIDI (UART16550A).

Тем не менее, поскольку современные ПК не имеют встроенного UART, я использую универсальный (el-cheapo, PL2303) USB-последовательный адаптер, который выглядит следующим образом:

Сначала добавьте последовательный интерфейс к ПК, а затем используйте кабель Yamaha для хоста, чтобы подключить клавиатуру Yamaha PSR550 к моему ПК для обмена MIDI-информацией.

Учитывая такой подход, я предполагаю, что адаптер USB-Serial, во-первых, визуально выглядит как другое устройство, например /dev/ttyUSB0 (вместо /dev /ttyS0), и UART, который я не уверен, можно считать полностью совместимым с U16550, интересно можно ли использовать один и тот же набор команд для его настройки, чтобы стать действительным устройством ALSA serial-MIDI и, таким образом, быть признанным JACKd в качестве действительного порта Serial MIDI (UART16550) ? Или я должен сделать что-то еще, чтобы сделать эту работу?

1 ответ1

2

Модуль snd-serial-u16550 работает только с 16550(-совместимым) оборудованием, т. Е. С COM-портами, доступ к которым осуществляется через шину ISA на материнской плате.

Существует инструмент "ttyMIDI", который может соединять любой последовательный порт с программным MIDI-портом, но он предназначен для пользовательских прошивок Arduino и говорит по упрощенному протоколу, который не совсем совпадает с MIDI. (И кажется, что Hairless MIDI to Serial Bridge совместим с ttyMIDI.)

Насколько мне известно, не существует программного обеспечения, которое позволяло бы использовать кабель To-Host с современным компьютером. Вы должны купить адаптер USB/MIDI.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .