Splay
*ar(inArray, spread,level, center, levelComp)
*arFill(n, function, spread,level, center, levelComp)
Splay spreads an array of channels across the stereo field.
Optional spread and center controls, and levelComp(ensation) (equal power).
x = { arg spread=1, level=0.2, center=0.0;
Splay.ar(
SinOsc.ar( { |i| LFNoise2.kr( rrand(10, 20), 200, 400) } ! 10),
spread,
level,
center
);
}.play;
x.set(\spread, 1, \center, 0); // full stereo
x.set(\spread, 0.5, \center, 0); // less wide
x.set(\spread, 0, \center, 0); // mono center
x.set(\spread, 0.5, \center, 0.5); // spread from center to right
x.set(\spread, 0, \center, -1); // all left
x.set(\spread, 1, \center, 0); // full stereo
// the same example written with arFill:
x = { arg spread=1, level=0.5, center=0.0;
Splay.arFill(10,
{ |i| SinOsc.ar( LFNoise2.kr( rrand(10, 20), 200, i + 3 * 100)) },
spread,
level,
center
);
}.play;
// with mouse control
x = { var src;
src = SinOsc.ar( { |i| LFNoise2.kr( rrand(10, 20), 200, i + 3 * 100) } ! 10);
Splay.ar(src, MouseY.kr(1, 0), 0.5, MouseX.kr(-1, 1));
}.play;