[alsa-devel] MIDI port using UART interface

Clemens Ladisch clemens at ladisch.de
Wed Sep 23 20:14:22 CEST 2015


Francesco Lavra wrote:
> I would have expected to find a generic MIDI<->UART adapter layer in
> the kernel that bridges the ALSA MIDI interface with UART drivers and
> allows to operate UARTs as MIDI ports. But apparently there is no such
> generic adapter, the closest driver I found is for the UART 16550 but
> this is specific to a type of UART controller different from the one
> in the platform I'm using (which is i.MX6).

In the Good Old Times™, all UARTs were 16550 or MPU-401 compatible.

> So how would you approach the task of writing a MIDI driver that uses
> UART behind the scenes? Am I correct in assuming that I have to use
> the RawMIDI interface (as the UART 16550 driver does) to make my MIDI
> port available to ALSA applications? Or is there a better alternative?

The kernel-internal serial port interfaces are designed to be able to
run a console.

The easiest way would be a userspace daemon that bridges between some
/dev/tty* and the ALSA sequencer.
See <http://www.alsa-project.org/~clemens/usbmidid/usbmidid.c> for an
example that uses some other device.


Regards,
Clemens


More information about the Alsa-devel mailing list