External MIDI Control via XML

After a few performances live looping with Ableton and the GMS, I have found it cumbersome and frustrating to have to repeatedly swap between the two applications. To solve this, I have added he ability to control the GMS with an external MIDI device. I achieved this by creating an XML document with the parameters included as tags with a CC attribute to designate what control change value to use for each setting here’s a few lines out of the XML document.

<GMSMidiController>
    <MIDIControllerName>Korg MS2000</MIDIControllerName>
    <MidiChannel CC="31" type="knob" />
    <TopOctaveIncrement CC="82" type="button" />
    <BottomOctaveIncrement CC="78" type="button" />
    <Preset useProgramChange="true" />
    <ToggleFreeMode CC="77" type="button" />
    <StartStop CC="89" type="button" />
    <Sustain CC="64" invert="false" type="pedal" />
    <SetDuration CC="30" type="knob" />
    <ToggleDotted CC="92" type="button" />
    <SetScale CC="29" type="knob" />
    <ToggleMirroring CC="86" type="button" />
</GMSMidiController>

As you can see I’m using knobs to adjust some settings and buttons to adjust others. It’s really fun to turn a knob on my Korg MS2000 and see the sliders in my software start to move in response. Program change for presets and note on for transposition will work from any old controller, but the rest of the parameters need to be mapped to knobs, sliders or buttons. In total I have around thirty-six specific parameters that are now adjustable with a controller.

GMS Performance Excerpt #4

2 thoughts on “External MIDI Control via XML

Leave a Reply