Можно ли использовать UART (последовательный порт) в качестве MIDI-устройства в Linux?

Можно ли использовать UART (последовательный порт) в качестве MIDI-устройства в Linux?

Могу ли я убедить Linux (ядро/ALSA/Jack) использовать произвольный UART или последовательный порт (обычно /dev/ttyS*или ) для вывода MIDI-сообщений?/dev/ttyUSB*/dev/ttyACM*

Например, именно так MIDI был реализован на Amiga. Если электрическая часть настроена правильно, а UART может быть синхронизирован с частотой MIDI, то передача в принципе должна работать.

Мне бы хотелось узнать, есть ли готовое программное обеспечение, конфигурация, драйвер или способ сделать это.

решение1

Вы можете использоватьттимидиидля моста между uart и alsa.

Вы сможете заставить его работать с проектом RaspberryPi, но вам придется скомпилировать его самостоятельно.

решение2

Это очень сложно. Последовательный порт можно запрограммировать на определенные скорости передачи данных, которые обычно варьируются от 300 бод (или около того) до 115200 (230400 и 460800 на более современных машинах). Однако большинство всех скоростей кратны: 300, 600, 1200, 2400, 4800 и т. д. MIDI, однако, имеет скорость 31250 бод, что трудно программировать, поскольку нет «гармонической» связи. Поскольку это зафиксировано в ПК (и отличается от Atari), это представляет собой серьезную проблему.

Другая проблема в том, что MIDI — это схема с токовой петлей (с оптопарами), а RS232 работает с напряжениями. Вам придется сделать внешний интерфейс, чтобы сделать совместимым.

Затем, последним препятствием становится программное обеспечение: управление UART относительно простое, и существует множество примеров (поищите «руководство по последовательному программированию»). Проблема здесь в том, что вы, вероятно, захотите предоставить некий стандартный интерфейс для существующих музыкальных программ, управляющих MIDI. Поэтому ваш драйвер должен будет управлять стороной UART и предоставлять правильный интерфейс программному обеспечению.

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

Поэтому гораздо проще купить дешевый интерфейс USB-MIDI!

Связанный контент