Tutorial: Using Time Based Parameters
In this tutorial we are going to show how to use time-based parameters.
We will begin by showing the basics on how to control these parameters and then show how to use the Global tempo options, which will sync all plugins in your pedalboard to the same beat.
Time-based parameters are any parameter that has a value indicating a time span. This could be, for example, a parameter that has values in BPM (Beats per Minute) or Hz (Hertz = cycles per second).
For example, it is common that Delays have a "Time" setting which is usually presented in ms (milliseconds). Also, sequencers have a speed configuration which is usually set in BPM).
The time-based units used by plugins and supported by MOD are:
|bpm||beats per minute|
Addressing a time-based parameter to an external control
Each plugin is responsible for informing the host (MOD) about how each of its parameters can be handled.
If a plugin informs the host that a parameter is time-based, you will be able to assign it to knobs just as you do with any other parameter.
You can also use a footswitch or a pushbutton as a Tap tempo to control time-based parameters. To do so, you will have to translate the value to the global musical tempo and assign the global tempo BPM control to the desired switch/button. Check the next section for details on how to do this.
Using the global tempo
Sometimes you want to sync all your plugins to the same beat.
For example, if you are using more than one sequencer and you want them to play along exactly at the same time.
You could also have a delay somewhere that you wanted to have its time synced to the same beat!
This can be achieved using the Global Tempo.
Setting up Global Tempo
This will open the Transport Control dialog:
By default, the transport is stopped, you can start it by clicking on the "PLAY" icon in the "Transport" section. (Note that you can also assign this play/stop control to any actuator)
Once the Transport is on, it will broadcast the beat and plugins will be able to listen to it.
There are three types of Sync modes:
- Internal - The beat is generated internally by MOD. The speed is controlled in the "Beats per minute" section in this same Transport Dialog.
- MIDI - The beat is generated by an external MIDI device. The speed is controlled in the MIDI device and MOD only forward it to all plugins
- Ableton Link -
Now that you are broadcasting the beat, it can be used by plugins.
Syncing to Global Tempo
Some plugins implement the Sync to Transport themselves. For example, Sequencers usually can be synced to the Host tempo. See this example:
Note how you can either set the tempo manually or press the "Sync" button. When the Sync is on, the sequencer will follow the global tempo.
Translate values to musical tempo
Some plugins do not implement sync with the Global Tempo, but since they declare their parameters as time-based, MOD gives you the option to translate this value to the Musical tempo broadcasted by the Transport.
The difference between "sync" and "translate" is that when you sync, you are not only synchronizing the tempo, but also the phase. Synchronizing the phase is important for plugins such as sequencers, so that multiple sequencers can start at the exact same time, making sure that each sequenced trigger stays in sync and that the phase doesn't drift over time.
When you translate a parameter to a musical tempo, you are just setting the parameter value to a subdivision of the host tempo, without considering the phase.
When you click to assign a time-based parameter to an actuator, you will notice some extra options:
Once you checked to translate the value to musical tempo, you will notice that the value will automatically change when you change the Global tempo.
You can also choose the interval you want to translate the tempo to.
- 1 means the beat itself
- 1. means the dotted note
- 1/2 means 1/2 note
- 1/2T means 1/2 note triplet
- 1/2. means 1/2 dotted note
- and so on...
You are still able to assign this translated parameter to an actuator. In these cases, you are actually assigning the control of the subdivision, and not the value itself.
Important: It's up to the plugin to correctly inform MOD that one (or more) of its parameters supports this. If you see a parameter that you think is time-based and should support this option, please report it to the plugin author.