Вы можете использовать ttymidi для соединения между Uart и Alsa.
Вы должны быть в состоянии заставить это работать с проектом RaspberryPi, но вам нужно будет скомпилировать его самостоятельно.
Могу ли я убедить Linux (ядро / ALSA / Jack) использовать произвольный UART или последовательный порт (обычно /dev/ttyS*
или /dev/ttyUSB*
или /dev/ttyACM*
) для вывода MIDI-сообщений?
Это способ, которым MIDI был сделан на Amiga, например. Если электрическая сторона настроена правильно, и UART может быть синхронизирован на скорости MIDI, передача должна работать в принципе.
То, что я хотел бы знать, есть ли готовый вариант программного обеспечения, конфигурации, драйвера или взломать, чтобы сделать это.
Вы можете использовать ttymidi для соединения между Uart и Alsa.
Вы должны быть в состоянии заставить это работать с проектом RaspberryPi, но вам нужно будет скомпилировать его самостоятельно.
Это очень сложно. Последовательный порт можно запрограммировать на определенных скоростях передачи, которые обычно варьируются от 300 бод (или около того) до 115200 (230400 и 460800 на более поздних машинах). Однако большинство скоростей кратны: 300, 600, 1200, 2400, 4800 и т. Д. MIDI, однако, составляет 31250 бод, что сложно программировать, поскольку отсутствует «гармоническое» отношение. Поскольку это исправлено в ПК (и отличается от Atari), это представляет серьезную проблему.
Другая проблема заключается в том, что MIDI представляет собой цепь с токовой петлей (с оптопарами), в то время как RS232 работает с напряжениями. Вам нужно будет сделать внешний интерфейс, чтобы сделать совместимым.
Затем, последним препятствием является программное обеспечение: управлять UART относительно легко, и есть множество примеров (посмотрите «практические инструкции по программированию последовательных интерфейсов». Здесь возникает проблема, что вы, вероятно, хотите представить какой-то стандартный интерфейс для MIDI -управление музыкальными программами, поэтому вашему драйверу придется управлять стороной UART и предоставлять правильный интерфейс для программного обеспечения.
Большинство современных MIDI-интерфейсов также представляют синхронизацию с MIDI-кодом для пользовательской программы, что является дополнительной проблемой.
Таким образом, гораздо проще купить дешевый интерфейс USB-MIDI!