The user-assigned name of the groove.
The duration in ticks of the period of the groove. The groove's mapping repeats after this duration. The interval always starts at time 0.
1920 ticks = 1/8 bars
| key | value |
|---|---|
| default | 1920 |
| range | [960, 15360] |
The groove function that transforms time, parametrized with the impact field
below. A groove function is generally defined in the interval [0, 1] and
linearly mapped to the actual groove duration defined below.
The precise formulas for the mapping are fairly complicated, below just a high level description:
| key | value |
|---|---|
| default | 1 |
| range | [1, 3] |
The impact value of the groove. 0 means no impact, 1/-1 means full impact in somewhat-but-not-quite opposite direction, depending on the function index.
| key | value |
|---|---|
| default | 0 |
| range | [-1, 1] |
"groove"A groove is a function that maps time values in a monotonically ascending way, i.e. for a groove g, it holds u > v => g(u) > g(v).
The groove can be "applied" to the start times and durations of events, such as note, automation events, or pattern events. For a simple example, a groove applied to a pattern device can create a feel of swing or shuffle.
Grooves map values in a period, so that the "rhythm" repeats every period. The first period of any groove starts at time 0.
Various entities in the document have optional pointers to a groove. If that pointer is set, the audio engine applies the groove to the entity's events.
The config has a required pointer to a groove that is the "default" groove, which is automatically applied to many entities created in the DAW.