My question is directed at those having experience with both Linux and midi controllers.


This seems to be the cheapest midi/usb controller that has:
1) 88 keys
2) fully/semi weighted keys
3) midi/usb

M Audio Keystation USB/MIDI Controller

Here is an image :

M Audio Keystation USB/MIDI Controller


Here are some various specs in case the Amazon page goes down:

88-note velocity-sensitive, semi-weighted action 88 keys means no constant hitting of an octave switch, an annoyance with smaller controllers. The semi-weighted action gives you a piano feel, and since it's velocity sensitive, your dynamic playing is accurately sent as data.

Pitch bend and modulation wheels These are ideal for controlling synths, samplers, etc.

Volume/assignable control slider Easily assign the control slider to different parameters of sound modules or software, for further control over your sound.

Advanced function button for programming When the Advanced Functions button is pressed, the keyboard goes into "Edit Mode." In Edit Mode, the keys on the keyboard are used for selecting functions and entering data. Black keys are used for selecting functions, while the white keys are used for data entry and channel selection.

Sustain pedal input (pedal sold separately) Add a sustain pedal, such as the M-Audio SP-1, for piano-like pedal control of your notes' duration.

Built-in USB MIDI interface Easily interface with most MIDI software using the built-in USB MIDI interface. The standard MIDI "out" jack routes MIDI signals from the keyboard or computer to your external devices.

USB Powered The 88es grabs power from the USB port on your computer. You can also purchase a 9VDC power adapter.

Mac OS X and Windows XP class compliant Enjoy plug-and-play operation with both Mac OS X and Windows XP. Ableton Live Lite music production software is included, so you can make music right away on either platform.

What's in the Box M-Audio Keystation 88es USB Keyboard, USB Cable, User's Manual Product Description If you appreciate the full range of a piano keyboard in a lightweight package, the 88-note Keystation 88es is for you. You get great-feeling, semi-weighted action that's velocity-sensitive, to convey all the nuances of your playing to your computer and most popular music education and studio software. The pitch and modulation wheels plus slider and buttons make it a great controller for playing and programming synths, samplers, drum sounds and more. At just 22 lbs., the Keystation 88es is equally at home on stage and in the studio. Class compliancy with Windows XP, Vista (32 bit), and Mac OS X ensures easy plug-and-play setup. It's even bus-powered, so one simple USB cable is the only connection you need.

The computer I will be running this on is:

Dual core 3ghz Pentium D
Dell Optiplex gx520
4gigs ram
Ubuntu 12.04 (linux)

The Optiplex does not seem to have any inputs for midi.
I have never used a midi device before.
In general, how can I get a usb/midi controller like this running on Ubuntu Linux or will it just work out of the box?

  • Have you already got Jack up running with your sound card? If that has a MIDI input, it's probably best to use that and leave the keyboard's USB unconnected. Sep 6, 2012 at 21:00

5 Answers 5


This keyboard should work just fine. The keyboard hooks up to the computer via USB. The computer then needs the proper USB MIDI driver to communicate with the keyboard.

A quick Google for "m-audio 88es linux" got me this result among others which seems to say that at least someone got it working.


USB MIDI is a supported standard on Linux, so it should be plug and play. I've had success with a Korg nanoKontrol and an M-Audio UNO MIDI interface, although the latter needed me to install an extra driver. I don't know if that is required for all MIDI devices.

I've not done much with MIDI, but I've had to set the MIDI Driver in JACK settings to 'seq' and then devices appear in the ALSA tab rather than under MIDI.

This guide looks useful


I think you have to use JACK to route the MIDI signals around. Then you need some sort of sound source, e.g. QSynth plus a sound font. Send the MIDI in to QSynth and you should get some sounds. There are various sequencing applications including Rosegarden.

  • This guide is indeed useful ;-)
    – rafalcieslak
    Sep 20, 2012 at 15:48

I have the M-Audio Keyrig49 and it works perfectly on Debian/Ubuntu/Mint.

The setup is like:

MIDI controller -> JACK(Qjackctl as a frontend) -> fluidsynth(Qsynth as a frontend) -> Monitors/Headphones.
I've used with Linux MultiMedia Studio and it works too.

No external drivers needed.

Just make sure to have a proper JACK configuration.


I have the same USB midi keyboard and use it in both KDE and Ubuntu Studio using software MIDI routing available in the assortment of JACK packages (search for qmidiroute). I don't believe ALSA sound has any functionality for MIDI, so best to switch back and forth to use JACK for MIDI and instruments, and ALSA for playing media or hearing game sounds. USB MIDI devices such as this do not need the standard MIDI (round) plugs, they are simply recognized by the software synth as a MIDI hardware for input.


My answer comes years late, but this Q&A page still has high relevance. I landed here as part of my setting up my own MIDI piano.

I share what worked for me on Ubuntu 18.04.3 LTS "bionic":

(1) Install necessary packages:

sudo apt install sox \
       fluidsynth \
       fluid-soundfont-gm \

(2) Find the path where sound fonts got installed ('sf2' file suffix)

dpkg-query -L fluid-soundfont-gm # find where 'sf2' sound fonts were installed

(3) Make a test file (test.wav) for testing Alsa:

sox -b 16 -n test.wav rate 44100 channels 2 synth 1 sine 440 gain -1

(4) Find your correct/desired audio output device:

aplay -D hw:CARD=PCH,DEV=0 test.wav  # repeat with other devices until you hear sound

Note: the device name hw:CARD=PCH,DEV=0 is one of many that you can find by examining the output of aplay -L

(5) Launch fluidsynth (and then leave it running)

fluidsynth -a alsa -m alsa_seq -o audio.alsa.device=hw:CARD=PCH,DEV=0 -g 1.0 -l /usr/share/sounds/sf2/FluidR3_GM.sf2

Note: in place of hw:CARD=PCH,DEV=0 you must use whichever device successfully played sound in step 4.

Note: the path /usr/share/sounds/sf2/FluidR3_GM.sf2 comes from whatever you discovered in step 2.

(6) Verify that fluidsynth can play a note

FluidSynth presents its own command prompt. Type noteon 0 60 100 to play a note:

FluidSynth version 1.1.9
> noteon 0 60 100

Note: continue to leave FluidSynth running! Do not close it.

(7A) Open a new terminal and connect your piano input to fluidsynth

aconnect -i # find the keyboard (for me it was 24)
aconnect -o # find fluidsynth (it tends to be 128, but double-check)

aconnect 24:0 128:0  # 24 and 128 come from the output of the above 2 commands

(7B) On newer versions of fluidsynth, you can skip 7A. When launching fluidsynth, simply add -o midi.autoconnect=1 to the command to allow FluidSynth to find the Midi keyboard automatically. (If you see an error like "midi.autoconnect not found", then perform 7A instead.)

That is all it took on Ubuntu 18.04. Now I can play music on the piano keyboard and hear it via the speakers attached to my PC. For completeness: my keyboard is the Alesis Q88 USB/Midi.

For more advanced tricks (like achieving lower latency and enabling real-time priority), I recommend Ted's Linux MIDI Guide.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.