Having written the main structure for my Laptop Musicianship task 1 i’m now experimenting with various patterns and nesting Pdefs for different effects. Pgoem is a fantastic pattern command, which i have used to introduce a harp solo into the piece, it allows values to be repeated whilst increasing the ouput value geometrically. The first argument is “start”, the second is “grow” (multiplication factor) and the third is “length” (number of values produced) e.g Outputs for Pgeom([1,1.5,3]) would be 1, 1.5,2.25. Used to control duration produces a very nice effect, especially when placing different Pgeoms into a Pseq. I have, as yet, not tried using it in other parts of the code.
I have also been experimenting with Pdefs to control transposition. Instead of writing several identical pieces of code over and over again i wrote it once, but as a Pdef –
e.g Pdef(\transposition, Pstutter(12,Pwrand([10,5,0,-2],[0.1,0.2,0.5,0.2],12)));.
Now every pattern i want to use this code in, can simply have the new Pdef nested within it –
(Pbind ( \type, \midi, \midiout, m,\chan, 0,
\scale, [ 0, 3, 7, 12, 15, 20, 22,]-24,
\degree, Pseq([ 2,3,6,5,4,7]-1, 4),
\dur, Prand([Pstutter(2,Pseq([12/8,2/8, 2/8]/2, 4)), Pseq([12/8,2/8, 2/8], 4),],1),
\mtranspose, Pdef(\transposition) //NESTED PDEF
This is very handy, when you know you will be repeating sections of code, for reducing the amount of code that need to be written, and unless i’m mistaken, all patterns containing this nested Pdef will return the same value simultaneously. Each piece using Pdef(\transposition) in its code will transpose to the same note, whereas if i had written the code individually to each element they would transpose to different notes at each ‘return’ of the transposition code .
I hope this doesn’t sound too complicated, and that you do actually understand what i’m talking about, but if not then feel free to come and find me at uni and i’ll try and explain it in a better way.