One of the most valuable production techniques an electronic musician can learn is the sense of movement or subtle variation applied to individual sounds of a given track. This is especially true for music produced solely on a computer, where the clinical and calculated sound generation techniques of many software synthesizers can grate against our ears, which have been proven to respond better to sound with even minute dynamics. To that end, there has been a new wave of plugins that are designed for this very purpose, like Xfer Records' LFOTool, or the many LFO devices written in Max for Live, all of which enhance existing instruments or effects by providing an added level of continuous control. One of the newest and most notable of this type of plugin is MidiShaper by the Berlin-based software duo Cableguys.
If you've heard of Cableguys, it's probably via their virtual instrument called Curve, which is known primarily for two things—a robust community-driven preset library, and a unique waveform editor. Reportedly the product of years of development, Curve's waveform editor is a powerful graphical tool that allows you to draw and adjust a waveform using breakpoints, straight lines, randomization, wave presets and Bézier curves. The resulting waveform can then be used as a waveshape for an oscillator, or as a modulation source for the instrument. The Cableguys crew must have realized that they could get more mileage out of the time they invested into this tech, as they have now produced three other plugins using the waveform editor as the centerpiece: FilterShaper, VolumeShaper and now MidiShaper.
Plugins like MidiShaper, which exist solely to augment other plugins or hardware (and as such can't do much of anything on their own), require an extra level of study before you jump in. With that in mind, how does MidiShaper work? The simplest way to describe it is that, as mentioned before, it takes the waveform editor found in Curve and allows you to draw ten different waveform shapes with it. You can then select one of those shapes in each of the four "sources," which are the things that actually send out the controller MIDI signal.
After the waveform is selected you then determine how MidiShaper should play the waveform in order to generate the signal. Should it loop the waveform continuously? Or just play it once for each note received? Should the tempo of the waveform be synchronized to the host tempo that your DAW is sending to MidiShaper? Or should it use a static speed specified in Hz (number of cycles per second)? These are just a few of the many possibilities that are baked into the source controls that allow for a welcome amount of flexibility. Add to this the fact that each source can be configured as an envelope generator (responding to incoming note events), or can use Noise as a waveform, and things start getting a little crazy (in a good way).
Once you have your sources configured, your next task is to figure out what you want to control. To direct your sources to their destinations, MidiShaper employs the same modulation matrix found in their other plugins. In this case, it lists the four sources as rows, and the destinations as columns. Included in the possible destinations are three static controller types (pitch bend, modwheel, and aftertouch) and six configurable MIDI CC slots (which are configured by choosing the CC # from a dropdown at the top of the column). From that point it's a matter of setting the amount of modulation from each source to each destination, which is done by clicking and dragging within a box to set the numeric value (pro tip: shift-click to set accurate values, ctrl-click to reset).
At this point, assuming that your DAW transport is running (or you are sending MIDI notes to the plugin) MidiShaper should be spitting out MIDI controller data. This is where things start to get tricky. Depending on what you want to control, there are different ways of routing the output. There are some tutorial videos on the Cableguys' website that show the setup options in a handful of DAWs, but for the purpose of this review, we will consider Ableton.
Perhaps the most straightforward option is to send the output to external hardware. To do this, you need to route the MIDI out to an output of your hardware interface. The latest version of MidiShaper makes this easy by giving you a dropdown of all of possible MIDI outputs available on your system (even ones that may not be enabled for output within Live's preferences), and your choice is saved with the session. If you want to send MIDI within Live to a VST plugin that supports MIDI learn, you choose the MidiShaper plugin as the MIDI source on the Live track that houses the destination plugin, with Monitor set to In. With this setup you can also send MIDI notes from clips in MidiShaper track, and they will be routed to the destination plugin along with the CC data.
The final option, controlling one of Ableton's own native effects or instruments, is where things get trickier. To accomplish this, you must route the MIDI out from MidiShaper to a MIDI loopback device (like MIDI Yoke) which can then send the MIDI back in to Ableton, making it behave like a hardware control surface. As long as the loopback device is configured to control Ableton devices within the preferences menu, it can then be assigned via Live's MIDI Map Mode. To facilitate these kinds of assignments, MidiShaper comes with a "Teach MIDI CC" function which will solo a single CC source, muting all other sources and allowing you to assign it more easily. Care is still needed, though, because MidiShaper continues to send control data even after the DAW transport has stopped—so if you think it's safe to enter MIDI Map Mode after hitting stop, think again.
This may sound a bit confusing and hard to keep track of and to be honest it can be; that is the nature of the beast when working with a 30 year old technology like MIDI and its CC numbers. Of the alternatives, only the Max for Live devices escapes this by using Ableton's API for routing the signal to its native devices. What would be extremely useful is if MidiShaper allowed for device presets to be saved within the plugin, mapping the CC #s to meaningful names. They might even be able to utilize their robust community preset library to allow users to share device templates rather than reinventing the wheel each time. Besides these complaints, MidiShaper is really quite powerful, and once you get used to the setup options, it's an unquestionably useful tool that can give your music that little extra bit of life.