Pitch and Patterns

A preamble - How is pitch handled?

There are a number of different ways to arrange pitch - a brief history of pitch.

For some context, my musical background is in the western classical music tradition, but I regularly use non-'standard' pitch arrangement techniques in my music.

How Patterns handle pitch

Most times I'm specifying pitch for a synth or sound I will be specifying it as part of a Pbind. Pbinds are set up to handle pitch using the freq argument of a SynthDef, with various Pbind arguments designed to 'plug in' to create various kinds of pitch structures:

freq can be used to specify a raw frequency value, and detune is added to it:

//freq specifying a raw pitch value
~sinfb = Pbind(\instrument,\sinfb,\freq,Pwhite(100,800),\dur,0.1,\amp,0.3,\fb,0.1,\rel,0.3);
//frequency being detuned gradually
~sinfb = Pbind(\instrument,\sinfb,\freq,Pseq((1..8),inf)*100,\dur,0.1,\amp,0.3,\fb,0.4,\rel,1,\detune,Pseq((1..400),inf));

scale, octave and degree work together to easily give the ability to use a specific scale/tuning pitch arrangement inside of a Pbind, for example:

//using scales inside of Pbinds
//Minor scale in Just intonation, octave varying between 4 and 6, root note varying between 0 and 4 each scale repetition.
//\detune can also be used on top of this to detune scale degrees
~sinfb = Pbind(\instrument,\sinfb,\scale,Scale.minor(\just),\root,Pwhite(0,4).stutter(8),\octave,Pwhite(4,6).stutter(8),\degree,Pseq((0..7),inf),\dur,0.25,\amp,0.3,\fb,1,\rel,0.2);

Arrays can also be used to create chords:

//Chords used by specifying a 2-dimensional array in \degree argument.
//same can be done for the \octave argument
~sinfb = Pbind(\instrument,\sinfb,
~modulation = {SinOsc.kr(0.1).range(0.01,1.41)};

It's important to note that the degrees of a scale start from 0 when using patterns, with (0..7) being a full octave of a major or minor scale.