Hi all,
I would like to sequence Pbinds with different TempoClocks assigned to them with a pattern that has it’s own TempoClock.
Here’s where I started from:
(
~pb1 = Pbind(
\dur, 1,
\legato, 0.1,
\scale, Scale.minor,
\degree, Pseq([0,2,1,6,8,7]-7,1)
);
~pb2 = Pbind(
\dur, 1,
\legato, 0.1,
\scale, Scale.minor,
\degree, Pseq([8,7,4,7,8,1],1)
);
)
(
~bpm1 = 300/60;
~t1 = TempoClock(~bpm1);
Pseq([~pb1,Rest(1),~pb2]).play(~t1);
)
Here all Pbinds and the Pseq are playing at the same TempoClock. This seem to work how I intended it, ie. ~pb1 plays through, then a rest for 1 beat, then ~pb2 plays through, all at 300/60 bpm.
However, when I try to assign the two Pbinds — embedded in Plazy’s — and the Pseq to different TempoClocks, the Pbinds — inside the Plazy’s — seem to lump/cramp together the melody instead of playing each individual note one after the other:
(
~bpm1 = 60/60;
~bpm2 = 500/60;
~bpm3 = 300/60;
~t1 = TempoClock(~bpm1);
~t2 = TempoClock(~bpm2);
~t3 = TempoClock(~bpm3);
a = Plazy({~pb1.play(~t2)});
b = Plazy({~pb2.play(~t3)});
Pseq([
a,
Rest(1),
b]).play(~t1);
)
The result I’m trying to aim for is the following:
(
~bpm1 = 30/60;
~bpm2 = 500/60;
~bpm3 = 300/60;
~t1 = TempoClock(~bpm1);
~t2 = TempoClock(~bpm2);
~t3 = TempoClock(~bpm3);
~task = Task({
~pb1.play(~t2);
1.wait;
~pb2.play(~t3)
}).play(~t1);
)
I’d like to solve this issue not with a Task or Routine, but with patterns. Is there a short way to do this with a pattern?
Thank you,
crystaldreg