The modulation system

the modulation system

A new modulation paradigm.

In Atelier just like on modern modular synthesizers, all parameters (sliders, cursors, buttons etc.) can be modulated. But Atelier's polyadic modulation system goes far further than its analog parent, offering a new paradigm to interact with your modules. It is the key to constructing living, evolving patches, provoke surprises and program complex interactions.

Animate a whole family of parameters in one click, let complex random movements guide your explorations (Agitation), construct tailor-made macro-controls for live interaction (Control), or trigger advanced envelopes with customizable contours (Peak)... If the modules of Atelier are its sound-processing heart, the modulation system is certainly its brain.

Features

GRM Tools Atelier Chladni 08Polyadic: each destination is its own independent modulation engine

GRM Tools Atelier Chladni 07Accumulatable: scale and sum as many modulations to a single parameter as wanted

GRM Tools Atelier Chladni 06Composable: all modulators parameters are themselves modulatable, polyadically

Getting started

Modulation is a classic technique from analog synthesis (also known as CV): instead of moving a parameter manually, a modulator generates a signal that moves it automatically. You may for instance modulate the gain of some audio input with a sine LFO (low frequency oscillator) to get a tremolo effect.

 

GRM Tools Atelier Modulation tremoloGRM Tools Atelier Modulation tremolo

 

 

Click the "+" button in the bottom row of the interface to instantiate a modulator (e.g. Agitation). Each modulator has a handle in the top right corner (colored round); drag a wire from the handle to the parameter of your choice to make a new connection.

Once a connection is made, the parameter is modulated relatively to its nominal value (the current position of the slider, the state of the button etc.). Its actual value is displayed as a small grey dot on sliders and buttons. Hovering over a modulated parameter shows a popup where one can scale the modulation, or remove a connection.

Hovering over a modulator's handle displays its outgoing wires. Hold "w" or press the "Show all connected wires" button in the status bar to see all wires.

 

Note

Because of their polyadic nature, modulation feedback loops do not make sense (they would require infinitely many parameter instances). The signal path of modulations must therefore be loop-free; Atelier will warn you whenever your patch involves a feedback loop.

Polyadic modulation

In Atelier, all modulations are polyadic: if a modulator is connected to several destination parameters, each destination gets its own independent modulation engine. Each of these modulations, while sharing the modulator's parameters (speed, amplitude etc.), can have its own internal phase, random state, etc.

Try connecting the same modulator, say, an Agitation, to two different parameters: the two parameters will be agitated differently. Changing, say, the agitation's frequency will act on the two parameters, but the random trajectories of each modulations will stay independent.

 

GRM Tools Atelier Same modulation different engineGRM Tools Atelier Same modulation different engine

 

This is in stark contrast with classic modulation in analog synthesis: if one was to patch a single source of modulation (e.g. an LFO) into several destinations (by multing its output), each destination would receive the exact same LFO signal. This new paradigm opens up a wealth of workflow improvements and discovery avenues that would be difficult to imagine traditionally.

Parameter instances

Moreover, when a single parameter actually controls several things at once, each of these things is modulated independently: parameters can have several instances. For instance, the Ratio slider in Gen applies a ratio to all oscillators' frequencies; if there are three oscillators enabled, Ratio has three instances: agitating Ratio will agitate the three actual ratios independently.

 

GRM Tools Atelier Three instancesGRM Tools Atelier Three instances

Accumulating modulations

 

A parameter can receive several connections from several modulator (and even from the same modulator). Just drag several wires to the same parameter; modulations are summed together, and the parameter's popup displays the list of connections. Each connection has its own range (-200% to 200%).

 

GRM Tools Atelier AccumulationGRM Tools Atelier Accumulation

Note

The 100% range of all modulators is able to span the entire range of a parameter, either bipolarly (plus or minus half the range), or unipolarly (0 to full range). If at some point the sum of the nominal parameter value and all its modulations exceed the limit of the parameter, it is clamped to the limit.

 

Note

On/off buttons (like Play's play/pause buttons) can also be modulated, but they differ from continuous parameters: if the sum of their modulation is positive, their actual value is the same as their nominal value (the state of the button); if it is negative, it is inverted.

 

Modulating the modulators

All modulators parameters are themselves modulatable: just drag a wire from one modulator to another modulator's parameter. These connections themselves are also polyadic: A modulator parameter has as many instances as there are connections going out of it. In other words, if a modulator's parameter is in turn modulated, each of its destination will spawn an individually-modulated modulator!

 

GRM Tools Atelier Modulating the modulatorsGRM Tools Atelier Modulating the modulators

 

For instance, if three oscillator in Gen have their pitch modulated by the same agitation, and another agitation modulates its frequency, then each of the three pitch modulations will see its frequency agitated independently.

 

Note

Because of their polyadic nature, modulation feedback loops do not make sense (they would require infinitely many parameter instances). The signal path of modulations must therefore be loop-free; Atelier will warn you whenever your patch involves a feedback loop.

 

Tips & tricks

Brownian agitation

 

Make 3 Agitations, and set them up with increasing frequencies (say, 0.1 Hz, 1 Hz and 10 Hz) and decreasing amplitudes (say, 60%, 30% and 5%). Now modulate a parameter with these three; the three agitations are summed together and result in a multi-scale agitation: large, smooth movements are combined with smaller, faster one. Increasing the number of agitations involved, we get closer and closer to what is known in physics as brownian motion (see also Perlin noise).

 

GRM Tools Atelier Brownian agitationGRM Tools Atelier Brownian agitation

Multiple connections

 

What happens if we connect a modulator, say an Agitation, to the same parameter multiple times, say 5 times? Each connection spawns an independent random oscillator, and they are all summed together. Let's reduce the amplitude to 20% (1/5th of 100%) so it does not risk clamping the parameter. The sum of all agitations is a random signal that has more chance to be found around 0 (close to the nominal parameter value), much like rolling 5 dices and summing the figures will get you a number likely close to 15 (5 * 6 / 2).

Got it? Now try to predict what will happen with a Peak set to 50% chance of triggering.

GRM Tools Atelier Multiple connections trickGRM Tools Atelier Multiple connections trick