Manual, page 109 and following:
8.1. What is Control Mode?
When the KeyStep Pro is in Control mode, every encoder and step button on the right half of the unit can transmit specific MIDI data to external devices that are connected to MIDI Out 1 or Out 2 (5-pin DIN). This same data will be sent to your computer via USB.
To activate Control mode, hold down the Control button The control Track can be used to create Patterns of special control data for controlling parameters of external devices such as hardware synths, Eurorack modular systems, or software virtual instruments loaded in tracks of your DAW. The track button will blink slowly to remind you that you are in Control mode.
In Control mode, a few features are disabled or work differently:
• Selecting a different track will exit Control mode.
• You save a Control Track the same way you do normal tracks.
• The Mute button has no effect.
8.1.1. What are CC# values?
When you draw notes in the MIDI editor of your DAW, you create MIDI data. With each note you add, you create a note-on message, a gate message, a note-off message and a velocity value, etc., all associated with a particular MIDI note number. The velocity value imitates how hard a key is struck on a MIDI keyboard. When you connect an external synth such as the Arturia MatrixBrute or MicroFreak to your DAW and press 'play', the DAW starts sending a stream of digital MIDI messages to the synth. The MatrixBrute or MicroFreak interprets these messages and plays your DAW sequence the way you intended it to sound. Note number and velocity values (like most values in MIDI) are in the range 0-127.
There's another kind of MIDI data that allows you to control parameters on external synths, modular systems and virtual instruments loaded in DAW tracks. These Control Change (CC) messages are different from, and independent of, the note-related MIDI messages. They are referred to as CC# messages: strings of numerical data that are specifically designed to control parameters on an external MIDI-compatible hardware or software device; for example, a hardware synth, a Eurorack modular system or a software modular system such as VCV Rack.
MIDI CC# messages have existed for over 40 years and, despite their enormous potential, they are not widely used.
When the KeyStep Pro is in Control mode and you turn one of the five main encoders, a CC# message will be transmitted. The default CC# messages that will be transmitted are:
Encoder
CC#
1 - Pitch
74
2 - Gate
75
3 - Velocity
76
4 - Time Shift
77
5 - Randomness
78
8. CONTROL MODE
Arturia - User Manual Keystep Pro - Control Mode 109
The problem with CC# messages is that you may have no way of knowing whether they are being transmitted, unlike notes that will either sound or not. Fortunately, there are two ways to understand what is going on. Whenever you turn an encoder, its value will be displayed in the OLED screen. For details of what is going on, check Utility>Controller>Knob (1-5).
Secondly, there is an option in the downloadable MIDI Control Center that enables you to check what's going on:
• Open the MIDI Control Center.
• Select 'MIDI console' in the View menu.
• Activate Control mode in the KeyStep Pro.
If you now turn the main encoders, you will see their CC# messages (changing values) displayed in the console window.
8.1.2. CC# Patterns
A Pattern in the KeyStep Pro's Control Track runs in parallel with the normal Track Patterns (sequences).
Is it possible to create 'empty' tracks containing control data only? Yes, it is. You could, for example, assign one of the four tracks to 'play' control data exclusively and use it to control parameters on an external synth, modular system or virtual instrument.
Each of the 16 Patterns in a Project can be used to stored control data in a CC# Pattern. To load a CC# Pattern hold down the Pattern button and press one of the 16 step buttons.
Chaining Patterns is a way to create a linked series of CC# Patterns. You do this in exactly the same way that you chain sequencer Patterns.
Save CC# Patterns using SAVE + Pattern, just like saving normal sequencer Patterns.
In Control mode, everything is handled just like when working with normal sequencer Patterns and tracks, except that there is no display of Pattern number and the Mute button has no effect.
♪: If you're a lucky owner of the Arturia Pigments software synth, you could map four of these encoders to Pigment's four macro knobs.
110 Arturia - User Manual Keystep Pro - Control Mode
8.2. Control Mode as DAW Automation
Without a doubt, Control mode is one of the most exciting features of the KeyStep Pro. If you've already used a DAW such as Ableton, Cubase, Logic or Reaper you will be familiar with automation lanes. In the KeyStep Pro, a track in Control mode is the equivalent of a DAW automation lane.
In the KeyStep Pro, a normal sequencer Pattern is used to store notes (pitches) and velocities (the force or speed with which you hit individual keys). In Control mode, however, a CC# Pattern is used to store encoder positions. It gets played back as a 'ghost' sequence in parallel with the sequences of notes stored in normal Patterns. A CC# Pattern can control external encoder/knob positions by transmitting MIDI CC# messages with values that external synths and modular systems, or virtual instruments loaded in your DAW, can recognise and respond to correctly.
8.2.1. Using CC# Patterns to Store and Playback CC Values
With a track of the KeyStep Pro in Control mode, the Patterns you create will act as DAW automation lanes. You can store CC# values in them that will control parameters on external MIDI devices.
If you know the CC# of a synth's knob, you can use that CC# to control that parameter. In the Utility menu, simply define one of the main encoders to send that CC# out to the synth and then fill the steps in the CC# Pattern with CC values to control the movements of the synth's knob.
CC# messages are thus the MIDI equivalent of turning knobs. The MicroFreak, currently one of the most popular Arturia Synthesizers, has very sonically interesting CC# control options: turn the Analog Filter Cutoff knob on the MicroFreak and its cutoff frequency will change. Sending a sequence of MIDI CC 23 messages with varying values to the MicroFreak will have the same effect: sending CC 23 with a value of 0 closes the analog filter completely; sending CC 23 with a value of 127 opens it fully. The MicroFreak has a total of 20 different CC#'s that are available to control its parameters.
Arturia - User Manual Keystep Pro - Control Mode 111
8.2.2. Recording Control Changes in Step Edit Mode:
To record control changes (modulation) in Step Edit mode:
• Make sure the Track on which you want to record a CC# Pattern is in Control mode.
• Press Pattern + a step button to select the Pattern into which you want to record CC# data.
• Ensure Play is off and turn on step recording by pressing the Step Edit button.
• Press a step button to select the step to which you want to add CC# data.
• Now turn the encoder to the position you want to record. While turning the encoder, nothing will be recorded, but you can monitor the changing value on the OLED display. The display will indicate the number of the step to which you can add data, the current CC number and its value. When the encoder is in the position that you want to record, release it. The KeyStep Pro will take a 'snapshot' of the encoder position and store it in that step.
• Continue to do this until you've filled every step with a CC# value.
You may have guessed by now that there are two ways to fill CC# Patterns with data: either you can fill the successive steps with 'snapshots' of the positions of one encoder and then go back to the first step and continue with another encoder, or you can fill a step with 'snapshots' of all the encoder positions simultaneously and then continue to the next step until all steps are full. Both methods have their pros and cons.
To erase the CC# data in a step, turn the appropriate encoder fully counter-clockwise until it reaches 0 then continue to turn it counter-clockwise beyond 0, thus turning off the encoder for that step.
8.2.2.1. Matching MIDI Channels
Before attempting to use MIDI CC# messages to control an external device such as a synth, the MIDI channel on which the KeyStep Pro transmits must match the MIDI channel on which the external device receives. If the receiving synth is set to receive on all 16 MIDI channels simultaneously, you have nothing to worry about. However, if your KeyStep Pro is connected to several synths (and a DAW) and you want to be able to send different control messages to each synth (and the DAW), you'll have to assign a different MIDI channel to each device and adjust channels on the KeyStep Pro to match them.
If you are the proud owner of a MicroFreak, you can try the following example. Let's say we've configured the MicroFreak to receive on MIDI channel 2 with Utility>MIDI>Input>2 and activated Control mode on the KeyStep Pro to perform our control magic.
♪: If the step being edited has no existing data for that CC number, turning the encoder will create it. ♪: Turning the encoder fully counter-clockwise reaches 0, then turning it further counter-clockwise turns it off for this step. There's a dead zone before deactivation so that it is easy to reach 0 without turning the encoder off. To turn it off, you have to turn it to what would normally be '-5' .
♪: Sequence functions such as Last Step, Extend, Step/Page Copy & Paste, Clear Pattern and Clear Steps all behave as in normal mode. A CC# track is always in 1/16th resolution (Time Division).
112 Arturia - User Manual Keystep Pro - Control Mode
If you don't own a MicroFreak you're missing out on something special, but you can learn from this example anyhow the general workflow is the same for other synths.
We'll select a MicroFreak parameter with a very drastic effect, so it immediately becomes clear whether the control is working or not. We'll use a CC# to keep changing the Oscillator Type on the MicroFreak!
By default, the MicroFreak receives on all 16 channels, so we can send CC# messages from any KeyStep Pro encoder. By default, Control mode transmits on MIDI channel 1.
We will assign CC 9 to Encoder 1 (Pitch). CC 9 changes Oscillator Type on the MicroFreak.
• Hold down SHIFT and press Project/Utility to open the Utility menu.
• Scroll down to 'Controller' and press the encoder to select this submenu.
• Select knob 1 and continue to select CC.
• Select CC# value 9.
If you now turn the Pitch encoder, the MicroFreak Oscillator Type will change. We can use the steps in any of the current track's Patterns to control Oscillator Type on the MicroFreak.
Remember how a step takes the current value of an encoder when you activate it? You can use this to program a series of Oscillator Type changes.
• Activate Control mode if it is not already active.
• Select a Pattern on Track 1.
• Press Step Edit to activate Step Edit mode.
• Turn the Pitch encoder fully counter-clockwise.
• Press step buttons 1, 3, 5 and 7 to store '0' values in those steps.
• Set the Pitch encoder to its mid-position (12 o'clock).
• Press the step 2 button.
• Repeat this for steps 4 and 6, remembering to set the encoder in its mid-position. Play the sequence. You should now hear the MicroFreak alternating between oscillator types.
♪: An option in the MIDI Control Center enables you to set a control range for each of the main encoders. You could use this feature to limit the range of the Pitch encoder (encoder 1) to 50-100 and thus only select specific oscillator types. To set this range, click on 'Device Settings' in the MIDI Control Center and change the min. and max. values listed under Controller> Knob 1.
Arturia - User Manual Keystep Pro - Control Mode 113
8.2.3. Controlling Parameters in a DAW
With CC# messages you can also control parameters of plugins, including virtual instruments, loaded in your DAW. All plugins of the Arturia V Collection series have a MIDI learn feature that enables you to link knobs on the KeyStep Pro front panel to knobs in the plugin. Imagine all the new sonic options you have when using the KeyStep Pro's encoders to simultaneously control the filters of the CZ V, the DX7 V and the Buchla Easel V, for example.
Please refer to the documentation that comes with your DAW and the V Collection for detailed descriptions of how to do this.
The controller assignments can be set in Utility>Controller and in the MIDI Control Center [p.126].
8.2.4. More about CC# Patterns
The CC# values can be sequenced as we've seen above. However, they can also be used in a more general way to set parameters in an external synth. If you send a certain CC# value in the first step of a Pattern and there are no other values programmed in that Pattern, this initial value will be held during the sequence. This feature gives you the creative option of sending a new configuration to the external synth, module or virtual instrument at the start of each Pattern!
Here's a diagram with four CC#'s and four steps:
If you use the steps of Patterns to send different CC# values in each step, there is a feature you can use to great effect: the looper, the horizontal control strip located under the two vertical touch strips. The looper also works in Control mode. If you loop part of a sequence, you will also loop the CC# values in that part of the sequence.
8.2.5. Visual Feedback
If a step in a Pattern has any recorded CC# data in it, its step button will be lit. Otherwise, it will be unlit.
If there is recorded CC# data corresponding to a main encoder, its LED ring will have only one LED lit (or one LED lit and one adjacent LED dimmed) to indicate the current value of that CC#. If the sequencer is running, by 'moving', the LED ring will show the value changing.
If there is no recorded CC# data corresponding to a main encoder, its LED ring will have all LEDs lit up to indicate the previously registered value of the CC# (plus one dimmed LED at the end of the ring, if applicable).
!: Patterns can be chained. CC# Patterns are no exception. If you have three similar Patterns chained, you could store CC# values in the first step of each Pattern. For example, in the first Pattern, you store a CC# value that sets a filter half-opened; in the second Pattern you store a CC# value that opens the filter a bit further; in the third Pattern you store a CC# value that fully opens the filter.
♪: There is one important difference between a normal track and a track in Control mode: a normal track can be muted, but a control track cannot. It will always transmit CC# messages as long as it is playing.
Arturia - User Manual Keystep Pro - Control Mode 115
8.2.6. Realtime Recording of CC# values
Above in this chapter, we looked at recording CC# values in Step Edit mode. Control values can also be recorded and played back in realtime mode.
Realtime recording of CC# values is no different to recording notes and their parameters: select the Control Track and press Record and Play. You stop recording by either pressing Stop or Record. If you do not stop recording manually, it will stop automatically when the last step of the Pattern is reached.
Again, it's important to understand that Control mode is different to normal mode: if you're in Control mode and press SHIFT+ Clr Steps, all CC# values stored in the steps will be erased, but the notes and note-related parameter values will be retained. The opposite is also true. Pressing SHIFT+ Clr Steps in normal mode only erases notes and note-related parameter values in the steps, not CC# data. Knowing this aspect, you can use it to your advantage by recording notes over existing CC# values or vice versa.
Unlike recording notes, which are only stored in the current step if there is an open gate (note in ON state), CC# values are recorded continuously: for example, if you record a CC# value in step 1, this value will be retained to the last step of the Pattern. (You do not need to record the same CC# value in each following step). If you touch/turn other encoders, their CC# values will be superimposed on the existing CC# data.
If you touch/turn an encoder a second time during a following recording loop, its CC# data will overwrite the existing data for that CC number. However, it will leave the data of other CC numbers unchanged.
When the end of the loop is reached, the Record button is automatically deactivated. 8.2.7. Erasing CC# Values
To Erase all previously recorded data for a certain CC number, hold down ERASE and turn the corresponding encoder fully counter-clockwise beyond the 0 point.
8.2.8. The Live Track
Being able to program automation in CC# Patterns is a great feature, but what if you want to directly control an external synthesizer or modular system in a live situation using the CC# values of the main encoders? Or what if you want to create and modify a Pattern already containing CC# data? It's easy: the track that is currently active when you press the Control button becomes the 'Live Track'. The track button will blink slowly to remind you that you are in Control mode. When in Control mode, you can use CC# messages in realtime to control any MIDI-compatible hardware or software devices connected to this track via USB, MIDI Out 1 or MIDI Out 2.
To exit Control mode, press the Track button of the Live Track again. All normal SHIFT functions are now at your disposal again.
♪: The Overdub button has no effect while Control mode is active.