ModStep CC template for Laplace v2 with application notes
NOTE: the template and mapping for Laplace v2 is in the comment a few posts down.
I'm keeping this original post up as it has some general info and, because v2 removes and/or changes some MIDI functionality, some might want to keep using v1.x
I spent a few hours making a full ModStep template for iceGear’s beautiful Laplace so I figured I would share it to spare others the tedium…. Big thanks to @gonekrazy3000 for poking around in iFunBox and figuring out what to export / copy to make this work!
Just about every parameter has a mapping except the Mono switch which doesn’t seem to be mappable (and it doesn’t respond to the traditional CC126 Channel Mode Message either)
Some of the parameters are not well suited for modulation in ModStep, but I made the assignments regardless. These are parameters with multi-state buttons or knobs with discrete values (e.g. the Octave select, Arp Style, Arp Step Length, Loop Length, etc)
I made a few of the assignments with typical controls in mind:
CC5: Glide time
CC7: Channel volume
CC11: Amp Level
The rest are just assigned in order. I decided to keep things in groups rather than splitting them out further to possibly align with General MIDI conventions (i.e. I didn’t put Reverb Dry/Wet controls on CC91 or Chorus Dry/Wet on CC93, but rather kept them grouped with the rest of the Reverb and Chorus controls).
The issue with mapping the multi-state buttons or mapping a knob with limited, stepped range is that controls with discreet values in Laplace respond to discreet CC values and ModStep isn’t great about programming discreet values.
To really work with stepped controls, you need to limit the range that ModStep is sending the CC values. ModStep can limit controllers to a range, but that setting isn’t saved with the template - it needs to be done each time the parameter is loaded into an X/Y slot. After assigning the control to an X/Y slot, set the Range bar to the appropriate settings: all such controls in this template have their range listed after their names e.g. (0-2; 0-14; 62-66, etc.)
As an example: the Octave control is mapped to CC76, but it only responds to values from 62 to 66 (a value of 62 corresponds to -2 octave; 63 to -1; 64 to 0; 65 to +1; 66 to +2). So, to work with this, you load the “76 Octave” control to an X/Y slot and then adjust the range to 62 to 66.
However, the other ModStep quirk to recognize is that the range set here only works for the X/Y controllers on the Step Sequencer page. If you go the Piano Roll and paint in a curve, you are always working in the full 0 - 127 range.
Simple Boolean toggle switches (effect off/on; ENV/Gate select; etc.) work in the typical 0-63 = OFF; 64-127 = ON paradigm, with two exceptions:
The Mono switch, which doesn’t seem to be mappable
The Resonator Type A/B switch, which instead works with a stepped range; either a value of 0 for A or 1 for B. This control is also not grouped with the rest of the Resonator controls in the template because it was going to be CC33 and I didn't want confusion because of....
One other note for ModStep: the pre-assigned Mod Wheel controller sends MSB and LSB values (i.e. both CC1 and 33), so don’t try to assign CC33 to something if you’re going to use the Mod Wheel. Of course, you can create a CC1 controller which is only CC1. This is probably better than using the dedicated Mod Wheel, unless you have a synth that responds to 16,384 values.
It would be great if discreet CC values could be programmed in with more precision than we have now. Ideally you could save a range to your template and the Piano Roll would only show that range.
Also, creating templates is a bit more tedious than it could be. First there doesn’t seem to be a way to edit an assignment once it’s made. If there’s a typo or you want to move something around you have to delete the original and create a new one.
And for the most part a template is really just an assignment of a name to a number. It would be great if the .mtt file was just a text file or a XML, etc. so that the bulk of creation could be done in a text editor. Opening up an .mtt shows a bunch of other numbers whose value isn't clear.
Here's a quick video showing the modulation. First no modulation, then heavy modulation, then every single parameter modulated. Crazy and unmusical? Maybe, or maybe in the right context....