Difference between revisions of "Tutorial: Using Time Based Parameters"

From MOD Wiki
Jump to navigation Jump to search
(first draft)
 
 
(5 intermediate revisions by one other user not shown)
Line 13: Line 13:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! cabeçalho 1
+
! abbreviation
! cabeçalho 2
+
! name
 
|-  
 
|-  
 
| Hz  
 
| Hz  
Line 32: Line 32:
 
|}
 
|}
  
Note on Hz...
+
=== 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 ===
 +
 
 +
At the bottom of the screen, click on the Transport control: [[File:transport-button.png]]
 +
 
 +
 
 +
This will open the Transport Control dialog:
 +
 
 +
[[File:transport-control.png|400px]]
 +
 
 +
 
 +
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)
  
=== How do I know if a parameter is time-based or not? ===
 
  
 +
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''' -
 +
 +
 +
You can also assign the BPM control to any actuator, such as a Footswitch that will perform as Tap Tempo):
 +
[[File:assign-global-bpm.gif]]
 +
 +
 +
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:
 +
 +
[[File:sequencer.png]]
 +
 +
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:
  
=== Addressing a time-based parameter to an external control ===
 
  
knobs or footswitches tap tempo
+
[[File:address-1.png|400px]]
  
  
== Using the global tempo ==
+
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.
  
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 it's time synced to the same beat!
+
You can also choose the interval you want to translate the tempo to.
  
This can be achieved using the Global Tempo.
 
  
Here is how to use it:
+
* '''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...
  
. turning transport on
 
.. address global tempo control
 
  
. address parameters to musical interval
+
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.
.. note that its not sync
 
.. address interval
 
  
. choose sync source in sequencers
+
'''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.

Latest revision as of 22:39, 9 March 2020

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.

Getting started

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:

abbreviation name
Hz Hertz
ms milliseconds
s seconds
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

At the bottom of the screen, click on the Transport control: Transport-button.png


This will open the Transport Control dialog:

Transport-control.png


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 -


You can also assign the BPM control to any actuator, such as a Footswitch that will perform as Tap Tempo): Assign-global-bpm.gif


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:

Sequencer.png

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:


Address-1.png


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.