A simple iterative process with constraints

Hello All,
I am currently working through the basic OM tutorials and have a very basic question about how to go about creating an iterative process with constraints. If there is a tutorial available, please point me in it’s direction.

If not, what I trying to do is:

impose a rule on the augmented triad CEG# (or its inversion CG#E). As CEG# ascends, the G# can resolve either up or down a half-step.
If it resolves down, the next sequence would be GBD# (ascending) or GD#B (descending)
If it resolves up, the next sequence would be AC#F (or its inversion AFC#) and so on.
Just a chain of Aug. triads connected by half-step motion.
An example of a sequence rising which transposes CEG# up a few octaves (CEG# AC#F F#BbD D#GB CEG# etc.)

I’m hoping that I will be able to use OM to determine the number and contour of the sequences of triads will required to get from the initial CEG# to, say, GBD#.

Thank you!

Hi David,

I’ll translate your example to pitches in Z12 (C, C#, D, … , B —> 0, 1, 2, … , 11):

Up: (0 4 8) —> (1 5 9) (you’ve added 1 to every atom of (0 4 8) in Z12)
Down: (0 4 8) —> (3 7 11) (you’ve subtracted 1 from every atom of (0 4 8) in Z12)

What you request is quite straightforward to implement in OpenMusic once you translate it to pitches in Z12, I’m sure you’ll figure it out. Hint: check out Functions>MathTools>Groups.

All the best,

Hello António,
Thank you for your response! I will get to work.

Hello David,

as for a maybe different approach:
here is just a quick (and not too sophisticated) patch realizing the kind of concatenation you were sketching out via an iterative calculation.
Maybe you can go on from there.

Best Pre

asc desc.omp (11.7 KB)

… maybe a bit more sophisticated…

asc desc 2.omp (27.4 KB)

Thank you very much, Pre!