Raspberry Pi as USB MIDI Host

Raspberry Pi 3 B+ USB MIDI Host

Using Raspberry Pi as a USB MIDI host is very simple.

Connect your MIDI USB instrument or keyboard to Pi and tie them together using a “aconnect” command (ALSA sequencer connection manager).

Example, if I want to play Korg NTS-1 with Arturia Minilab MK2.

“aconnect -l” command will give below result.

pi@raspberrypi:~ $ aconnect -l

client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 24: 'Arturia Minilab mkII' [type=kernel,card=2] 
    0 'Arturia MiniLab mkII MIDI 1'
client 28: 'NTS-1 digital kit' [type=kernel,card=1]
    0 'NTS-1 Digital Kit MIDI 1' 

“aconnect 24 28” command will connect them together (aconnect sender receiver) and I can play NTS-1 via Minilab keyboard.

Type “aconnect -l” again to verify connection.

pi@raspberrypi:~ $ aconnect -l

client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 20: 'CH345' [type=kernel,card=1]
    0 'CH345 MIDI 1    '
client 24: 'Arturia MiniLab mkII' [type=kernel,card=2]
    0 'Arturia MiniLab mkII MIDI 1'
        Connecting To: 28:0
client 28: 'NTS-1 digital kit' [type=kernel,card=3]
    0 'NTS-1 digital kit MIDI 1'
        Connected From: 24:0

Pi 3 B+ have 4 USB port and if you need more gear to connect then easily expend using USB hub.

If fancy add a small oled screen to display connection status.

I prefer manual way to do but if you want to automatic connection between gear check-out this article.

When I don’t use as a MIDI host it’s playing internet radio 24hr using Modipy.

2 thoughts on “Raspberry Pi as USB MIDI Host”

Leave a Comment