Skip to content

Rhythmic modules

Christophe Lengelé edited this page Nov 29, 2023 · 40 revisions

1. Definition of the structure of the sequence of events

In the middle left of the sequence view, the window below allows to define the structure and rhythm of a sequence of events (if you do not see it, click on the [GEN (in red) / RTM (in blue)] button at the top right of the view, to change the view between rhythmic and more general controls) :

  1. Choose within the popup menu the number of events and the variation between the events. In the sequence below, the sequence has 16 events. Since the sum is exactly the same as the number of events, the onsets values are the same for all events. The more the sum is greater than the number of events, the more the onsets values between events will be different.
  2. Select the duration of the sequence (number of beats, according to the tempo of the control panel) with the slider in purple.
  3. Click on the Init blue button to initialise according to the parameters above.
Capture d’écran, le 2023-03-07 à 12 19 09

2. Time and density control

The tool allows to write rhythmic notation of each sound event within a sequence very accurately :

  • either in proportion through the method convertRhythm (see section 0),
  • or by randomising or drawing onsets proportionally or in absolute values within a multislider (see section 1). So, time control is not represented with x-time axis, but with multisliders, where you can draw a list of onset values or durations.
  • or by applying the Euclidean algorithm on the probability parameter (see section 2) with equal onsets, which enables to distribute onset patterns with certain constraints as evenly as possible to generate traditional African rhythms.
  • or via a topographic drum sequencer from the Eurorack module Grids, which has recently been integrated into the tool thanks to the port in C++ code by Mutable Instruments and then to SuperCollider code (https://github.com/capital-G/sc-grids).

ModuleRyhtme

Zoom on a part of the rhythm section within the Sequence view:

  • 0 : Proportional rhythmic notation (method convertRhythm).
  • 1 : Module that defines the onsets (time between events).
  • 2 : Module that defines the probability to trigger an event.
  • 3 : Multislider that defines the sequence of the onsets parameter, in this case, 8 values.
  • 4 : Rangeslider that defines the beginning and the end of the sequence of onsets.
  • 5 : Rangeslider that scales the raw data of the multislider.
  • 6 : Multiplier of the scale.
  • 7 : List of the 8 scaled onsets resulting in a sequence lasting 4 beats.
  • 8 : Algorithmic generator, with, in this case, an euclidean algorithm, where 5 out of 8 events are eventually played back in loop.
  • 9 : Playback slider bar within a sequence, positioned on the second event of the sequence, in this case, a rest of 0.5 beats.

3. Recent additions to play with rhythm (To improve)

Addition of multiple sliders and popumenu to control Sc Grids and Euclidean variations : ~proBjorGridsX, ~proBjorGridsY, ~gridsDens, ~proBjor3, ~proGridsBias, ~proBjor4, ~proWeight, ~proDrumType

Addition of multiple algorithm variations (Euclidean & SC Grids) in the popup menu of the module PRO :

1. Euclidean variations (visual feedback only at the end of the sequence) :

  • [14. EuWe] (args: proWeight [We], proBjor3 [H2]) : Euclidean algorithm with the probability to alternate with 1 depending on [We]. [H2] determines the duration of the Euclidean sequence.
  • [15. Eu2X] (args: proBjor3 [H2], proBjor4 [O2]) : Two Euclidean sequences alternating according to Pxrand. [H2] determines the hits and [O2] the offset of the second sequence.
  • [16. Eu2R] (args: proBjor3 [H2]) : Euclidean sequences, whose number of Hits are randomised according to Pwhite between [Hit] and [H2]
  • [17. Eu2S] (args: proBjor3 [H2]) : A list of euclidean sequences with a number of hits between [Hit] and [H2] whose order is randomised according to Pshuf
  • [18. Eu2W] (args: proWeight [We], proBjor3 [H2], proBjor4 [O2]) : Two euclidean sequences, where [We] determines the probability of the first euclidean sequence. H2] determines the hits and [O2] the offset of the second sequence.

2. SC Grids variations (As in SC Grids algorithm, proBjor3 [Bi] determines the bias and the proDrumType must be chosen between Kick, hihat and snare. There is visual feedback at the end of the sequence only when the button for slider playback is on Mul. It can also be changed via the code : 1. ~visuelSliderView.valueAction_(0); to be on Mul, or 2. ~visuelSliderView.valueAction_(1); to be on Sli.) :

  • [19. Grids] (args: proWeight [We]) : SC Grids with the probability defined by [We] to add notes (instead of silences) where the vertical RangeView determines the range of the volume, which is randomised.
  • [20. Gri_D] (args: proWeight, proBjor4 [Px]) : SC Grids taking into account the previous value and decreasing it according to the value of multiplication of [Px] and the same probability defined by [We] to add notes as in the previous algorithm 19. The best one to explore with the previous one.
  • [21. Gri_P] (args: proWeight [We], proBjor4 [Px]) : SC Grids randomised by a % determined by proBjor4 [Px] and the same probability defined by [We] to add notes as in the previous algorithm 19.
  • [22. Gri_R] (args: proWeight [We], proBjor3 [GX2], proBjor4 [GY2]) : SC Grids randomized between [GX] and [GX2] and [GY] and [GY2] and the same probability defined by [We] to add notes as in the previous algorithm 19 (no proBias since an additional slider would be necessary, and a little bug in visualisation since [Bi] is replaced by [GX2]).
  • More SC Grids variations or hacked variations ... see https://goodtohear.co.uk/tools/grids-sequencer

Also now possible to assign prepproU to other parameters like buffers and playback speeds

Clone this wiki locally