Here's one of these instruments in action!
Description:

At Keith McMillen Instruments I was one of the lead engineers working on QuNeo (a pad drumming midi controller), QuNexus (a multi-touch keyboard controller), 12Step and SoftStep (pressure sensitive foot controllers). Each of these electronic music controllers features 3D controls that could be fully customized - each button is sensitive to pressure as well as the X-Y coordinates of your fingers (or feet).

I also worked on building and maintaining the first version of StringPort, a complex guitar FX processor that allows you to play different synthesizers with each string of your guitar, layer them in with the actual guitar sounds, and then process the sound of each guitar string separately at the same time. For example, I could take my low two strings and put heavy distortion and bass FX on them, layer them with synthesizer, and then take my high strings and put various amounds of reverb and delay on them to give them a floating orchestral vibe.

Keith McMillen Instruments is a startup company with a small staff, so we all had to wear many hats. The software used to customize each of these devices was prototyped in MaxMSP and then built in C++, and I had the privilege of being one of the lead software developers. I was part of the creative design team for each of these products, I worked on testing the firmware and helped prototype some of the sensor algorithms. I wrote a set of installer scripts to make the instruments interface with external software such as Ableton Live, Reason., Native Instruments and wrote demo presets to make setup more user friendly.

Favorite Features:

I still use these instruments for my music every day. A lot of the time people think that electronic music is not expressive enough - you can just hit a couple of buttons on a computer without really engaging in performance. Each of the midi controllers essentially has a 3D touch pad on each separate key so it allows you to really put feeling into electronic music that couldn't have been there with a standard keyboard. It lets me play a synthesizer with the same degree of feeling as I would an acoustic instrument.

Challenges:

The depth of customization for these instruments meant that there was a constant temptation to include too many features in the user interface. We had to really challenge ourselves to streamline things for the creative, but not so tech savvy customer who wanted to just dive in and make sound without interrupting the creative process, while also make the products expandable for more experienced electronic musicians who wanted more detailed control over their performance.

Technologies Used:
C++, MaxMSP