< Back to IRCAM Forum

Creating embedded tuplets algorithmically

Hi,
I have a question regarding embedded tuplets. (See attachment.)

I have a sequence of proportions (1 2 2 1) which I am using to create a rhythm tree using pulsemaker. How would I go about getting OM to take each one of these proportions and convert it into a further series of proportions (eg. (1 3 1)) to create an embedded tuplet. The example on the right converts the second proportion to an embedded tuplet manually. However, I would like to do this algorithmically, where the system would make two decisions:

  1. Convert to second layer tuplet - yes or no
  2. If yes, convert to tuplet using proportions selected from a list of possible proportions.

I hope I have described my process clearly. Any pointers would be much appreciated.

Thanks,
Peter

Apologies - new users can’t upload attachments…

Dear Peter,

First very sorry for this silly and absurd limitation concerning the attachments.
I will assume that i nearly understood your question.
So here it is:

We will use subst-rhythm function (functions->score->trees) for this.
Starting with a one measure voice, and a loop which will be our algorithmical “manager” :slight_smile:


The loop will prepare our embedded proportions on each expressed note of our voice:

t-> insert tuplet
nil-> leave it as it is.

Here is the patch:
Patch 7.omp (16.9 KB)

Hope this helps and that next time you post you will have the privilege to post attachments :wink:

Best
K

1 Like

Hi Karim,
Many thanks for your help - your example and explanation were most helpful.

You did indeed understand the core of my question. I have included your example combined with my patch to explain a slightly different application of the t/nil choice I am aiming for. [EDIT: I am still unable to include attachments]

I would like the omloop, at each point in the original rhythm, to make a choice whether to change that time-point (so t or nil using, for example, a coin toss or other random process) and create an embedded tuplet proportion as opposed to simply running through a static list of three values (t nil t) and stopping there. So the possibility of transforming a note into a tuplet is present at every time-point in the list.

Does that make sense?

Also, does it add any value to the process to use pulsemaker as I do in the example?

Thanks,
Peter

Maybe this will do ?
By changing the loop computation:

Here is the patch:
embeded_tulet_algo.omp (37.7 KB)

Best
K

That is exactly what I was looking for. Many thanks indeed!
It may take me the remainder of the year to take your patch apart to learn how it is put together!

Hi Peter,

Here’s another way, totally random, and without the power of omloop.

best,
rc

1 Like

Many thanks for that suggestion.

Sorry to trouble you with another question but could you explain what om-random is doing here? It chooses a number between 1 and 4. How is that choice then used?
Many thanks,
Peter

Dear Peter,

If i might explain:
It’s permut-random that will randomize the positions of the output of arithm-ser which is 0 to n-number of pulses minus 1. Which means it could be any arithmetical series but shiffled. then the om-random will pick n-first numbers.
In brief, to understand a lisp patch/code it is good to start looking from output to source (ie in om patch start looking from subst-rythm and upwards.)

I hope my explanation is not shuffled :-))

Best
K

Thanks for the explanation!

Hi, sorry for the late reply and thanks K for the explanation!
Indeed, the om-random ‘decides’ the quantity of rhythms to substitute.
best,
rc