The Unified Modulation System

In sound synthesis, modulation is the idea that one component can influence another in a controlled way. For a simple musical example, think of vibrato (the subtle bending of pitch back and forth). To achieve this with synthesis, we often connect the output of a low-frequency oscillator (LFO) to a pitch input of an oscillator. The frequency of the LFO determines the rate of the vibrato, and the level of the LFO's signal determines the depth of the modulation.

Modulation can lead to elements that automatically change over time, based on assigned parameters and preexisting control sources. Some would say that modulation leads to more interesting and efficient results in sound programming. These are both good points.

In the days of modular hardware synthesizers, each modulation was highly visible as it was achieved by a patch cord properly connecting two modules. But in our era of computer-based music production, we see knobs on screen far more often than patch cords, and assigning (or even showing) modulations has become a real challenge. Many different interface models have been attempted, but no standard has been found.

Bitwig Studio has its own unique, program-wide method for dealing with modulations. This Unified Modulation System allows you to easily assign and edit modulations (so you don't get stuck with fixed modulation routings). It also preserves parameter control as often as possible (so the modulated parameter's knob can still be used, allowing you to easily shift the modulation range). Even the current value of a modulated parameter is visible with this Unified Modulation System.

In this section, we will explore the Unified Modulation System by learning to work with Bitwig Studio's unique modulator devices. We will then see the same principles used to assign modulations within an instrument.

Modulator Devices

While most systems require us to work around a fixed number of modulation sources — say, two LFOs, three envelope generators, perhaps some control over keytracking, and maybe a sidechain source for using external audio or note messages — these choices tend to be arbitrary and formulaic from the user perspective. Some sounds require no LFOs, and some require ten. In Bitwig Studio, these options are left completely open for the user.

Modulator devices are special-purpose modules that are made to be loaded into any device. Their purpose is to allow a particular method of control over device parameters. Types of modulators include:

  • Mappable interface controls, such as Button, Buttons, Macro-4, and Macro.

  • Standard sources of modulation signals, such as 4-Stage, ADSR, AHDSR, Beat LFO, Classic LFO, LFO, and Steps.

  • Methods for using incoming MIDI and note messages, such as Keytrack, MIDI, and Note Sidechain.

  • Use of external signals for modulation, such as Audio Sidechain, Envelope Follower, and HW CV In.

  • Options for using one signal to be split across multiple destinations, such as Select-4, Vector-4, Vector-8, and XY.

  • Interesting ways of blending control signals to create a signal modulation source, such as Mix (for crossfading two levels or signals) and Math (for creating more complex relationships).

  • A little bit of chaos, with Random.

[Note]Note

For descriptions of the modulator devices, see Modulators.

If you click the modulators button, the Modulators pane is toggled to be visible.

An empty modulator pane loads with three available modulator slots. If all modulator devices are loaded into all three slots, another three slots will appear, and they will keep appearing as often as you run out.

In the center of each modulator slot is an Add Modulator button. Clicking this button calls up a special version of the Pop-up Browser.

As we discussed before, the Pop-up Browser is context-sensitive, providing the most relevant options for the place we have invoked it. Calling it up from the modulator pane provides only modulator devices. Otherwise, the Pop-up Browser is working as we would expect it to, providing categories for the available devices and previewing any selected device in the Device Panel. And again, clicking Ok places the selected device onto the track.

To cut, copy, paste, duplicate, or delete a modulator: right-click the background of the modulator slot, such as the modulator's name.

Also note that the option to toggle modulators as Active or not is also present in this context menu. This is a good way to "bypass" a modulator for a moment.

In this example, we have selected the Buttons modulator. This device provides two controls which can be toggled to manipulated any assigned parameters. As each button is separately assignable, this device has two modulation routing buttons.

The modulation routing button resembles an output port with a patch cord coming out of it, awaiting connection. Clicking a modulation routing button switches to a mode where you can select as many destinations as you like, each with its own modulation amount. When enabled, the button itself begins flashing, all currently assigned destinations become brightly colored, and all potential destinations are shaded.

[Note]Note

When a modulator device possesses multiple modulation routing buttons, each button is sometimes represented by only the initial circle of the icon. An example of this is the Vector-8 device, which has eight modulation routing buttons spread along the sides and corners of a square.

To create a modulation routing: enable the modulation source's modulation routing button. Then click the target parameter and drag its value to set the point of maximum modulation.

[Note]Note

Because the modulation range is set relatively, the range displayed is also relative and does not directly correspond to the parameter's values. So you can twist the modulation range past the parameter's normal range, and this is correct. See the example below, targeting the Filter device's Resonance parameter with an LFO modulator.

You can assign additional parameters in the same fashion.

So in this EQ-2 example, we have a high-pass filter set around 80Hz and a bell filter bringing level down about 3dB around 3.6KHz. While button A of our Buttons modulator is off, those default values remain in place.

But when button A is switched on, its modulations kick in. This shifts the high-pass filter up, putting its cutoff frequency around 2KHz. The bell filter has its cutoff lowered a bit, its gain increased a great deal, and its Q increased slightly. The parameters and the frequency graphic all indicate these adjustments with a cyan markers showing the current state of things. (In an auditory sense, these parameter adjustments narrow and focus the frequencies being passed through.)

Buttons is a relatively simple modulator, offering a binary transition from one set of parameter values to another. Two points worth noting.

First, unlike the discrete behavior of Buttons, many modulators work in a continuous way, either transitioning smoothly between states or responding proportionately.

Second, many modulator devices have additional controls that don't fit within their allotted modulator slot. These modulators have a right-facing triangle on the middle of their right edge. When this button is clicked, a pane of additional modulator parameters is exposed.

It is also worth noting that all modulator parameters — both those present atop the modulator slot and those within the additional parameters pane — can themselves be targets of modulations.

Once modulation mappings are present, they can be manipulated and duplicated in myriad ways, either from the Inspector Panel (see The Modulation Sources Tab, Modulation Transfer Functions, and Modulation Scaling) or from the Device Panel.

To clear a modulation routing from the modulation source: right-click the source's modulation routing button, and then click the x icon to the left of the desired parameter.

To clear all modulation routings from a modulation source: right-click the source's modulation routing button, and then select Delete.

[Note]Note

The cut, copy, and paste options from the context menu above also apply to all modulation routings, allowing you to move all listed modulation routings between different modulators. Additional options for dragging and copying modulation routings are available from the Inspector Panel (see The Modulation Sources Tab, Modulation Transfer Functions, and Modulation Scaling).

Modulation routings can also be removed from the parameter being targeted.

To clear a modulation routing from the parameter under control: right-click the parameter. Under the MODULATION ROUTINGS section of the context menu, find the desired modulation source and click the x icon at the far right.

Modulations within a Device

Several devices have their own built-in modulation sources. Instrument devices are the best examples so let's look at Bitwig Studio's synthesis flagship, Polysynth.

Two on-board control sources are available here, both representing control modules within Polysynth. FEG (filter envelope generator) is hardwired to the filter's cutoff frequency, just as AEG (amplitude envelope generator) controls the volume amplifier of the instrument.

The presence of a modulation routing button on each of these envelope generators suggests that they can also be used for other modulations. Clicking on one of these buttons enables a modulation routing mode, similar to how it worked with modulator devices.

In fact, all behaviors related to connecting, editing, and clearing modulations work exactly the same in all contexts. (This is the virtue of a unified system.)

One difference in the example above is that the modulation routing buttons (for FEG and AEG) as well as all available target parameters are tinted light green. In the previous section's modulator examples, everything was tinted blue. These subtle shadings do indicate a small but critical difference.

The blue color here indicates a monophonic modulation. In the context of modulation sources, a monophonic source generates only one control signal that is then applied to all targets identically (musically speaking, unison).

But a green color indicates a polyphonic modulation. Polyphonic sources produce multiple control signals, potentially providing a unique signal for each note event (musically speaking, divisi). This is the same idea we experienced with expressions before, where each note contained its own, concurrent curve.

As with musical instruments, polyphony and monophony represent two distinct palettes. This is to say that there is no "winner" between the two; in different cases, each paradigm is preferable. And in Bitwig Studio, we sometimes get a choice between the two.

By adding an LFO modulator device to Polysynth, it and its potential destinations will appear in blue.

Because of Bitwig Studio's per-note modulation capabilities, modulators such as this LFO can be switched to a polyphonic mode.

To toggle a modulator between monophonic and polyphonic mode: right-click anywhere within an occupied modulator slot, and then toggle the Per-Voice option.

Once the Per-Voice option is enabled, this modulator will begin working in polyphonic mode.

Finally, while nested devices can be modulated from the top-level device, polyphonic modulation sources are usually made available as summed monophonic signals. An example can be seen here, with the FEG module monophonically targeting a nested De-esser device.

Devices in the Inspector Panel

When a device is selected and the Inspector Panel is visible, modulation sources and active modulation routings are the primary parameters being displayed, but a few other parameters are uniquely available in the top of the Inspector Panel.

Displayed at the top are the device's name (and category) along with a short description. After these read-only entries are three standard parameters:

  • First is a text field for the name of the device. By default, the official name of the device is shown in italicized silver. This can be overridden by typing a name into the field. Deleting an entered name restores the device's official name.

  • The Active option toggles whether the device is currently active or deactivated.

    [Note]Note

    For more information on activating and deactivating project elements, see Deactivating Tracks.

  • The Enable toggle is a functional mirror of the device's device enable button.

Beyond these standard parameters, each device has its own parameters in the Inspector Panel. To make sense of the range of possibilities, we will look at various examples now, starting with voice parameters for Bitwig Studio instruments and MPE options for plug-ins. Then we will examine the two modulation-related tabs for general devices and a modulator device that has inspector parameters.

Voice Parameters for Instruments

Several of Bitwig Studio's instruments feature a variety of voice-related parameters in their inspectors, just below the standard device parameters.

The Voices setting determines the number of triggerable voices. When this is set to two or more, the instrument is capable of polyphony. This also engages voice management, which means that each voice is only active from the time a note-on signal triggers it until the voice is considered finished. So the Active Voices readout above is showing that zero out of twelve (0 / 12) potential voices are currently engaged, and it will remain so until a new note successfully triggers the instrument.

When Voices is set to one, the instrument is now in one of two monophonic modes, which the display is indicating by showing Mono.

True Mono mode acts similarly to a monophonic analog synthesizer, including the behavior of trigger-based envelopes and the fact that the voice in use is always on, reflected in the Active Voices of 1 / 1 in the image above.

On the other hand, Digi Mono mode acts like a modern monophonic recreation. All envelopes start from the beginning of the attack stage because two voices are actually alternated here to create a slightly overlapping version of mono. And since using two voices is technically polyphonic, voice management is engaged, just as the Active Voices of 0 / 1 in the image above indicates.

[Note]Note

Any of the three voice modes can work with voice stacking, which simply multiplies each engaged voice with additional voices (see Voice Stacking).

Additionally, either Mono mode offers Retrigger options for legato playing (either starting or releasing a note while another note is being held). These options dictate whether envelope generators will retrigger Never, only on Note on signals, or on both note-on and note-off signals (Always).

Finally, the Steal same key option allows each note played to kill any voice previously triggered by the same note over the set Steal fade time.

Plug-in Inspector Parameters

When a plug-in is selected, the Inspector Panel shows a few options.

The Suspend option sets how Bitwig Studio determines when the plug-in is not needed and can be safely suspended for the time being. (When this occurs, the plug-in's "power" button icon turns into a moon, indicating that it is resting and saving CPU cycles.) There are three options for this setting:

  • Never - The plug-in remains active perpetually.

  • When silent - Bitwig Studio determines when the plug-in isn't needed, based on whether audio is going into and out of the plug-in.

  • Trust plug-in (default) - Bitwig Studio uses background notifications from the plug-in to determine when it is not active.

When the plug-in is enabled to Use MPE (multidimensional polyphonic expression), the functional pitch-bend range (PB range) can be set in semitones. So the example above of ± 48 semitones represents a range of four octave up and down. For more information on plug-ins and MPE, see VST Plug-in Handling and Options.

The Modulation Sources Tab, Modulation Transfer Functions, and Modulation Scaling

The modulation sources tab is the first tab. Its icon suggests a parameter that is continuing onward in modulation.

Each modulation source of the selected device is listed here, along with a functional modulation routing button.

Beneath each modulation source entry is a list of all active modulations coming from that source. The amount of modulation is shown in orange at the far right and can be adjusted here. The silver x that precedes the parameter name on the far left can be clicked to terminate the modulation. (And shown before each modulation amount is a faint graph, which we will discuss at the end of this section.)

In addition, you can also deactivate modulations (like bypass) as well as move modulations from one source to another.

To toggle whether a modulation is active or bypassed:SHIFT-click on the text of any modulation routing listed in the Inspector Panel. (You can also right-click on the modulator routing button, and then SHIFT-click on a modulation listed in the context menu.)

To toggle the active/bypassed state of all modulations from one modulator source:SHIFT-click on title of the modulator source in the Inspector Panel.

To move a modulation routing from one modulation source to another: clicking on its silver name, then drag it onto a different modulation source and release.

In the image above, for example, you could drag the Gain entry listed under ADSR to Keytrack instead. Now incoming note pitches would be manipulating the Gain value.

To copy a modulation routing from one modulation source to another: clicking on its silver name, and then drag it onto a different modulation source and release while holding ALT.

And to move or copy all modulation routings from a particular source, click on the source's title in white (in the above example, ADSR would work) or its modulation routing button. Note that the available actions listed in the window footer (see Available Actions) provide helpful reminders of what drag actions are available. Similar actions are also available in the Device Panel when ALT-dragging either modulation routing buttons or target parameters themselves. Again, the available actions serve as a very helpful reference in that case as well.

Now back to those faint graphs, which are shown for each modulation and do become a bit brighter when hovered over.

This little graph is actually a dropdown menu of modulation transfer functions (or curve options) that can be set for each individual modulation connection.

Let's expand a little on each of these modes:

  • Linear (bipolar) - Flat response, applying each modulation directly as it is received from the source. As this has no effect, mappings set to Linear (the default) appear slightly dimmed in the Inspector Panel.

  • Positives (unipolar) - Proportional response to positive values. All positive incoming modulator values are sent out in the positive domain; all negative values coming in are zeroed out.

  • Negatives (unipolar) - Proportional response to negative values. All negative incoming modulator values are sent out in the positive domain; all positive values coming in are zeroed out.

  • Absolute (unipolar) - Magnitude-only response. All positive incoming modulator values are sent out in the positive domain; and all negative incoming values are also sent out in the positive domain.

  • Toward Zero (unipolar) - Increases on approach to zero, mapping both the extreme values (-1 and +1) to zero and incoming 0 values to +1.

  • Exponential (bipolar) - Increasing slope away from zero, creating a more gradual curve between zero and either extreme. This curves the signal to reach the positive and negative maximums less often.

  • Logarithmic (bipolar) - Decreasing slope away from zero, creating a quicker curve between zero and either extreme. This curves the signal to reach the positive and negative maximums more quickly.

Also note that when in a modulation routing mode, modulations coming from other source are shaded in the Inspector Panel, indicated that these can be modulated as well.

In the above image, the Vel(ocity) source of the note Expressions modulator is currently in mapping mode. Since the three modulations active in this Test Tone device (with the user name Carrier) are coming from other sources, they are all potential modulation targets. This modulation scaling feature allows one modulator source to scale the output of any individual modulation connection. So by clicking on the modulation of the Gain parameter from the ADSR modulator, each note velocity will now scale the depth of modulation.

The two new listing in the Inspector Panel indicate that a modulation scaling is taking place. And if the ADSR was then used to modulate a different parameter, that new connection would not be scaled by Vel(ocity) as these scalings can be done per-modulation.

[Note]Note

In case one modulation connection is using both a transfer function and modulation scaling, the transfer function is applied first, followed by the modulation scaling.

The Modulation Destinations Tab

The modulation destinations tab is the second tab. Its icon suggests a parameter that is being modulated.

Each parameter being actively modulated in the selected device is listed here.

Beneath each parameter is a list of all active modulations reaching that parameter. The amount of modulation is shown in orange at the far right and can be adjusted here. And the silver x that precedes the parameter name on the far left can be clicked to terminate the modulation.

Similar options are also available in this tab for moving or copying modulation routings from one destination to another (see The Modulation Sources Tab, Modulation Transfer Functions, and Modulation Scaling).

Modulator Inspector Example

Each modulator has its own Inspector Panel as well.

Each modulator shows its modulation sources and mappings, but Expressions happens to have a couple of parameters as well.

Voice Stacking

Before diving into Voice Stacking, a little context regarding polyphony is in order.

Synthesizers that can play more than one note at a time generally use one voice for each note being triggered. So the number of voices available to the synthesizer limits how many notes can be played at a time.

Unison is a classic synthesizer technique for creating thicker sounds. It works by layering multiple voices for each note played (and slightly adjusting some settings for each voice in an imperfect, analog fashion). So if a synthesizer has a two-voice unison mode, each note played will sound two detuned voices. This would help thicken the sound while also reducing the number of voices (or polyphony) available.

Bitwig's Voice Stacking starts from the same principle, allowing you to layer multiple voices for each engaged played. Each stack can then have any parameter varied per voice, either individually or in a distributed fashion.

[Note]Note

Devices that support Voice Stacking include Bitwig Studio's FM-4, Phase-4, Polysynth, Poly Grid, Sampler, and even the FX Grid audio effect.

As multiple voices are being used for each single note played, voice stacking can steeply increase the load on your processor.

In the Inspector Panel of the selected device, Voice stacking is right beneath the Voices setting. So if Voices is set to 5 and Voice stacking is set to 3, then you can play up to five notes, and each will have three unique voices sounding together. As the device shown above currently has no engaged voices, the Active Voices are listed as 0 / 15.

The first modulator available below in the Inspector is Voice Stack Spread ±. Assigning this modulation source to a parameter spreads each voice in the stack in an even, bipolar fashion across the modulation range. Let's take an example case.

In the image above, the Stack Spread modulator is targeting the pulse width of oscillator 2. The modulation amount is currently +0.10. So with our setting of 3Voices per note, the range of modulation is spread across these three voices so that voice 1 is modulated by -0.10, voice 2 is unmodulated (+0.00), and voice 3 is modulated at the full +0.10. If the number of Voices per note is changed, the full range of -0.10 to +0.10 will be maintained, and the spacing between the voices will uniformly fit that range.

[Note]Note

Additional options for either mapping modulations across voice stacks or for controlling each voice in a stack individually are available from the Voice Stack modulator (see Voice Stack).

Was this helpful?

Please login to give your Feedback.
Login