[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sc-users] sync osc
Am 21.12.2004 um 02:41 schrieb nonprivate:
why is it that only SinOsc can have its phase modulated?
/*
Instead of an answer here comes a spooky little synth for christmas
*/
Server.default = s = Server.internal;
s.boot;
// allocate buffers 117 - 122
s.listSendBundle(nil, Array.fill(6, { |i| ["/b_alloc", 117 + i, 1024 ]
}););
(
// fill buffers and play
s.performList(\sendMsg, "/b_gen", 117, "sine1", 7,
Array.fill(128, { |i| (i + 1).reciprocal }));
s.performList(\sendMsg, "/b_gen", 118, "sine1", 7,
Array.fill(128, { |i| (i + 1).reciprocal }).neg );
s.performList(\sendMsg, "/b_gen", 119, "sine1", 7,
Array.fill(128, { |i| (i + 1).reciprocal.rand }));
s.performList(\sendMsg, "/b_gen", 121, "sine1", 7,
Array.fill(128, { |i| (i + 1).reciprocal.rand }));
s.performList(\sendMsg, "/b_gen", 120, "sine3", 7, Array.fill(128,
{ |i| if (i.even) { [i + 1, (i + 1).squared.reciprocal, pi.rand] ;}
{ [0, 0, 0] } }).flat; );
s.performList(\sendMsg, "/b_gen", 122, "sine3", 7, Array.fill(128,
{ |i| if (i.even) { [i + 1, (i + 1).squared.reciprocal, pi.rand] ;}
{ [0, 0, 0] } }).flat; );
{
var freq = 55, lfo, lfo2;
lfo = LFNoise1.kr(0.11, 0.5, 0.5);
lfo2 = Lag.kr(TRand.kr(0.1, 0.9, Dust.kr(0.1)), 0.3);
VOsc.ar(
[119 + lfo, 122 - lfo],
freq,
VOsc.ar(
[117 + lfo2, 118 - lfo2],
MouseX.kr(freq * 0.2, freq * 5, \exponential),
0,
MouseY.kr(333, [0.5, 0.7], \exponential)
* LFNoise2.kr(0.06, 0.2, 1.0)
),
0.3
)
}.scope(2);
)