Diving into the Voltage part of Control Voltage is what this week’s tutorial is all about! After briefly exploring the various ways to control a Reason rack device in our first CV tutorial, we now need to understand what happens when wiring CV outputs to CV inputs. Read on for all the learning goodness!
Connecting rack devices through CV
At the bottom you see the small External Modulation section, where the modulation Source 1 will influence MG Level up to +3.
The patch had this source originally set to Aftertouch but to make that modulation automatic, one solution is to use another device as an external modulator by setting Source 1 to CV 1, the first of the two generic CV inputs at the back of Polysix.
Pulsar & Polysix, a modulation relationship
Whatever voltage level is applied to CV 1, it’ll change (i.e. modulate) MG Level accordingly. The higher the CV value, the bigger the change applied to that synth parameter.
Same thing for Source 2, where originally Mod Wheel was used to modulate VCF Cutoff and MG Level and now this modulation is coming from the CV 2 input port.
What’s going on inside those wires ?
This is what Pulsar is sending to Polysix:
In this example, each Pulsar LFO (i.e. Low Frequency Oscillator) is generating different (virtual) Voltage levels that change through time because… well, that’s a thing LFOs do.
Follow that line!
The blue line shows what LFO1 is doing. It outputs a smooth sequence of values, starting at 0.0 (zero), rising to +1.0 (positive 1) then back to 0.0, down to -1.0 (negative 1) and back to 0.0 again. Being an LFO, it’ll keep on doing this value variation over and over again.
Pulsar’s LFO1 Rate is set to 1Hz and the Waveform set to Sine, so a complete cycle of this sine shaped wave took 1 second to happen, fitting that graphic almost perfectly.
The green line shows exactly the same thing coming from Pulsar’s LFO2 CV output, but you can also see that the values change faster i.e. there’s more complete cycles happening in that same 1 second time period and that’s simply because LFO2 Rate is set here to 5Hz i.e. 5 cycles per second (approximately in this example).
Questioning Reason’s virtual CV values
What is the correct CV range that rack devices usually deal with? Is it -5V to +5V? -127 to +127?
What’s the best way to refer to it? -100% to +100%?
What’s the precision we can expect out of “Control Voltage” values?
Contrasting with the first graph, here’s how 1 second of low-resolution (7-bit based) CV values would look like.
Clearly, CV is capable of smoother, higher precision (i.e. resolution) values than what’s usually expected from regular MIDI Continuous Control sources (aka MIDI CC).
So, unless you need to relate CV to MIDI, you shouldn’t think in terms of MIDI’s 7-bit based integer values (0..127 or -64..0..+63) because that’s really not the type of value precision going through CV wires, fortunately.
The proper CV range: -1.0 .. 0.0 .. +1.0
It’s easier and more flexible to think of CV values as all those that go from -1.000 to +1.000 and use that as the standard range devices are expected to deal with inside the rack.
Not all rack devices generate CV values this “strong” though. If you check Thor’s LFOs, you’ll see a good example, with the output only going from -0.50 to +0.50.
Subjecting a device to CV values above those limits
The opposite is also possible, obviously, going beyond that 1.00 range.
So 3 things may happen to a device in those situations:
- Nothing – The device receiving a CV value above its preset limit will ignore the excess, applying a max/min limit that cuts off anything outside the expected range. So any CV value above +1.00 will do the same as if +1.00 was received and any below -1.00 will end up doing the same as what would happen if -1.00 was the value arriving at the CV plug.
- More – The device parameter influenced by CV values above the expected range will follow them beyond what’s allowed through its respective knob at the front panel of the device.
These behaviors vary a lot between devices, parameter types and even brands where some manufacturers (RE Developers) prefer to always limit input CV values and not deal with extending the established limits of parameters when controlled through CV, keeping them within the same operating ranges as marked on the front panel.
Deep enough for now!
This picture illustrates how Thor’s LFO 2 can easily be driven above its preset range, something we’ll go even deeper in future tutorials, exploring absolute, relative or delta-type relations between incoming CV and device parameters.
But, there’s 1 behavior missing, right? So… going beyond the usual CV range can make a device do:
- Nothing else beyond what’s already possible through the front panel controls,
- More than what’s allowed through the front panel controls or…
- CRASH – Yup, sometimes, when not properly protected internally, a device may unexpectedly do “more” than it should, disguising a bug as a (surprise, sometimes useful and cool) feature but also, on specific parameters, getting CV values above what’s expected may go terribly wrong, almost like “blowing a virtual component” inside the device, turning it useless and quickly deactivated by Reason to keep the stability of the rack and the protection of the song.
Fortunately, in these extremely rare occasions, no work should be lost and you’re able to save your song, contact the support of the problematic Rack Extension, describing the issue to that RE Developer and then decide whether you should leave that device out of your song or investigate if there’s a temporary workaround while a new version of the device is being fixed and prepared for release.
So it’s always a good thing to keep your Rack Extensions (and Reason) updated with the latest versions!
When dealing with CV, we really need to be comfortable with the various signal types devices can generate and expect to receive. Bipolar, Unipolar, Note, Gate and much more will be dealt with on the second half of “CV in Reason: Getting them basics right“.