Sorry, no code yet. Just problems in need of a solution.
I planned to participate in last week’s Disquiet Junto involving a musical palindrome. During research, I was reminded of Bartok’s palindrome in Music for Strings, Percussion, and Celesta (1936), 3rd Movement (Adagio). The xylophone part has an interesting 4 bar rhythmic pattern in a palindrome format.
As I thought through how to make use of this pattern, I thought about using Teletype to script out the pattern. And… problems ensued.
Wondering if anyone has a suggestion for how to approach scripting note divisions? The Bartok pattern has quarter, eighth, sixteenth, triplet-eighths, and triplet-sixteenth note values. I initially thought about placing the values in a TT pattern in millisecond values, but could figure out how to assign those to the M value.
I appreciate TT’s simplicity. Still, without nested/bracketed loop and decision structures, I’m at a loss how to solve this problem.
Any ideas?
EDIT Later:
After a couple days of talk and me mostly scratching my head, @tambouri came up with an appropriate solution. It makes of of TT’s ER operator, added to the mix by @sam Thi sis an ingenious solution to creating a quite complex rhythmic pattern in TT. I hope by placing it up top, it will encourage others to take a look at the ER operator.
Solution (only requires a trigger to jack 1 - a quite fast trigger to really hear the pattern.)
INIT :
SCRIPT 2 // sets X and p.n 0 location
TR.TIME A 25 // just a value that worked for me
SCRIPT 1:
P.N 0
Z ER P.HERE 12 X // the Euclidian Rhythm pattern statement
IF Z : TR.PULSE A
X MOD ADD X 1 12
IF EZ MOD X 6 : P.NEXT
SCRIPT 2: // for testing or playful resets
P.N 0
P.I 0
X 0
PATTERN 0 :
1 1 0 0 0 0 1 1 1 1 2 2 3 3 4 6 4 4 6 4 3 3 2 2 1 1 1 1 0 0 0 0