Interacting with external audio/MIDI devices on Linux

This May I spent a weekend hunting for the list of apps the allow controlling external audio/MIDI devices on Linux in some way. The list was updated since then several times. Some of the apps are, of course, just SysEx editors with fancy UIs, but there’s more than that.

While answering a related question at yesterday, I thought it would be unfair to make this list available to users only. So here is the English version, pure and unadorned, with few pictures.

Alchemist. Creates data for Korg Triton (Classic, Le, Rack и Studio). Converts Triton’s and Trinity’s PCG and SNG files to “classic” Triton data, and MIDI — to Triton sequences. Not updated since 2003.

AllianceHD. Sound files converter and organizer for Alesis Fusion 6HD/8HD workstations. A Java application with code available in SVN only.

E-SeXy. MIDI controller for KORG Electribe ESX-1 sampler. A Qt4 application with source code only in SVN (11 revisions). Compiles and runs.

E-Sexy, MIDI controller for KORG Electribe ESX-1 sampler

Ensonitron. A Java application to read and write files and soundfonts on media formatted for Ensoniq.

ESMDI. A console tool to receive and send samples via SMDI protocol (used by e.g. E-Mu ESI4000), based on OpenSMDI library.

EWItool. Qt4 based patches editor for a popular breath MIDI controller Akai EWI4000s. Not updated since 2008, compiles and runs fine.

EWItool, patches editor for Akai EWI4000s

FB01 Sound Editor. Needless to say, this is Qt based patches editor for Yamaha FB01 synth. Rather active project, officially it’s Windows only, but in fact the app compiles and runs under Linux as well.

Yamaha FB01 synth editor

Fx FloorBoard. A set of Qt based patches editors for Boss GT sound processors — GT-6B and Gt-10B (bass guitar), and also GT-3,6,8, Pro and GT-10 (solo guitar). It’s a very active project whose developer, sadly, doesn’t number releases.

gdigi. Patches editor for footswitch controllers by DigiTech. The developer apparently attempts to create a substitution for X-Edit (native DigiTech software). Supported models: RP250, RP255, RP355, RP500, RP1000, GNX3000, GNX4K.

GR33 Librarian. A Java application to edit patches for Roland GR33. Abandoned in 2003.

Groovebox Manager 303. Controller for Roland MC303 sound module. Abandoned in 2002.

JVTool. A Qt2 based patches editor for Roland JV, abandoned in 2002.

korg-kontrol. A Ruby-based native mode Control for Korg’s Kontrol49 and MicroKontrol.

KurzFiler. A Java editor for Kurzweil files (.krz;.k25;.k26) from K2000 and K2500 models. Mysteriously this project was updated only last year (most Java apps here are long abandoned).

launchpad. A C library and app to interact with Novation Launchpad.

libpcg. A Qt/C++ library and demo application to handle PCG files used by Korg workstations.

libvs2. A library and console tool to work with disks created by Roland SP-808 Groove Sampler. Work wasn’t finished, there is some code in SVN.

MC09Edit. A Roland MC-09 Phraselab controller based on Jucetice framework.

ME-Edit. Patches editor for Boss ME-25 and Roland GR-20.

MPC Maid. A Java app to control Akai MPC 1000, MPC 2500 and MPC 500 samplers.

mtXcontrol. LED Matrix editor written in Processing to create multiple frames sequences easily. So far Novation Launchpad and the 8×8 RGB LED Rainbowduino Controller are supported. The guy also wrote a Processing library (based on this Ruby lib, apparently) to deal with the Novation Launchpad.

Nano Basket. A PyGTK configuration tool for the Korg nano MIDI controllers.

Nano Basket

Nomad. Patches editor in Java for Clavia Nord Modular and Micro Modular synths.

NyMPH. Patches editor for Clavia Nord Modular synth. The code (C#) is only in SVN so far.

Open Electribe Editor. A Java tool to create and organize data for Korg ESX-1. So far contains a samples editor and there was some ongoing work on songs editor.

piemaker. A Ruby interface for the Novation Launchpad.

ppc. SysEx editor and controller for E-MU Planet Phatt, Orbit, Carnaval.

prodatum. Patches editor for E-MU Proteus 2000 family of synths. Supported rack modules: Vintage Pro, Audity 2000 (v2), Proteus 2000, Proteus 1000, B-3, XL-1, Virtuoso 2000, Mo’Phatt, B-3 Turbo, XL-1 Turbo, Mo’Phatt Turbo, Planet Earth, Planet Earth Turbo, Proteus 2500 and Orbit 3 Keyboards: Vintage Keys, PK-6, XK-6, MK-6 and Ensoniq Halo Command Stations: PX-7, XL-7 and MP-7. Supported keyboards: Vintage Keys, PK-6, XK-6, MK-6 and Ensoniq Halo. Supported control stations: PX-7, XL-7 and MP-7.

qtpod. A Qt based UI to control Line6 POD 2.0 and POD Pro sound processors. last updated in 2006, needs either older Qt or patching.

QXGEdit. A Qt4 based app for editing MIDI System Exclusive files for XG devices like Yamaha DB50XG.

QXvEdit. A Qt4 based configuration tool for Roland XV-2020 synth module.

rmc505. Patch editor for the Roland MC505, D2, and Alpha Juno written in Ruby with Qt based user interface.

SonicCellLibrarian. Roland SonicCell sound module controller. The code is only in SVN.

SysExxer. A tool for sending and receiving SysEx messages. Was updated about a year ago, v0.4 wasn’t released (planned for January 2010), SVN needs fixing before you can build it. Supports some Behringers, Korgs, M-Audios, Rolands and Waldorfs. Edit: a fix is applied to SVN now after pinging the developer.

totalKONTROL. A controller for for Korg padKONTROL. Uses Qt and RtMidi, but curiously looks for windows.h, when you try to build it. So you might like patching it first :)

Yamaha DX7-II synth manager. Self-explanatory :) An active Qt based app with UI that needs some love and a working English translation, because default language is French.

Yamaha dx7 Editor

ZoeOS. A controller for EOS based E-MU samplers. I didn’t really check if it compiles on Linux.

As you can see, quite a bunch of both aging and modern audio/MIDI hardware is supported on Linux. Of course, if all you need is seeing your keyboard banks in your sequencer, just import a ready to use bank or create your own one. Rosegarden, for instance, comes with, ugh, 147 banks: the Korgs, the Novations, the Rolands, the Yamahas and so on.

One thought on “Interacting with external audio/MIDI devices on Linux

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>