Synthesizer!

Love Legowelt, but this video is too funny to pass up! The full studio tour is an interesting watch (assuming you’re into that kinda thing).

Using a Raspberry Pi as USB MIDI Host

Wheeeeeeeee! I have some money again, though not a lot of time, but I’m determined to finish and further expand the projects I started with such gusto last year.

Both the Tempest and FS1r are blurred memories, and I’ve been getting my kicks, whenever possible, with a Monomachine/Blofeld Combo.

The great thing about this pairing is that I can sequence 6 channels of Blofeld multimode goodness alongside 5 Monomachine tracks, with the 6th track acting as the FX machine for the Blofeld, which is routed back through the MnM inputs. A nice, self contained, and gloriously digital setup. Did I mention that MnM does killer drum synthesis?

RPi_USB_MIDI_Host_MnM

On the the MnM it is possible to input chords using an external MIDI keyboard for the Arps and external sequencing.

I have an cheapo Akai LPK USB mid keyboard that would make a nice compliment to this mini setup. But MnM only accepts 5-pin DIN MIDI. One existing option is the Kenton USB MIDI Host, but that goes for over 100 euro.

I got to thinking that I could use my similarly-abandoned and superseded Raspberry Pi 1, and a MIDI 1×1 USB MIDI cable that never got used because it kept causing bluescreens on my Windows PC. What if I could use the Pi to route the output of the LPK through the 1×1?

Well yes, it’s possible, works perfectly, and is really easy to get running.

Any flavour of linux will do, in my case I’m using a Raspberry Pi v1 with an optimised Raspbian Wheezy image I downloaded from here. I’ve also got this to work on a Rpi2 using the official Ubuntu ARMv7 distro.
The instructions for both are the same.

EDIT: Georgios Says:

By the way, on the latest raspbian, it works out of the box. No need to install anything 🙂

Obviously, with only 2 USB ports on the Pi v1, there is no room for wireless, so I needed to login over ethernet.

Once a command prompt is available, it’s a matter of installing Alsa:

sudo apt-get install alsa alsa-utils

Now connect the *class compliant* MIDI devices, in my case the Akai LPK25 and E-mu USB MIDI 1×1.

To show all connected MIDI devices:

sudo amidi -l

Show connection status and port numbers of connected MIDI devices

sudo aconnect -i -o

Look for the device ID, which is in the format x:0. In my case, the LPK25 was 20:0 and the Emu 1×1 was 16:0. So to connect the output of the LPK to the output of the Emu, just go:

sudo aconnect 20:0 16:0

…and voila! Works a treat here, no latency and I’ve sent boatloads of MIDI through it.

To dump all midi message to the screen,
sudo amidi -d

Naturally, we will want this connection to happen automatically every time we start the Pi. Of the several ways to do this, I opted for the laziest, which was to make a root crontab.
If you’re not root already,

sudo su
crontab -e

at the end of the file, enter the aconnect command that works for you to run at reboot, e.g.

@reboot aconnect 20:0 16:0

🙂