ModStep CC template for iPulsaret with application notes
Another CC template for ModStep. This time apeSoft’s wonderful iPulsaret.
1) iPulsaret can save a different controller mapping for each patch. This can be very powerful, but it can also be confusing.
I saved the CC mapping to an Init patch called “CC Init Setup” in the “MIDI Configure” bank. To begin a new patch, load this patch and Save As to a new location.
NOTE: If you use the built-in Init patch button it will reset all current CC assignments.
If you want to use these MIDI assignments for every patch, load the included “CC Init Setup” patch and then turn off the “Include Control Manager in Presets” switch in the Settings. This way, the MIDI assignments in this patch will be used for all subsequent patches loaded.
Note however, that assignments in the Control Manager are mutually exclusive: these MIDI assignments will replace any LFO, accelerometer or keyboard Y-scrub settings in the loaded patch (the settings still exist in the saved version unless you overwrite with the new MIDI assignments). If any of these are important elements of your patch, you will either have to recreate them or: turn the “Include Control Manager in Presets” switch in the Settings back on; reload the patch; and then manually learn the specific MIDI controls you want to use.
Obviously if you add LFOs, etc. back in, you will lose MIDI control of those parameters.
2) CC mappings are saved with both CC assignment and MIDI channel in iPulsaret. The mappings in the “CC Init Setup” are set with MIDI channel 1. Make sure your ModStep channel is also set to 1.
Everything has a parameter assignment, unfortunately switches are not well suited to control from ModStep as they work with a 0 = off; 1 or above = on paradigm and setting a modulation to 0 is very finicky in ModStep unless you set up the Step Sequencer X/Y pads with reduced range (see below).
The radio buttons (Grain Envelope Attack and Decay and Glisson Sweep Mode) are useable but have a weird control range: the top button is selected with a CC value from 1-31; the second from 34-63; and the third with a value of 65 or above. Exact values of 0, 32, 33 and 64 don’t have any effect (and I’m not sure if all values above 65 work for the third button, I wasn’t that thorough!)
One other bug to note with the radio button controls: if you’re going to manually learn MIDI CC for these elements make sure that you get the right controller the first time! These three controls have a bug where the first CC learned is “permanently” assigned. If you try to change that to a different CC, the assignment will still be to the original CC. The patch will, at this point, respond to the new CC, but it will also respond to the original CC. And when you save the patch, only the assignment to the original CC will be remembered. The only way to clear this assignment, to allow a change, is to Remove Assignments (the trashcan) in the Control Manager, but that clears out everything in the Control Manager.
A few other quirks:
-there’s a CC assignment available for Pitch Bend - I assigned it to CC63 for completeness, however the app also responds to the real pitch bend control
-there’s a CC assignment for the keyboard lock (CC69), however, this only works for the on-screen keyboard, so you can’t use it as a sustain for an external keyboard or from ModStep (and the app doesn’t seem to respond to the usual CC64 for sustain)
-apeSoft apps can respond to 14bit controls with NRPN control, however controlling this with ModStep would be cumbersome. I did leave CCs 99, 98, 6 and 38 open in case you want to try that out.
ModStep can limit controllers to a range, to make controlling the switches easier, 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. “Grainlet Off/On (0-1)”
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.
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.