To wrap things up, I want to make a connection to the real world - to hardware. In previous iterations of this series, we created a complicated pattr-based preset system, then coupled it with an equally complex routing system. When using the system, I seldom found this useful - rather, what I really wanted was hands-off preset selection, and simple volume control from a foot pedal. So we again diverge from earlier versions and create a simple - but effective - MIDI pedal connection.
Hardware? What Hardware?
There are a few different guitar-oriented MIDI rigs out there, and some have been around for a long time. However, a relatively new (but still affordable) option has arrived: the IK Multimedia iRig Stomp I/O. This shortboard-styled system combines a guitar-oriented audio interface with a set of pushbuttons and a foot-potentiometer, which is exactly the kind of system that can activate our guitar rig.
With a little investigation, we find out that there are several ways of using this as a stock MIDI pedal interface. We are going to choose the easiest one - the default mode, which causes the buttons to transmit MIDI Program Change messages, and the pedal providing a straight MIDI CC. Since this is the device's default mode, we don't have to do much other than connect it right up to the computer with a USB cable, connect our guitar and an amp (or headphones) and dig in!
There isn't anything too special about the MIDI produced by the iRig Stomp I/O, other than the fact that no notes are generated; rather, everything is Program Changes or Continuous Controllers. But we do have to select the device as our MIDI input - and parse out the MIDI stream for useful information.
To get this functionality, we are going to steal directly from one of the help files: specifically, the midiin help file. This gem provides us with the information necessary to select from the available MIDI input devices (of which the iRig is most interesting). Pairing that with a midiparse object allows us to get the Program Change and Continuous Controller messages.
To make things easy for ourselves, we'll route the Program Change messages to a send named pgm, and MIDI CC #11 messages (what the foot pedal produces) to a send named pedal.
What should we do with the data? Well, the Program Change messages are pretty easy: we'll just route them directly to the Preset Selector for direct snapshot selection.
For the CC we need be a little thoughtful - and our Overdrive/Gain system is a good place to route this data. By altering the volume before it gets to the delay systems, we'll be able to create interesting swells that get carried forward by the delay (and looper). It's a simple effect that is incredibly musical.
And with that, we hit the end of this series. The final result, with all effects, preset/snapshot management and MIDI interface, end up being a tight little system with a lot of flexibility.
How is this different/preferable to something like IK Multimedia's iRig software, or Guitar Rig, or any of the other virtual guitar rigs out there? It's because you have the ability to extend and improve this setup in ways that only you can imagine. Think about adding VST's, Max for Live devices, or Gen processors to expand your effects system - it's truly an endless playground.
Thanks for following along, and if you have any questions - just drop a comment. Happy patching!