[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] The crazy pianist



added a crazy bassist that starts out noodlin and then just looses it after a
little while.  now we only need a drummer...

s.boot;

(
~crazyPianist= Pbind(
\scale, (0 ..11),
\degree,
	Pindex(
		(0, 7 ..77)%12,
		Prand([[0],[-1],[1],[2],[0,4,1],[0,4,1,5],[4,1,5,2]],inf)
			+
		Pseq((0 ..11), inf)%12
	),
[\dur, \legato],
	Prand([
		Pseq([[1,3/4]],3),
		Pseq([[1,5/4]],1),
		Pseq([[1/2,2/3]],2),
		Pseq([[1/3,3/8]],3),
		Pseq([[1/4,1/5]],4)
	], inf)
);

//--
SynthDef(\crazyBassist, {|freq, amp, crazyness|
	var src;
	src= LPF.ar(
		Saw.ar(
			#[1, 1.01]*freq,
			FSinOsc.ar(#[3, 3.01]*freq*crazyness, 0, 0.4, 0.5)
		),
		freq+170,
		Lag.kr(amp, 0.1)
	);
	Out.ar(0, src);
}).store;

~crazyBassist= Pmono(
	\crazyBassist, #[\freq, \amp, \crazyness],
	\scale, (0 ..11),
	\degree, Prand([Pseq(Array.fill(12, {rrand(0, 18)}), 2),
		Prand((0..20), 12)], inf),
	\octave, Pwrand([Pn(2.5, 12), Pn(3, 12)], #[0.8, 0.2], inf),
	\amp, Pseq(Array.fill(12, {1-1.0.linrand}).thresh(0.5), inf),
	\crazyness, Pseq([Pn(0.001, 70), Pn(1, inf)]),
	\dur, Pseq(Array.fill(12, {[0.25, 0.5, (1/6).dup(3)].wchoose(
		#[0.5, 0.3, 0.2])}).flat, inf)
);
)

(
~crazyPianist.play;
~crazyBassist.play;
)



  #|
     fredrikolofsson.com     klippav.org     musicalfieldsforever.com
  |#