*Draft Documentation*

The Custom Control module is part of the Adroit Custom bundle.

The Custom Control module

This module is dedicated to scene management.

A scene consists of all the settings of the controls in your custom interface. There are 16 scenes labelled 1 through 16.

Although scenes sound similar to Voltage Modular variations they differ significantly. Unlike variations scenes support morphing, have a well-ordered and deliberately limited structure and only affect Custom Panel controls.

It is possible to use both scenes and variations at the same time but it’s strongly recommended that you avoid this until you have a full grasp of how scenes work.

Basic Operation

In the top left of the Custom Control module there are three large buttons for selecting a mode of operation and a large parameter knob that changes function depending on which mode is selected. Beneath these there’s a circle of LEDs that should help you visualize what’s happening.

Mode buttons, the parameter knob and the circle of LEDs

In DISCRETE mode scenes are distinct and independent snap-shots of control settings that can be accessed in any order. You can morph (interpolate) between any two scenes. The parameter knob controls the amount of time it takes to morph from one scene to another. At minimum setting scenes change instantly. At maximum setting a morph takes 25 seconds to complete.

In CONTINUOUS mode scenes are treated as an ordered collection that is accessed by a control voltage. Certain specific voltages exactly match particular scenes while intermediate voltages produce a blend between neighbouring scenes. When no control voltage is connected the parameter knob lets you manually sweep through the collection of scenes. When a control voltage is fed to the module’s CV IN socket the parameter knob works as an attenuverter.

In SEQUENCED mode scenes are treated as steps in a looping sequence. As the sequencer runs we repeatedly and smoothly morph from one step to the next over time. The parameter knob controls how quickly we move through the sequence. The sequencer can be free-running or synced to a DAW. You can use the mouse to adjust Custom Panel controls on the fly and such motion is recorded and played back when the sequence repeats.

Moving along the module to the right there is a 4 x 4 grid of buttons called a Scene Selector (you can also add a minature version of the Scene Selector to Custom Panel modules).

Scene Selector

In DISCRETE mode the Scene Selector selects which scene to morph to next. In SEQUENCED mode the Scene Selector shows which scene is currently active. When the sequencer is running any clicks on the Scene Selector buttons are ignored, however when the sequencer is stopped the buttons let you jump to a particular scene for editing. In CONTINUOUS mode the Scene Selector determines which scene corresponds to a zero volts input.

Beneath the Scene Selector there is a matching 4 x 4 grid of GATE OUTPUTS.

Gate Outputs

These sockets provide gate signals that can be used for a variety of purposes. The output corresponding to the currently active scene is 5 V while the rest are 0 V. A colored ring around a socket illuminates to show which output is 5 V.

To the right of the Scene Selector there’s a column of buttons for performing useful operations on scenes.

Scene Operations

INIT Resets all the controls in the currently active scene to their default values.

RANDOM Randomizes all control settings in the currently active scene.

NUDGE Moves all controls in the currently active scene by small random amounts.

COPY Copies all the control settings from the currently active scene to a clipboard.

PASTE Copies all the control settings from the clipboard to the currently active scene.

INIT ALL Resets all of the controls in all of the scenes to their default values,

LOCK is a toggle button that when engaged protects Custom Panels from accidental changes. Their labels can’t be edited and their right-click customization menus are disabled.

Finally on the right-hand side of the module there’s a MIDI INPUT that is normalled to the MIDI From Host output on Voltage Modular’s I/O Panel, a column of input sockets and a column of output sockets.

Discrete Mode

In DISCRETE (not to be confused with discreet!) mode you could think of scenes as being like individual preset memories. So when you change scene by clicking on a Scene Selector button all of the motorized Custom Panel controls (such as knobs and sliders) will change to whatever positions they had when that scene was last selected.

The currently selected scene is indicated by its Scene Selector button, LED (in the circle of LEDs) and the corresponding GATE OUTPUT ring all being illuminated.

In DISCRETE mode the parameter knob is labelled MORPH TIME and it controls how long it takes to morph (interpolate) from one scene to another. It can be set to anything between zero and 25 seconds.

No matter how far controls have to travel to get from their position in one scene to their position in another they will all arrive at the same time. So different controls will often move at different speeds.

In order to make morphing from one scene to another as smooth and natural as possible the motion starts gradually, accelerates up to top speed then decelerates as the destination is approached. This is called sigmoid interpolation but if required you can switch to linear interpolation using the Set interpolation option in a Custom Panel control’s right-click menu.

Technically sigmoid interpolation uses linear interpolation too but the interpolation parameter is processed by an S-shaped function in order to add acceleration and deceleration characteristics.

Pure linear interpolation produces a more robotic effect that you might sometimes prefer (although depending on the morph time and what you are controlling the difference might be so subtle as to be unnoticeable). There is also a Stepped interpolation option. This makes the control jump abruptly from one value to another exactly half-way though the morph period. This can sometimes be useful (for instance to force a change in oscillator tuning to jump rather than slide when morphing) but most of the time the default Normal interpolation option will be what you want.

The circle of LEDs shows the morphing in action. The LED for the old scene fades out as the LED for the newly selected scene fades in. When the MORPH TIME is set to a reasonably short period you’ll see this pattern all the time, however with morphing periods longer than a few seconds you might begin to generate interrupted morphs. This is when you change scene before the current morph has completed. Interrupted morphs are not a problem, in fact they can produce very interesting effects as they result in smooth transitions though areas of parameter space that you wouldn’t otherwise encounter.

When a scene change occurs while a morph is still in progress then a new morphing period begins and the currently interpolated settings are used as the starting point to plot a new interpolation to the new destination. This is shown on the circle of LEDs by the center LED lighting up to replace the LED of the previously selected scene. It’s in the center because the starting position of the new morph isn’t a scene, it’s wherever was reached part-way through the previous morph between the old scene (the one selected two steps previously) and the previously selected scene.

An interrupted morph can itself be interrupted by selecting yet another scene before it has completed, so we can go on a journey where we never actually land on a scene but instead explore the space between them.

So far we’ve been looking at selecting scenes using a Scene Selector (either the main one on the Custom Control module or a minature one on a Custom Panel module) but there are other ways of selecting a scene.

One is to add a Special Button to a Custom Panel (using the regular right-click menu). One such special button is the Scene button. This takes a scene as a parameter and when you click on the button it has the same effect as selecting that scene using a Scene Selector. There are several benefits to this as you can place such a button anywhere in your custom interface and label it with any text you like. Also if you right-click on the button you can select MIDI Learn and assign a MIDI event to it. You could then for instance also select scenes by pressing particular keys on your MIDI keyboard or physical buttons on a MIDI controller. The same technique can be used to change scenes by sending MIDI from a DAW.

There are quite a few Special Button types that allow the functionality of the Custom Panel and Custom Control modules to be extended. We’ll discuss then in detail later.

Another way to select a scene is by using the module’s CV IN socket. When in DISCRETE mode if a cable is plugged into CV IN then clicking on a Scene Selector button no longer changes the scene (unless the special MANUAL button discussed elsewhere is engaged) , instead the voltage fed to the socket determines which scene is selected. A 0 V to 5 V range is divided into 16 zones with the bottom zone mapping to scene 1 and the top scene 16. Unlike in VOLTAGE CONTROLLED mode this voltage doesn’t ever select a blend between neighbouring scenes, instead it’s quantized and selects the destination scene for the morph.

One interesting idea is to feed the CV IN socket with a voltage from a Sample and Hold module that produces a stream of stepped random or pseudo-random voltages as this can produce constant morphing between random or pseudo-randomly selected scenes. If the clock period of the Sample and Hold is shorter than the MORPH TIME then the result is a never ending series of interrupted morphs that explore the parameter space between multiple scenes without ever actually arriving at any particular scene.

Continuous Mode

CONTINUOUS mode is similar to Sequenced mode but instead of the position in the sequence of scenes being determined by time, it is determined by a control voltage fed to the CV IN socket.

This mode enables modulation sources such as envelope generators and LFOs to sweep through the scenes producing complex evolving change. Human derived modulation such as velocity, aftertouch or mod wheel can of course also be used to make your patch extremely expressive.

When there is nothing plugged into the CV IN socket the parameter knob is labelled OFFSET and serves as a surrogate voltage that’s useful for testing purposes.

When a control voltage is fed to the CV IN socket then the parameter knob’s label changes to MOD DEPTH and the knob becomes an attenuverter. When fully CW a 5 V input acts as a positive 16 scene offset. When fully CCW a 5 V input acts as a negative 16 scene offset. When the knob is at 12 o’clock then the modulation is switched off.

The Scene Selector determines which scene a 0 V input will produce. Note that when the starting point set by the Scene Selector and the voltage offset are combined this can take the position beyond the normal 1 to 16 range but this is fine – things simply wrap around.

As in SEQUENCED mode the interpolator treats such wrap around nicely so there is no discontinuity as we go “through zero”. Also as in SEQUENCED mode, cubic spline interpolation is used by default with a per control menu option to select linear or stepped motion if desired.

CV IN voltages may be negative as well as positive. One way to think of the effect of the CV IN signal is that it rotates the current position about the “zero scene” set by the Scene Selector. Positive voltages rotate the position clockwise and negative voltages rotate the position counter-clockwise.

Note that in CONTINUOUS mode the illuminated Scene Selector button might NOT show which scene is currently active and therefore subject to editing operations. The GATE OUTPUT illuminated ring and the Circle of LEDs do however always show the active scene.

When editing in CONTINUOUS mode you may find the special MANUAL override button useful as it bypasses the effect of both the CV IN control voltage and the parameter knob. So when the MANUAL button is engaged it’s guaranteed that the Scene Selector shows the currently active scene. This is particularly useful when the CV IN socket is connected to something like the output of an envelope generator as it saves us having to unplug a cable in order to edit scene settings.

Sequenced Mode

In SEQUENCED mode we still morph from one scene to another but unlike in DISCRETE mode the morphing occurs at regular intervals in time and the next scene is automatically the next one in the sequence.

Without some intervention the scenes are always selected in ascending order and when we get to the final scene we wrap around and begin again. The LEDs in the circle of LEDs are arranged in a circle as the natural order in SEQUENCED mode is to go round and round the circle from scene 1 to scene 16 over and over.

If we applied the sigmoid interpolation used in DISCRETE mode morphing then control motion would be constantly accelerating and decelerating as we moved though the sequence, therefore cubic spline interpolation is used instead as this “draws” a smooth curve through all the points and produces a gentle flowing change in values that avoids unwanted acceleration and deceleration. The interpolator also considers that scene 1 is the natural successor to scene 16 so there is no discontinuity in the morphing as we complete the circle and begin again.

If desired you can select linear rather than cubic spline interpolation using a control’s Set interpolation right-click menu option. This produces slightly awkward motion with sharp edges and rapid changes in speed rather than a smooth curve. A third option is to switch interpolation off by selecting Stepped in a control’s menu. In this case the control jumps between steps/scenes like a conventional step-sequencer. Although for conventional step-sequencing you might prefer to assign each step its own dedicated knob, something we’ll cover later.

When nothing is plugged into the module’s SYNC IN socket then the sequencing is driven by an internal clock. The parameter knob is labelled TEMPO and it controls the rate of this internal clock and therefore how quickly we move through the scenes and how long the sequence lasts.

The BPM figure shown beneath the knob is based on the assumption that each sequencer step corresponds to an 1/8th note. It does not take into account any modulation of tempo created by sending a voltage to the CV IN socket.

As 120 BPM means 120 1/4 notes per minute this is the same as 240 1/8 steps per minute. So at a tempo of 120 BPM the duration of each step would work out as 60 seconds divided by 240, or a quarter of a second. Therefore a 16 step sequence will last for 4 seconds when the TEMPO knob is set at 120 BPM. You may often want a morphing sequence that lasts much longer than 4 seconds or you might be working at a microscopic level where you morph through 16 scenes in the span of a single very brief note, so remember that the TEMPO setting is just a guide for calculating the basic rate.

If a cable is plugged into the CV IN socket then the voltage applied is treated as 1 volt per octave and is added to the base tempo set by the knob. So if the knob is set to 120 BPM then a +1 V signal will increase the tempo to 240 BPM while a -1 V signal will reduce it to 60 BPM. Although the TEMPO knob already has a wide range you can use CV IN to explore extremely slow or audio-rate morphing.

When a cable is connected to the SYNC IN socket the internal clock is bypassed and the module expects to be fed a 96 PPQN (Pulses Per Quarter Note) sync signal. If you connect the SYNC socket on Voltage Modular’s I/O Panel to SYNC IN then the sequencing will be synchronized to your DAW’s tempo (or the tempo set on the I/O Panel if you are running Voltage Modular in standalone mode).

When the SYNC IN socket is connected then the parameter knob is labelled TIME DIVISION rather than TEMPO and it controls the ratio of the sequencer to the sync signal. It’s up to you to decide the ratio required. As you will often be working with 16 steps then the default TIME DIVISION setting of 1/8th notes will give you a sequence that lasts for two bars in 4/4 time, but the knob gives you lots of different options (including dotted and triplet divisions). The label beneath the TIME DIVISION knob shows exactly what ratio is selected.

When tempo-syncing to your DAW you’ll probably also want the Custom Control sequencer to start and stop at the same time as your DAW. To enable this, patch cables from the PLAY and STOP sockets on Voltage Modular’s I/O Panel to the PLAY IN and STOP IN sockets.

You may have noticed that there are no buttons on the Custom Control module for things like starting and stopping play when you are using Voltage Modular in standalone mode. That’s because when using SEQUENCED mode you’ll generally want to have such buttons as part of your custom interface. Therefore you add such features to Custom Panel modules using the Special Button extensions that we will discuss shortly.

There are three different approaches to setting control values for sequenced playback. One is to alter settings discretely by turning off the sequencing (by clicking on the DISCRETE button, a special STOP button or a special MANUAL button) and editing each scene independently. The second is to use multiple controls each set to a scene specific Scene Mode – so a 16-step value sequence would have 16 separate controls. We’ll cover this approach later. The third approach is to use the mouse to adjust a control while the sequence is playing and we’ll discuss this in more detail now…

When you “grab” a motorized control in Sequenced mode by left-clicking on it and holding the mouse button down, you override any motion already programmed into the sequence at that point in time. You can then move the control or hold it still and the new position will be recorded into the sequence. This motion recording only samples at the resolution of the number of steps/scenes in the sequence but if the 16-step sequence lasts for four bars this still amounts to a sample for every 1/4 note and the cubic spline interpolation does a good job of reconstructing nice smooth motion when the sequence replays. If the sequence only lasts for two bars then the motion recording resolution becomes 1/8th notes and can therefore capture quite a lot of detail.

As the sequence loops we can adjust a different control on each pass and so build up extremely complex automation patterns.

You’ll find each of the above techniques useful depending on the exact circumstances.

So far we’ve been considering the default situation where the sequence runs over all 16 scenes/steps but it’s possible to shorten the sequence length by patching a cable from a GATE OUTPUT socket to the RESET socket. For instance to obtain a 6-step sequence, patch the 7th GATE OUTPUT to the RESET socket then as soon as step/scene 7 begins the sequence will immediately jump to step/scene 1. To achieve semi-automatic selection you could use an Eight To One Switch.

An often superior alternative to using the RESET socket is to use one of several special button extensions that handle common sequencer patterns. The PATTERN A button limits the pattern to scene 1 through 8, the PATTERN B button limits the pattern to scene 9 through 16. The PATTERN AB button produces the default scene 1 through 16 behaviour and finally the PATTERN AAAB button produces a very useful fill pattern. The sequencer handles these buttons elegantly so it’s easy to switch between the patterns in a live performance situation without any timing glitches. For instance if you click on a PATTERN B button halfway through pattern A then the switch to pattern B happens automatically when pattern A has completed.

Note that the sequencer patterns have no effect in DISCRETE or CONTINUOUS modes.

Because various buttons that are not part of the Custom Control’s user interface have an important impact on its behaviour there are a series of LEDs in the bottom left of its panel that indicate the status of these buttons.

Input Sockets


This input is normalled to MIDI FROM HOST socket on Voltage Modular’s I/O Panel but you can feed MIDI from other sources to it if desired. All Custom Panel modules take their MIDI input from here. You can also customize how Custom Control interprets certain MIDI messages by using Special Button extensions discussed later.


In DISCRETE mode a voltage fed to the CV IN socket is used instead of the Scene Selector to select the next scene to morph to. The scenes are evenly distributed across a 5 V range so 0 V maps to scene 1 and 5 V maps to scene 16. The voltage is quantized to one of the 16 scenes. Intermediate voltages do not produce blends between neighbouring scenes (use CONTINUOUS mode if this is what you want). Out of range voltages are clamped so negative inputs are treated as scene 1 and anything above 5 V is treated as scene 16.

In SEQUENCED mode when there is nothing plugged into the SYNC IN socket then the CV IN socket is combined with the TEMPO knob setting. The calibration is 1 V per octave so a 1 V signal will make the sequence run twice as fast. There is no limit applied to the control voltage so you can use the CV IN signal to slow down the sequencer to extremely slow rates or in the opposite direction explore complex audio-rate modulation of multiple parameters.

Many modules will smooth (or low-pass filter) changes to their controls so there may be an upper limit to how fast you can remotely control most modules, however the CV outputs from Custom IO can run at very high frequencies when their Smoothing parameters are set to Off so there is another route to audio-rate modulation.

In CONTINUOUS mode a voltage fed to the CV IN socket is added to the base set by the Scene Selector and the result controls the interpolator’s position in the scenes. In this context the parameter knob is labelled MOD DEPTH and acts as an attenuverter. When the knob is fully CW a 5 V input will cause an offset of +16 scenes. When the knob is fully CCW -16 scenes. Negative CV IN voltages work in the same way but in the opposite direction. So positive signals appear as clockwise rotation on the circle of LEDs and negative signals appear as counter-clockwise rotation. Out of range results wrap around smoothly.


In DISCRETE mode a trigger sent to the RESET IN socket has the same effect as pressing the 1 button on a Scene Selector.

In SEQUENCED mode a trigger sent to the RESET IN socket resets the sequencer to scene 1. This is handy for limiting the sequencer to less than 16 steps. For instance if you want only 12-step sequences then patch the GATE OUTPUT for scene 13 to the RESET IN socket.

Note the morphing intepolator can’t predict when a reset might occur so can’t avoid a discontinuity. Therefore controls will jump when a reset occurs unless their start and end settings are the same.


In SEQUENCED mode a trigger sent to the PLAY IN socket immediately resets the sequencer to scene 1 and starts it running if it is stopped. To control the sequencer using a DAW connect this socket to the PLAY socket in Voltage Modular’s TRANSPORT section.


In SEQUENCED mode a trigger sent to the STOP IN socket immediately causes the sequencer to stop. To control the sequencer using a DAW connect this socket to the STOP socket on Voltage Modular’s TRANSPORT section.


In SEQUENCED mode the SYNC IN socket enables the internal sequencing clock signal to be replaced by an external one. In this context the parameter knob is labelled as TIME DIV and enables you to set the time division ratio between the external sync signal and the sequencer. The default (12 o’clock) setting is 1/8th notes.

To control the sequencer using a DAW connect this socket to the SYNC socket on Voltage Modular’s TRANSPORT section.


This input is configurable using a special button extension.

Output Sockets


In SEQUENCED mode the CLOCK OUT socket outputs a pulse when the sequencer starts and each time the sequencer advances to the next scene. All the clock outputs fall to 0V when the sequencer is stopped.


In SEQUENCED mode the CLOCK X2 OUT socket outputs a trigger at twice the clock rate.


In SEQUENCED mode the CLOCK X3 OUT socket outputs a trigger at three times the clock rate.


In SEQUENCED mode the CLOCK X4 OUT socket outputs a trigger at four times the clock rate.


In SEQUENCED mode the EOC OUT socket outputs a trigger when the sequencer reaches the end of its cycle. This is normally once the step corresponding to scene 16 has completed, but this can be altered using the Pattern special buttons discussed later. An EOC OUT trigger also occurs when a RESET is received.

EOC OUT can be used to keep count of how many repetitions of the cycle there have been. If you patch this socket to the STOP IN socket then the sequencer will stop playing at the end of its cycle.


This output is configurable using a special button extension.

Special Button Extensions

Some Custom Control functions are optional extras that are added using special buttons attached to Custom Panel modules. As well as simplifying the Custom Control module’s user interface you will often find that you want these button’s functionality to be part of your main custom interface rather than hidden off screen or as part of Custom Control. You can of course still put special buttons on modules that are normally hidden off screen.

You access the special buttons via the Add special button submenu of the Custom Panel main right-click menu. You can alter a button’s label to something more appropriate by double clicking on it or even hide the label if you prefer.

Most of these special buttons only apply in SEQUENCED mode.

SCENE Takes a parameter that is the scene to select when it’s pressed.

PLAY resets the sequencer to scene 1 and starts the sequencer running. Unlike the PLAY IN input socket the sequencer will not jump to scene 1 if it is already playing. If a stop is pending then pressing play will cancel it.

STOP Stops the sequencer when it comes to the end of the current sequencer cycle. The button flashes to indicate that a stop is pending. This button is useful in live performance situations as you don’t need to get the timing of the button press exactly right to have a tidy ending. Note the stop also stays on the final scene of the cycle rather than restarting so that settings remain stable while any sustained notes decay.

STOP IMMEDIATELY Stops the sequencer straight away without waiting for a tidy ending.

PATTERN A Makes the sequence pattern scene 1 through 8. This changes the sequencer’s end of cycle behaviour so the EOC OUT socket will output a trigger once the step corresponding to scene 8 is completed. Likewise if a stop is pending then the sequencer will stop playing after scene 8.

PATTERN B Makes the sequence pattern scene 9 through 16. After completing the step corresponding to scene 16 the sequencer jumps to scene 9 rather than scene 1.

PATTERN AB Makes the sequence pattern scene 1 through 16. This is the default setting.

PATTERN AAAB Makes the sequence pattern scene 1 through 8 repeated three times followed by 9 through 16. This changes the end of cycle behaviour so the EOC OUT socket will output a trigger only once the complete pattern is completed. The AAAB pattern is very useful musically for combining repetition with a fill.


RESET Immediately resets the sequencer to scene 1.

CONTINUE Begins play at the current position without resetting to scene 1.

NEXT Advances the sequencer by one step if it is stopped.

PREVIOUS Moves the sequencer back one step if it is stopped.

DIVIDE Is a radio button that takes a parameter that is the number of pulses to divide the 96 PPQN sync signal by. The default is 48 i.e. 1/8th note. This overrides the TIME DIVISION knob setting.

AUX IN is a radio button that takes a parameter that specifies the AUX IN function.

AUX OUT is a radio button that takes a parameter that specifies the AUX OUT function.

MIDI FUNCTION is a button that when engaged makes the sequencer respond to MIDI commands.


The Custom Control module takes things to another level by providing scene-based automation, morphing and sequencing.

Custom Control module

A scene consists of the settings of all controls in your custom interface. Individual scenes can be intialized, randomized or slightly nudged from their current settings at the press of a button. It’s also easy to copy one scene to another.

Although there are only 16 scenes available, the system for managing them is quite sophisticated.

Every control in your interface has its own Scene Mode setting (Motorized, Shared or specific to one of the 16 scenes).

Motorized controls move in real-time as scenes morph (as if they are driven by servo motors behind the panel). Because they move in real-time it’s easy to see what is going on and to perform intuitive live adjustments by simply “grabbing” a control with the mouse to override the effect of its “motor”.

Shared controls aren’t motorized and can be used for parameters that need to have the same value in all scenes.

Controls that are assigned to individual scenes allow you to build step-sequencers directly into the interface without having to use external sequencer modules.