A collection of noisy, fun, cool, geeky, techy, wired or just plain wierd stuff for your consideration!

Pgeom normalization

When using a Pgeom, it can be rather difficult to tie it in with our time signature. Julio has shown me how to ‘normalize’ the Pgeom so that we can ensure that the pattern it creates will fit in with the structure of our piece. For example, to get our Pgeom pattern to last 4 beats we have to use the normalizeSum function. However we discovered that we cannot simply put this into our Pbind as below because our pattern will return one value at a time, and the normalizeSum needs to know all values before the pattern is played, if it is to perform its function.

Pdef(\synth,
(Pbind(\type,\midi,\midiout,m,\chan,0,
\midinote,Pseq([49,52,59,60,61,62,63,64]-1, inf),
\dur, Pgeom(1/8,0.8,10).normalizeSum*4,
\db,-3
)));

So we have to get the series of values from the Pgeom and create an array from it. This can then be normalized and the new values be used to control our pattern.

Array.geom(10, 1/8, 0.8).normalizeSum*4; // CREATE AN ARRAY OF VALUES USING GEOM PARAMETERS, BUT NORMALIZE THEM TO BE 4 BEATS LONG.

We can create this array as a variable and then enter it into our code. (Pn is a basic pattern class, that repeats the enclosed pattern for a user defined number of repeats, Plazy evaluates a function which returns a pattern, then embeds it in a stream)

Pdef(\synth,
(Pbind(\type,\midi,\midiout,m,\chan,0,
\midinote,Pseq([49,52,59,60,61,62,63,64]-1, inf),

\dur, Pn( Plazy{ \\EVALUATE FOLLOWING FUNCTION, THEN EMBED IN Pn STREAM
var axDur; \\CREATE VARIABLE axDur (ACCELERATING DURATION)
axDur = Array.geom(10, 1/8, 0.8).normalizeSum*4; \\ASSIGN ARRAY TO axDur
Pseq(axDur, 10); \\PLAY SEQUENCE USING VALUES FROM axDur 10 TIMES
},2) \\COMPLETE Pn PATTERN TWICE

\db,-3
)));

Pdef(\synth).play;

The Pgeom creates an effect that, to me, sounds more like a human musician – it can sound more like an improvised solo than a rigidly structured piece of code that is tied into a uniform time structure. By normalizing it is easier to control the length of Pgeom patterns and incorporate these into our work to create a much more interesting piece.

Advertisements

4 responses

  1. the idea is good but the terms need better definition… look up Plazy in its help file for a more precise description in terms of SC. I would also be interested to hear more on the musical reason why this is useful to you ! 🙂

    November 19, 2009 at 15:02

  2. I re-read this today.. did you edit this post since?

    anyway, the explanation of the use of Plazy seems more lucid now ! (maybe it’s only me 😉

    December 18, 2009 at 15:50

    • Yes i did edit the post. I took your comments into consideration, re-read the post and tried to make it clearer.

      December 19, 2009 at 20:45

  3. wow thank you for this cool trick. I really like the way you can fit these free rhythmic pattern within a bar based structure this way.

    August 24, 2011 at 02:02

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s