4chord MIDI

Using 4chord MIDI

4chord MIDI board

First off, all I can tell about here refers to Linux. But since 4chord MIDI implements standard USB and MIDI specifications, other operating systems should treat it also as a normal MIDI device, so any general MIDI setup instructions should work just fine.

I usually use JACK for audio routing and Ardour for recording in general, and a2jmidid, Calf plugins and Fluidsynth sound fonts for MIDI in particular. I never used Rosegarden, MusE or anything alike, but then again, 4chord MIDI is a regular USB MIDI device, so it should work as any other MIDI controller.

Plug it in

Connect 4chord MIDI to your computer and check if it got recognized. Since it uses the V-USB library for USB handling, dmesg should show something like this:

[3038097.883853] usb 1-1.1.1: new low-speed USB device number 112 using ehci-pci
[3038099.140623] usb 1-1.1.1: New USB device found, idVendor=16c0, idProduct=05e4
[3038099.140626] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[3038099.140627] usb 1-1.1.1: Product: 4chord MIDI
[3038099.140628] usb 1-1.1.1: Manufacturer: github.com/sgreg

and lsusb should show something like this:

Bus 001 Device 112: ID 16c0:05e4 Van Ooijen Technische Informatica Free shared USB VID/PID pair for MIDI devices

The VID/PID pair (16c0:05e4) should be the same, the Device number is most likely different.

Simple playback

Before going too deep into home recording under Linux etc, simple playback can be achieved with ALSA as well. For Ubuntu, the required packages are alsa-tools fluidsynth fluidsynth-soundfont-gm, for any other distribution ..well, I guess they should have similar names?

First, start fluidsynth as server in one terminal:

$ fluidsynth -a alsa -m alsa_seq -s -g 1.0 /usr/share/sounds/sf2/FluidR3_GM.sf2

If it complains about the soundfont path, check where they are installed to and adjust the path.

Then, in a second terminal, check for available MIDI input and output ports using aconnect, which should output something like this:

$ aconnect -i
client 20: '4chord MIDI' [type=kernel]
    0 '4chord MIDI MIDI 1'

$ aconnect -o
client 129: 'FLUID Synth (32590)' [type=user]
    0 'Synth input port (32590:0)'

This tells us MIDI input is port 20:0 and MIDI output is port 129:0. Now we connect them.

$ aconnect 20:0 129:0

That's it.

In theory, you should hear now a piano sound when pressing any of the four chord buttons.

Note: while testing with ALSA, I did encounter quite some noise in the output. I haven't seen this with JACK and it's possible some ALSA tweaking can take care of that.

User Interface

There are three buttons to set up the playback:

  1. Minues
  2. Select
  3. Plus

The Select button toggles through the three main options mode, key and tempo. The Plus and Minus buttons increases and decreases each option's value.