Introduction

In 2009, Computer Music Journal published the article, My Search for the Perfect MIDI Controller.1 Though my musical style has remained largely the same in the intervening years, much has changed in the world of computing devices and MIDI controllers. As trends in controllers have developed and morphed, so have the specific "requirements" I enumerate below.

Today I would change the original article's title to "My Search for the Perfect Portable MIDI Control Surface." (Devices without keyboard have had increasing appeal to me.) Much of the original material, however, remains relevant to this day; I suggest it be referenced as context for both my compositional "personality", and for these recommendations.

Here is the update.


I. My Current Requirements/Preferences

Portability and Compactness

I continue to be interested in others performing my compositions in a wide variety of settings. So it is incumbent on me not to require potential performers to be "roadies." A more minimalist approach is more considerate (and encouraging?) to the performer, and more adaptable to space/setup limitations. It is also consistent with the trend away from desktops and toward laptops (not to mention hand-held devices). Along with the cost factor discussed below, this requirement is the guiding principle behind most of the others.

Cost Less than 100$US (new or used)

As devices have proliferated and become smaller, prices have come down, and more used items are available in the marketplace. Most of the control surfaces I've purchased have been through eBay.com (and nearly all, used). I have rarely been disappointed by an eBay purchase. I do not wish to burden a prospective performer with a major equipment purchase just to present a piece of mine. Csound is free, and most musicians already have a laptop - not a large supply of additional cash.

USB

USB is now ubiquitous as a means of connecting digital devices. Laptop computers no longer include MIDI inputs (5-pin DIN jacks). Most importantly, USB class-compliant control surfaces, like portable devices, do not require an AC power source.2 USB also facilitates portability and compactness. Though wireless connectivity, including Bluetooth, is now available in some MIDI controllers, the extra complication (as well as battery power and expense) does not represent additional value to me.

Control Surface Yes - Keyboard No

MIDI keyboards are bulky and accident-prone; buttons are not. Keyboards, when not a practical necessity, are a liability. Keyboards also make MIDI controllers more expensive. (See my Note on Keys, Buttons and Pads below.) For that matter, there are no compact (25-key) keyboards that include 8-9 sliders.3

On-Line or Downloadable Editor

More recent control surfaces are not programmable internally; they require editor software. It is often necessary to program the controller to meet the requirements of a particular composition (though I always include in my .csd's a way to accommodate a variety of built-in controller "presets"). As I do not work with DAW's, rather, directly with Csound, a MIDI Learn function is of no help to me. Note: For Linux users, lack of on-board programmability may prove a problem, as editors are not usually available for Linux (for Windows, yes; for Mac, usually). In such a case, the user has several options: 1) a general patch editor for Linux may be available4; 2) an older ("legacy") control surface may be needed5; 3) it may be possible, in your .csd, to adapt to the controller and note numbers hardcoded into the device; for example, see the Note on the Akai APCmini below.6 In the list that follows, I specifically indicate when either the surface can be internally edited, and/or a specific editor (on-line or downloadable) is available for Linux.

My personal controller editing needs are not great: I want to specify CC's (Continuous Controllers) for the faders, and MIDI note numbers for any buttons. Ability to specify a group channel number for the controls is welcome, but a default channel 1 is satisfactory. (Channel numbers for individual controls is a luxury that other Csounders might appreciate. Some editors offer this option, others not.)

A Note on why I find an editor highly desireable:
I would like my compositions to be readily performable on as many different control surfaces (including my own considerable collection) as possible. Unfortunately, there is little to no common ground as to controller (CC) numbering of either sliders/knobs or MIDI note buttons/pads. (The only consistency I have found is that both CC's and notes are numbered consecutively.) It is helpful if control devices and .csd's can share common default values, and otherwise incorporate flexibility. On the .csd side, I routinely include orchestra macros (user-editable) that specify channel number (default = 1), initial controller number (default = 20) and first MIDI note number (default = either 48 or 60, to facilitate possible keyboard involvement). Using an editor to set control surfaces to these same default values means that any further customization is minimal. As a result I am assured that: 1) a wide variety of surfaces can perform my works without modifying my .csd's, and 2) that my .csd's can be readily edited to adapt to the default settings of unedited (or uneditable) control surfaces.7

8-9 Long-Throw Sliders - 8-9 Buttons Optional but Desireable

As control surfaces become ever more compact, the number of sliders available is reduced, and their length (important for precision settings) shortened. To my knowledge there is no controller meeting my other criteria that includes more than 9 sliders. None incorporate 100mm sliders (frequent on older, larger, pre-USB units); relatively few have 60mm. (The norm is 45mm, and 30mm is common.) For the time being, I must be content with 8-9 45-60mm faders, perhaps paired with a row of 8-9 buttons. (When I need more than 9 faders, as is often the case, I generally revert to one of my pre-USB, AC-powered favorites - a Doepfer Pocket Fader, with 16 60mm sliders in a compact metal case. [Of course I'll need my two accessories as well: the MIDI-to-USB Interface and USB 5V-to12V Step Up Converter Cables.] Too bad the Pocket Fader was never made in a USB version; and good luck finding the Fader on the used market for < 100$US!)

Ergonomics

An intuitive, user-friendly interface is important to a performer. The interface itself should not prove a barrier, causing a performer to shy away from approaching a work. Rather, the "instrument" should enhance and facilitate. Ergonomics includes a wide range of factors: simplicity, clear/clean design/layout, sliders with the right amount of resistance and smoothness, feet that do not slip or wobble, knobs that are easily grasped, levels that are clearly indicated both on slider caps and alongside, and caps that are secure. Colors should allow levels and labels to be clearly visible/readable (black is a poor choice of color, especially for knobs and sliders, when not vibrantly contrasted). As my compositions largely require slow, smooth and precise movement of sliders, all aspects of slider ergonomics are crucial. (A particular bugaboo of mine is fader controls marked in dB.)

Less Is Better

Simplicity is a virtue. Simple devices are more trouble-free, more intuitive, user-friendly and less costly. (The MC-8 is an excellent example of simplicity, and the main reason why it heads my list.) Of course, solid construction and high-quality parts are also a necessity. Comments on varied quality of construction are included in the recommendations below.

A Note on sliders, knobs, encoders and touch strips:
Sliders and rotary knobs are functionally equivalent, but sliders are more ergonomic in a number of ways. They are more easily and precisely set, their levels are more readily perceived and compared, and multiple sliders can be moved simultaneously and synchronously. Encoders are much less functional than knobs, as they lack a physical/visible beginning and end point. Since their settings are not absolute, it is difficult to know what values they represent; indeed there is no level "pointer." (Csound coding is more complex as well.) Touch strips do not work at all for me. It is difficult to set them when and where you want, and they are inherently less precise. In addition, it is impossible to return to the same setting with any assurance of success. Touch strips sound like a good idea; in reality, they are a poor choice for anything but course control. ("Strips" on digital devices are a somewhat different matter, being both more user-friendly and having higher resolution. Nonetheless, I much prefer analog controls.) So my definite preference is physical sliders.

A Note on keys, buttons and pads:
I often need some kind of trigger for an event. I normally require only a momentary trigger, not velocity data. Buttons are both small and efficient, and their most ergonomic placement is one-to-one directly above or below sliders. (This is, happily, a frequently found positioning.) Pads are unnecessarily large, and less dependable than keys for both triggering and sensitivity. If velocity sensitivity is required, I would use keys over pads regardless of other factors (including ergonomics). My conclusion: buttons are best - and if needed, keys are preferable to pads.

II. My Choices - in approximate order of preference

The Top Choice for Simplicity

Nakedboards MC-8 (http://www.nakedboards.org/mc8.html)
For anyone looking for a basic 8-slider control surface, the MC-8 is the perfect solution. It is the essence of simplicity; 8 60mm faders and a USB jack in the strongest plastic box I've ever seen. Ergonomics are also ideal; the one element missing - level indicators adjoining the sliders - is possibly an advantage, as the user can add whatever indications he/she might want on the white plastic. Slider action is superb. Perhaps most unique is the super-simple Online Settings GUI that lets you set the control number for each slider, as well as the overall channel number. Running in a browser, this GUI is cross-platform and currently requires Chrome, Opera, or Vivaldi (at least in Windows 7 through 10, 64-bit).8 No editor (or additional software) is needed. I only regret that there isn't an MC-16 version; and one isn't planned. (One possibility, of course, is to place two MC-8's side by side, and use the -Ma flag.) This is an outstanding unit.

Five Other Top Contenders

1) Livid Alias 8 (http://lividinstruments.com/products/alias8/) - used only
The Livid Alias 8 is "built like a tank" with the highest quality components. It sports a wide array of controls in a small footprint, yet its ergonomics are faultless. My only criticism is that 8 of its 9 sliders are 30mm (the other is 60mm). It also includes 2 rows of buttons (nicely oversized) below, and 2 rows of additional knobs above the faders. (I would gladly sacrifice a row of buttons and/or knobs for 60mm sliders.) There is an extensive Livid Online Editor for the Alias 8, which can also be downloaded.9 Linux users will be glad to know that the editor is intended for all major platforms.

NOTE: I do not recommend the Livid Base or Base II (http://lividinstruments.com/products/base/). These have touch strips instead of sliders.

2) Novation Launch Control XL (https://us.novationmusic.com/launch/launch-control-xl)
Novation's Launch Control XL is also well-built, and has excellent ergonomics and layout. Its front panel has good clean contrast and level markings; it should function well in a low-light context. The outstanding feature is 8 60mm sliders. (I do wish, however, that slider levels were not scaled in dB.) The XL is marketed (and is set up) as a dedicated Ableton Live controller, but its Windows/Mac editor allows it to be programmed for any purpose. (The unit accommodates 8 user presets.) Two rows of large buttons are below the faders, and three rows of knobs above. Like the Livid's knobs (and unlike those below), these knobs are useful and user-friendly. One unique feature is a complete non-skid surface on the bottom of the unit. Considering its longer-throw sliders, this unit also has a modest footprint.

3) Evolution UC33(e) (http://www.evolution-uk.com/products/evo_uc33e.htm) - used only
By far the heftiest of all these controllers, the UC33e is one of only two holdovers from my previous list. Its most outstanding characteristic is its 9 60mm sliders in a single row. Its excellent Enigma editor10 works on all 3 major platforms, and the UC33(e) can be programmed on-board as well. (Note that only the 33e works with the Enigma editor, so be sure to select this model. This is the major non-cosmetic difference between the 33 and the 33e.) Both methods allow for the widest range of programming of any of these units. 14 buttons are also programmable, though they are bunched to one side and not especially intuitively arranged. Above the row of sliders are three rows of 8 knobs each - a number equalling those of the Launch Control XL. The 33e's faders and knobs have good level markings, while the 33's are notably lacking. Construction is sturdy and components of high quality. A venerable, flexible and formidable competitor that is likely to be around for some time to come.

4) Korg nanoKontrol Studio (http://www.korg.com/us/products/computergear/nanokontrol_studio/)
The nanoKontrol Studio is perhaps the most compact of these leading contenders while also being one of the most ergonomic. (One could wish that the compact nanoKontrol described below were as user-friendly.) This is all the more noteworthy because it sports 8 45mm sliders in addition to a row of 8 knobs and 4 rows of 8 buttons - all arranged neatly above the sliders. The Korg Kontrol Editor is quite good, though it does not approach the comprehensive scope of Enigma. The unit is drab in appearance, with only black and shades of gray. It is unique in that it offers Bluetooth connectivity in addition to USB. Construction is sturdy; I only wish that fader levels were not indicated in dB.

5) Akai MIDIMIX (http://www.akaipro.com/products/ableton-controllers/midimix)
The Akai MIDIMIX is solidly built with a clean layout. Above 9 30mm sliders lie two rows of 8 small buttons, surmounted by 3 rows of 8 knobs. The shallow slider caps and the small knobs make the unit less bulky, but more difficult to operate. In my opinion, slider caps and knobs need at least 10mm in height to be ergonomic. Control surfaces listed above observe these criteria; the MIDIMIX (and for the most part the units below) do not. Although the caps and knobs sport clear level indicators, there are no such markings alongside the sliders. (Since the chassis is entirely black, this is a problem.) The unit accommodates only a single preset, which can be changed via the editor (which can in turn save various presets to .midimix files).

A Note about the Akai APCmini (http://www.akaipro.com/products/pad-controllers/apc-mini):
The APCmini is built on the same black chassis as the MIDIMIX, and retails for the same (99$US). It has the identical 9 30mm sliders, but instead of knobs, comes with 8 rows of large buttons above the faders. Otherwise, its main difference is that it is designed uniquely for Ableton Live. As a result, it comes with no editor (and cannot be programmed onboard). These factors alone generally rule it out for Csound use, unless one can work with the default setup. (Note: this is always an option for Linux.) It turns out that its MIDI mapping is quite straightforward: channel 1 for everything, the 9 faders CC's 48 through 56, the buttons notes 0-63 (bottom to top).11 This mapping is certainly possible to work with. Nevertheless, I would greatly prefer the MIDIMIX, with its editor and additional knobs (the 16 MIDIMIX buttons are more than sufficient for my needs).

An Inexpensive Ultra-Compact Controller and Its Three Siblings

Any of the control surfaces that follow could be your choice if compactness and price are paramount. (Each could fit in a deep pocket, with little risk of damage.) They do not lack in features either. Their main drawbacks are poor ergonomics and the fact that they mostly have 30mm sliders. Construction is satisfactory, but not outstanding. All are readily available on the used (and even new) market for 50$US or so, and have both Windows and Mac editors (with adequate programmability).

1) Korg nanoKontrol (http://www.musiciansfriend.com/pro-audio/korg-nanokontrol-midi-controller) - used only
The Korg nanoKontrol is probably the best of these; it was the first to appear and is widely available. (It too made my original list of recommendations.) Korg also has a nanoKontrol2, which has more buttons, but 8 rather than 9 sliders and knobs. I recommend the original nanoKontrol with 9 faders. Both models are available in either black or white; take white, or you'll never see the slider and knob level settings. (On white, you can use an extra-fine black Sharpie to make visible level markers if you like; with black, you are stuck.) The nanoKontrol is the most compact of the group, is solidly built, and has user-friendly, smooth faders. The unit's only drawback is that its layout is not very ergonomic, especially in that its twin buttons are stacked between sliders, rather than directly above or below. (Two buttons are associated with each fader.) Its editor is the same good Korg Kontrol Editor of the nanoKontrol Studio above. The Korg nanoKontrol is clearly the inspiration, even the model, for the devices that follow.

2) Icon i-Controls (http://iconproaudio.com/product/icontrols/)
I am tempted to rate the Icon i-Controls above the nanoKontrol, as it has 9 45mm sliders unlike these other ultra-compacts. While twice as heavy, and notably larger than the nanoKontrol, the unit is well-built, and more ergonomic than the Korg, partly due to its size (it would only fit in a very deep pocket). The buttons are larger, and slider caps easier to grasp and elevated (out of the way of the buttons). Otherwise, layout and features closely parallel the nanoKontrol. Slider movement is as smooth as the Korg. The i-Controls' editor is also comparable, except that it lacks important Copy/Paste functions, as well as upload-from-controller capability. Unfortunately, both its sliders and row of 9 knobs lack on-panel level guides. The unit is available in either black or white; again, take white if available, so you can add whatever level markings you need. (The Icon includes a useless mini-joystick which can function only as a basic on-screen pointer, and is easily broken.) Note: much of the marketing material for this unit describes the rotary knobs as "encoders", which they are not - an advantage in the present context.

3) Worlde (ammoon) Easycontrol.9 (https://www.amazon.com/ammoon-EasyControl-9-Portable-Slim-Line-Controller/dp/B01DKQZFSC)
The Worlde Easycontrol.9, though modestly bulkier than the nanoKontrol, has a more ergonomic layout. It's the only ultra-compact with a row of 9 buttons neatly below the sliders. Level markings on slider caps (black on black) are difficult to read, and knobs have no level pointers at all! (But note that the 9 knobs above the sliders are rotary knobs, not encoders.) Slider movement is overly stiff.

The Pyle Mini USB Controller Board (https://www.pyleusa.com/midi-audio-controller-usb-digital-sound-mixing-interface.html) is identical to the above, but is priced 10-20$US higher.

4) Samson Graphite MFB (http://www.samsontech.com/samson/products/usb-midi/controllers/graphite-mf8/)
The Samson Graphite MFB is also a bit larger than the nanoKontrol. It has only 8 sliders, while adding a (programmable) crossfader. Levels on knobs and caps are well marked, but the layout here is even more congested than the Korg. Also, slider action is stiff, like the Easycontrol.

III. A Final Word

There are a number of control surfaces out there in the "excellent to workable" range, that reasonably meet the above criteria - and at economical prices. I have found all of them, at one time or another, available on eBay for under 100$US (often used). As for me, I'll continue my search for the "perfect" MIDI control surface - the elusive "16 long-throw sliders, possibly with associated buttons" - compact USB edition.

Footnotes

1  http://csoundjournal.com/issue10/MIDI_Controller.html
My 2009 article (written in late 2008) contains an error: the Korg nanoKontrol's editor is referred to as the Enigma. It is not; it is the Korg Kontrol Editor. (The Enigma is the excellent editor for a number of Evolution and M-audio controllers.)

2  It is possible, if hardly ideal, to solve or mitigate the AC power and DIN/MIDI connection issues of older controllers, thus allowing them to be used with modern, portable laptops. Two accessory cables can do the trick: 1) A MIDI-to-USB interface cable (< 5$US) can substitute for the USB connector (actually only the MIDI Out connector is necessary); 2) a USB 5V-to-12V Step Up Converter Cable (also < $5US) can replace the AC power supply/wall wart. This latter cable can easily handle the power requirements of all 9V (as well as the few 12V) control surfaces - even keyboards. Obviously such "solutions" are a last resort, when only older control surfaces are available and/or will do the job.

3  For users who require a compact keyboard, I recommend the M-audio O2 (http://m-audio.com/support/documents; search under Legacy). It is the most compact unit with full-sized keys that are (uniquely?) protected from damage while having acceptable key action. It has 8 knobs and buttons, nicely laid out in a single row, plus one 30mm slider. All controls can be programmed within the unit, as well as by the Enigma editor (two nice options for Linux users). The M-audio KeyRig 25 and KeyStudio 25 are the O2 with additional software (note that the additional software does not work on recent generations of Win/Mac OS's). All are widely available on the used market in the 50$US range.

4  Ctrlr (http://ctrlr.org) is the only general editor for Linux I'm aware of. Unfortunately, there are no current "panels" for any control surfaces on this list (or any reasonably comparable units). The only option here is to create your own panel, clearly a daunting challenge.

5  See the Evolution UC33e; also the M-audio O2 and related bundles (footnote 3).

6  Linux users (and others) always have the ultimate option to obtain a surface's MIDI controller assignments from a MIDI monitor program (such as KMidiMon for Linux, MIDI Monitor for Mac, MIDIOx for Windows), and tailor their .csd to use these particular CC's and note numbers.

7  In my .csd's I also accommodate the few audio-mixer-style controllers which default to successive channels on CC7. I do this by setting my channel macro to "0", which indicates that all faders = CC7 and channels are numbered from 1 up.

8  The MC-8 Online Settings page (http://www.nakedboards.org/settings_mc-8.html) can be used offline. Simply download/save it as an HTML-only Webpage (usually Ctrl-S). Open it in a Chrome, Opera or Vivaldi browser. The MC-8 editor uses the Web MIDI API, which only these three browsers have yet fully implemented.

On-line editors necessarily work through internet browsers, most of which fortunately are cross-platform (Microsoft's and Safari notably are not). Currently (March 2018) not all browsers have incorporated the Web MIDI API, which enables editors to communicate with MIDI devices in a universal and straightforward way. Of the cross-platform browsers, Firefox is the primary holdout. For up-to-date information on browser compatibility with Web MIDI, see: https://developer.mozilla.org/en-US/docs/Web/API/MIDIAccess#Browser_compatibility.

9  Be especially careful how you set up the Livid Online/Offline Editor. There are two different ways to do it; the one to select depends on the browser you want to use. Note that, as of now, only the browsers mentioned can run the editor at all.

Method 1: for pre-Web-MIDI browsers, which here means Microsoft Internet Explorer 11. The on-line version is found here: http://lividserver.com/editor/. MSIE11 is the only browser that can use this version. You will also have to install the Jazz-Plugin, as the front page suggests. This applies as well to the Off-Line version of the editor (again for MSIE11 only), which can also be downloaded from the front page (or directly: http://lividserver.com/editor/src.zip). For the record, MSIE11 does run in Windows 10; but the Livid editor does not run in earlier versions of MSIE or Windows.

Method 2: for browsers that have incorporated the Web MIDI API, which here (currently - see footnote 7) means Chrome and Opera only. On-line is not possible; the editor must be downloaded: http://lividinstruments.com/dl/software/utilities/livid_web_editor_20170505.zip. (Be sure to use only this source.) No additional download is required. Do not click the "Reload Page" or "Source (OffLine)" links; they will lead you astray (the other links are OK). This version of the editor works with Chrome and Opera in Windows 7 through 10. It should work comparably in Mac and Linux.

10 The Enigma editor services 15 different Evolution and M-audio controllers, including the Evolution UC33e, the M-audio O2, and M-audio Oxygen 25 v2. (All these units can be programmed onboard as well.) Enigma's programming ability is extensive, and is equalled (or surpassed) only by the Livid Online Editor. No other editors for units described here handle anything beyond a basic level. (Some, for example, cannot even specify the channel or range of values for individual controls. This is not an issue for me, but could be for others.)

The Enigma editor can be found at:
http://www.m-audio.com/support/drivers/
Search on Series = Legacy | Product = Enigma | OS = [any]
The file to download is Enigma XL.zip.

11 The complete MIDI map is available here:
http://community.akaipro.com/akai_professional/topics/midi-information-for-apc-mini