Posso usar uma UART (porta serial) como dispositivo MIDI no Linux?

Posso usar uma UART (porta serial) como dispositivo MIDI no Linux?

Posso convencer o Linux (kernel/ALSA/Jack) a usar um UART arbitrário ou porta serial (geralmente /dev/ttyS*ou /dev/ttyUSB*ou /dev/ttyACM*) para gerar as mensagens MIDI?

Foi assim que o MIDI foi feito no Amiga, por exemplo. Se o lado elétrico estiver configurado corretamente e o UART puder ser sincronizado com taxas MIDI, a transmissão deverá funcionar em princípio.

O que eu gostaria de saber é se existe uma opção de software, configuração, driver ou hack pronto para fazer isso.

Responder1

Você pode usarttymidipara fazer a ponte entre uart e alsa.

Você deve conseguir fazer isso funcionar com o projeto RaspberryPi, mas precisará compilá-lo sozinho.

Responder2

Isso é muito difícil. A porta serial pode ser programada em determinadas taxas de transmissão, que normalmente variam entre 300 Bauds (ou mais) a 115200 (230400 e 460800 em máquinas mais recentes). No entanto, quase todas as velocidades são múltiplas: 300, 600, 1200, 2400, 4800, etc. MIDI, entretanto, é 31250 Bauds, o que é difícil de programar, pois não há relação 'harmônica'. Como isso é consertado no PC (e diferente do Atari), representa um problema sério.

Outra questão é que o MIDI é um circuito de loop de corrente (com acopladores ópticos), enquanto o RS232 funciona com tensões. Você terá que fazer uma interface externa para tornar compatível.

Então, o obstáculo final é o software: gerenciar o UART é relativamente fácil e há muitos exemplos (procure o 'como fazer programação serial'. O problema aqui parece que você provavelmente deseja apresentar alguma interface padrão para o MIDI -gerenciando programas de música por aí, então seu driver terá que gerenciar o lado UART e apresentar a interface correta para o software.

A maioria das interfaces MIDI modernas também apresentam temporização com o código MIDI para o programa do usuário, o que é um problema extra.

Portanto, é muito mais fácil comprar uma interface USB para MIDI barata!

informação relacionada