Kal ZoneAudio

CV tutorial 3: Sequencer Control CV (control voltages)

A tutorial series on using virtual control voltages (CV) in Propellerhead Reason music production software. Revised 2013-01-19.

In the previous two tutorials, CV tutorial 1 and CV tutorial 2, we showed that CV signals are implemented similarly to audio signals, but at 1/64 audio rate. Like audio signals, CV signals have virtually unlimited headroom internally. We set up a CV testbench that allows you to record CV signals in audio clips and to view CV signal levels on audio meters. We will continue working with variants of the CV testbench setup from the preceding tutorials:

Testbench setup

This tutorial will cover one of the original applications of CV, modeled after vintage analog synths, where "voltage" signals are used to control oscillator pitches. Here, CV levels correspond to discrete musical note pitches. Thus, MIDI notes from C-2 to G8 are represented as integers 0 to 127, and then converted to CV values to control oscillator pitch. Similarly, MIDI note durations are converted to on/off gate signals that include MIDI note velocities 1 to 127, with 0 equivalent to note off. This Sequencer Control CV protocol is used by devices such as Matrix and RPG-8 to run Reason synths. All Reason instruments (except ID8) have Sequencer Control CV inputs that allow them to be controlled, hardware-sequencer style, by Matrix and RPG-8.

Typical sequencer control

Sequencer Control CV is suitable for playing target devices monophonically, one note at a time. For more general, polyphonic control of target devices, you can wrap the devices in a Combinator. That will be the topic of a later tutorial.

MIDI-to-CV conversion with RPG-8

RPG-8 is Reason's analogue to a hardware arpeggiator, sending out CV signals to play patterns on target instruments. But more importantly for our present purposes, RPG-8 is also a MIDI-to-CV converter, which can translate keyboard or sequencer MIDI input to CV signals. We will use the following variant of the basic CV testbench setup:

RPG-8 as CV source

You can download this setup here: CV-Seq-Ctrl.reason.zip (zip archive of Reason song file)

The Arpeggiator section of the RPG-8 is turned off. And unlike the way you would normally connect the RPG-8, we will be taking its CV outputs into Thor's CV modulation inputs, so that the CV signals can be converted to audio signals and recorded into audio clips for viewing:

Nonstandard CV hookup

Here's Thor's modulation routing:

Modulation routing

CV In 1 is the signal from RPG-8. In this setup, it is not playing Thor, only being converted to audio on Audio Out 3. CV In 1 is also modulating Osc 1 pitch slightly, just to give an aural cue as to what's going on. (This modulation will not produce the "correct" pitches on Osc 1.) In the examples below, I'll be using Thor's sequencer track to play one long note (C3) on Thor, which note will be modulated by the CV input:

"long note"
sequencer track

Sequencer Control note/pitch

In the above setup, we have assigned a sequencer track to the RPG-8, to supply various MIDI input patterns.The first note lane in the track contains the MIDI note sequence C-2, C-1, C0, C1, C2, C3, C4, C5, C6, C7, C8, G8, or in other words, MIDI note numbers 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 127:

Note lane input

Notice that some of these notes are detached while others overlap. We record the resulting CV signal as described in Recording CV into an audio clip. This produces a full-scale, unipolar CV signal that steps up from 0 to 127:

Sequencer control
note/pitch CV

Sequencer Control gate/velocity

The notes in the above note lane also have varying velocities: 1, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 127:

Note lane velocities

Reconnect RPG-8's CV output from Note CV Out to Gate CV Out,

Use Gate CV out

rewind the sequencer, and record the resulting CV signal. This also produces a full-scale, unipolar CV signal that ranges from 0 to 127. Here 0 just "closes the gate" or turns the note off:

Gate/velocity CV output

This gate/velocity output graph reflects the fact that some of the input notes are detached, while others abut or overlap.

If you want, you can use the "mod wheel" and "pitch bend" note lanes on the RPG-8 sequencer track to explore how these MIDI controllers translate to CV. You will need to reconnect RPG-8's CV output to Mod Wheel CV Out or Pitch Bend CV Out. If you do this, you will find that Mod Wheel is a full-scale, unipolar signal, while Pitch Bend is a full-scale, bipolar signal. Mod Wheel nominally ranges from 0 to 127, while Pitch Bend nominally ranges from -8192 to +8191. For CV purposes, however, it is clearer to think of both of these signals in normalized terms, as ranging from -1.0 to +1.0.

How target devices respond to gate CV input

You can use unipolar or bipolar CV signals to trigger gates. Basically, the gate opens whenever the CV signal goes positive and closes whenever the CV signal drops to 0 or below. As a separate example (not part of the download), you could try connecting Malstrom's Mod A CV Out to one of Kong's drum pads as follows:

LFO CV routed to Kong
drum pad

Notice that whenever the signal goes positive, it triggers the pad with a velocity equal to the first positive value. For example, a triangle wave triggers with a low velocity because the positive values start low,

Triangle wave from LFO

while a sawtooth triggers with a high velocity because the first positive value is high:

Sawtooth wave from LFO

Try stepping through the more random LFO patterns to get more varied results. Also try changing the LFO rate. With an even more variable CV source such as the Pulsar rack extension, things can get very interesting as you apply FM to the LFOs, or turn on Shuffle. Check it out.

Thor's Last Key modulation source

Now let's return to the "CV-Seq-Ctrl.reason" example and examine Thor as an alternative MIDI-to-CV converter. In Thor's modulation section, use the Last Key > Note global modulation source routed to Audio Out 3, to be recorded into an audio clip:

Last Note mod routing

You can find Last Key > Note in the Source context menu:

Selecting Last Note

Let's make a few other changes in the test setup. First, go to Thor's Osc 1 and turn Keyboard Tracking all the way off, so that Osc 1 responds only to Last Note:

Keyboard Tracking off

Then go to Thor's sequencer track, mute the "hold long note" lane, and unmute the "note/gate/vel" lane:

Select the right note

The "note/gate/vel" lane contains a copy of the note data that we sent to RPG-8 above. The pitch sequence C-2, C-1, ..., C7, G7 produces the following graph when translated to CV via Thor's Last Note:

Thor's Last Note mod

Unlike the previous result using RPG-8, this produces a bipolar signal centered on MIDI C3 — that is, MIDI C3 translates to CV 0. Thor's architecture has all the oscillators centered on C3 — the note that you get if keyboard tracking is turned all the way off. The Last Note mod source is also centered on C3 and can be used to modulate pitches up or down from that center.

Thor also has a voice mod source called Voice Key > Note.

Voice Key mod source

This is similar to the global mod source Last Note, but is accessible polyphonically, per voice. For example, the following mod routing is entirely equivalent to turning Keyboard Tracking all the way up on Osc 1, and can be used polyphonically:

Keyboard tracking set in
mod section

The global mod source Last Note just monophonically tracks the last note played into Thor — via either MIDI, Sequencer Control CV, or the internal Step Sequencer. Since CV is a monophonic protocol, we may as well use Last Note to do the MIDI-to-CV conversion.

Thor also has a global mod source MIDI Key > Note, which is almost equivalent to Last Note:

MIDI Key global mod

This differs from Last Note only in that it doesn't respond to the internal Step Sequencer. So a common application is to transpose Step Sequencer patterns on the fly, via real-time MIDI input.

Thor's Last Velocity modulation source

Next let's change the mod source to Last Key > Velocity,

Last Key > Velocity
mod source

resulting in the following modulation routing:

Last Velocity mod

Last Velocity picks up the velocity of the most recent note-on, but doesn't respond to the note-off information in the note lane:

Last Velocity graph

Thor's Last Gate modulation source

Finally, change the mod source to Last Key > Gate:

Last Key > Gate mod

Last Gate picks up the gates, but loses the velocity values. Notice that the gate stays open throughout the series of nondetached notes:

Last Gate mod routing

Combining Last Velocity and Last Gate

In the Sequencer Control protocol, velocity and gate information are combined into one CV signal. We can do the same thing with Thor's Last Key mod source. Set up Thor's modulation section as follows:

Combining velocity and
gate mod

This multiplies the velocity signal and the gate signal together. The result is essentially identical to the output we get if we play the note sequence through RPG-8's Sequencer Control:

Combined velocity and

Thor as MIDI-to-CV converter

In addition to the Last Key and MIDI Key global modulation sources, Thor supports Performance Controller mod inputs for Mod Wheel, Pitch Bend, Breath, Aftertouch, and Expression. These work similarly to the equivalents on RPG-8, and can be used to translate MIDI controllers to CV.

Thor's MIDI-to-CV pitch calibration

These examples show that Thor's pitch response is calibrated differently from that of Sequencer Control. We will give an example below on how to convert Thor's Last Note to Sequencer Control note/pitch. We will see that there are a few situations where such a conversion is useful.

But basically, if you want to coordinate Thor with another device that responds to MIDI note pitches — such as perhaps FXpansion's EtchRed rack extension, or other synths like Malstrom or SubTractor — your best bet is to wrap all the devices in a Combinator.

Using Thor's Last Key to drive other instruments

As I just mentioned, the easiest way to coordinate Thor with other synths such as Malstrom or SubTractor is to wrap them all in a Combinator so that they can access the same incoming MIDI data.

So why would you want to use Thor's Last Note CV Out to drive other synths? Well, usually you don't. But to take one example, you might want to use Neptune's Pitch CV Out to drive other synths, and Neptune's Pitch CV Out is calibrated the same as Thor's Last Note. So if we can get Thor to drive another synth, we can also get Neptune to drive it. Here's a setup that works with SubTractor:

Thor and SubTractor

You can download this setup here: CV-Thor-Sub.reason.zip (zip archive of Reason song file)

Thor is routing Last Note, Velocity, and Gate to its CV outputs. Here I'm using Last Gate to scale Last Velocity, to produce a combined signal on CV Out 2 that is equivalent to Sequencer Control's gate/velocity signal:

Combining Last Vel and
Last Gate

This combined gate/velocity signal (CV Out 2) is routed into SubTractor's Sequencer Control Gate In, and Last Key > Note (CV Out 1) is routed to SubTractor's Osc Pitch Mod In:

Connections to
Sequencer Control

The Trim control is set to 84:

Trim setting

We have set Thor and SubTractor each to play a triangle wave on a single oscillator, and have tuned SubTractor's oscillator down by a major third:

Osc 1 retuning

Finally we have deleted SubTractor's sequencer track, and have assigned master keyboard input to Thor, so that Thor is driving SubTractor:

Thor has master
keyboard input

If you play Thor, you will also hear SubTractor following along, and the two synths will play perfectly in tune. What's going on here, I think, is that SubTractor's oscillators are centered on MIDI note 64 (E3) while Thor's oscillators are centered on MIDI note 60 (C3). So tuning SubTractor down by a major third aligns the pitch references on the two synths. Also, Thor's Last Note CV signal has a little more amplitude (bottom to top) than the Sequencer Control note/pitch CV signal, so we use the Trim control to reduce its amplitude slightly. This aligns the pitch modulation across the keyboard.

You can, if you wish, make similar setups where Thor is driving other instruments such as Malstrom or NN-XT. The magic formula is to tune the target synth's oscillators down by a major third, then modulate oscillator pitch with a Trim setting of 84.

Again, the motivation for this example is to prepare to use Neptune, in place of Thor, to drive synthesizers, in a setup something like this:

Neptune driving

We're using Thor as a mod source in these examples simply because Thor's pitch calibration matches Neptune's.

If all you want to do is coordinate Thor with other instruments, the easiest approach is to wrap them all in a Combinator, so that they all respond to the same incoming MIDI data.

Converting Thor's Last Note to Sequencer Control pitch

This extends the preceding example. Now we want to convert Thor's Last Note CV signal so that it can be routed to Sequencer Control CV inputs on different instruments. Reasons to do this?

We will be using the following setup. The Combinator contains a Matrix and Spider CV that are used in the CV conversion, and I've put them in a Combi to allow the configuration to be saved for future use. This Combi patch has external CV routings that have to be reconnected whenever the patch is reloaded. Run must be enabled on the Combi (and the Matrix) in order for the converter to work:

Last Note to Sequencer
Control conversion

You can download this new setup here: CV-Thor-Seq-Ctrl.reason.zip (zip archive of Reason song file)

As we saw above, Sequencer Control note/pitch is a unipolar signal, while Thor's Last Note is a bipolar signal. So we will do something similar to what we did in Converting Bipolar to Unipolar. Starting with the bipolar Last Note signal, which is centered on C3,

Last Note CV signal

we want to raise the centerline of the Last Note signal upwards so that it matches Sequencer Control's C3. The easiest way to do this is to set up a Matrix that plays a continuous Sequencer Control C3. Important: Run must be enabled:

Matrix playing C3

Then we merge Matrix's C3 signal with Thor's Last Note signal,

Merging the signals

with Trim again set to the magic number 84:

Set Trim to 84

Voila, SubTractor is now driven by Thor via Sequencer Control, and plays perfectly in tune with Thor. With this setup you can change patches on SubTractor and it will still play in tune. (For best results, set SubTractor's polyphony to 1 and play mode to mono.) A future tutorial will show how to use this kind of setup to drive instruments from Neptune.

Next: CV tutorial 4: Thor as a CV (control voltage) utility, part I


Images in these tutorials refer to Reason 6.5 user interface elements, which are, of course, Copyright 2012 Propellerhead Software.

Copyright © Kalle Nemvalts except as noted. Original content on this site is licensed under the Creative Commons CC BY-NC-SA 4.0 License. The Creative Commons license does not cover commercial reuse or adaptation, which must be negotiated separately.