[alsa-devel] MIDI port using UART interface

Francesco Lavra francescolavra.fl at gmail.com
Thu Sep 24 08:58:07 CEST 2015


On Wed, Sep 23, 2015 at 8:14 PM, Clemens Ladisch <clemens at ladisch.de> wrote:
> Francesco Lavra wrote:
>> 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.

There already is an userspace daemon that bridges a tty with the ALSA
sequencer: ttymidi (http://www.varal.org/ttymidi/). Unfortunately it
doesn't support non-standard baud rates such as 31.25 kbps, and using
the termios API it's not possible to set non-standard baud rates.
Messing with the serial port settings via setserial could do the trick
(not sure if it works on my system, though), otherwise another
solution could be to use the (non-POSIX) termios2 API...

Regards,
Francesco


More information about the Alsa-devel mailing list