ArrayBuffer
superclass: BufferProxy
Passes an array into a Patch for use in UGens which need an array supplied as a buffer index.
If saved as a compile string to disk, saves the array with it.
ArrayBuffer.new( array )
(
// modal space - jmc
// mouse x controls discrete pitch in dorian mode
Patch({ arg scale;
var mix;
mix =
// lead tone
SinOsc.ar(
(
DegreeToKey.kr(
scale.bufnumIr,
MouseX.kr(0,15), // mouse indexes into scale
12, // 12 notes per octave
1, // mul = 1
72 // offset by 72 notes
)
+ LFNoise1.kr([3,3], 0.04) // add some low freq stereo detuning
).midicps, // convert midi notes to hertz
0,
0.1)
// drone 5ths
+ RLPF.ar(LFPulse.ar([48,55].midicps, 0.15),
SinOsc.kr(0.1, 0, 10, 72).midicps, 0.1, 0.1);
// add some 70's euro-space-rock echo
CombN.ar(mix, 0.31, 0.31, 2, 1, mix)
},[
ArrayBuffer(FloatArray[0, 2, 3, 5, 7, 9, 10])
]).gui
)