252 lines
3.4 KiB
Python
252 lines
3.4 KiB
Python
(
|
|
s.boot;
|
|
)
|
|
|
|
(
|
|
s.quit;
|
|
)
|
|
|
|
(
|
|
s.scope;
|
|
)
|
|
|
|
(
|
|
{
|
|
var pitchOsc;
|
|
var ampOsc;
|
|
pitchOsc = { 300 + SinOsc.kr(0.1, 1.5pi, 20, 20); };
|
|
ampOsc = SinOsc.kr(0.5, 1.5pi, 1.0, 1.0);
|
|
SinOsc.ar([pitchOsc, pitchOsc], 0, ampOsc);
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
{ [SinOsc.ar(440, 0, 0.2), SinOsc.ar(442, 0, 0.2)] }.play;
|
|
)
|
|
|
|
(
|
|
{
|
|
var freq;
|
|
freq = [[600, 880], [400, 660], 1320, 880].choose;
|
|
SinOsc.ar(freq, 0, 0.2);
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
{
|
|
Pan2.ar(PinkNoise.ar(0.2), SinOsc.kr(0.5));
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
{
|
|
Pan2.ar(SinOsc.ar(440, 0, 0.2), SinOsc.kr(0.5));
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
{
|
|
Pan2.ar(PinkNoise.ar(0.2), -0.3);
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
{
|
|
PinkNoise.ar(0.2) + SinOsc.ar([440, 442], 0, 0.2) + Saw.ar([660, 662], 0.2);
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
{
|
|
var a, b;
|
|
a = [
|
|
SinOsc.ar(440, 0, 0.2),
|
|
Saw.ar(662, 0.2)
|
|
];
|
|
b = [
|
|
SinOsc.ar(442, 0, 0.2),
|
|
Saw.ar(660, 0.2)
|
|
];
|
|
|
|
Mix([a, b]).postln;
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
var n = 8;
|
|
{
|
|
Mix.fill(n, { SinOsc.ar([220, 500 + 500.0.rand], 0, 1 / n) });
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
var n = 8;
|
|
{
|
|
Mix.fill(n, { |index|
|
|
var freq;
|
|
index.postln;
|
|
freq = 440 + index;
|
|
freq.postln;
|
|
SinOsc.ar(freq, 0, 1 / n)
|
|
});
|
|
}.play;
|
|
)
|
|
|
|
(
|
|
{
|
|
PinkNoise.ar(0.2) + SinOsc.ar(440, 0, 0.2) + Saw.ar(660, 0.2)
|
|
}.plot;
|
|
)
|
|
|
|
(
|
|
{
|
|
PinkNoise.ar(0.2) + SinOsc.ar(440, 0, 0.2) + Saw.ar(660, 0.2)
|
|
}.plot(1);
|
|
)
|
|
|
|
(
|
|
{
|
|
PinkNoise.ar(0.2) + SinOsc.ar(440, 0, 0.2) + Saw.ar(660, 0.2)
|
|
}.scope;
|
|
)
|
|
|
|
(
|
|
{
|
|
[
|
|
SinOsc.ar(440, 0, 0.2),
|
|
SinOsc.ar(442, 0, 0.2)
|
|
]
|
|
}.scope;
|
|
)
|
|
|
|
(
|
|
{
|
|
[
|
|
SinOsc.ar(440, 0, 0.2),
|
|
SinOsc.ar(442, 0, 0.2)
|
|
]
|
|
}.scope(zoom: 10);
|
|
)
|
|
|
|
(
|
|
SynthDef.new(
|
|
"tutorial-SinOsc",
|
|
{
|
|
Out.ar(0, SinOsc.ar(440, 0, 0.2))
|
|
}
|
|
).play;
|
|
)
|
|
|
|
(
|
|
SynthDef.new(
|
|
"tutorial-SinOsc-stereo",
|
|
{
|
|
var outArray;
|
|
outArray = [
|
|
SinOsc.ar(440, 0, 0.2),
|
|
SinOsc.ar(442, 0, 0.2)
|
|
];
|
|
Out.ar(0, outArray)
|
|
}
|
|
).play;
|
|
)
|
|
|
|
(
|
|
x = { SinOsc.ar(660, 0, 0.2) }.play;
|
|
y = SynthDef.new(
|
|
"tutorial-SinOsc",
|
|
{
|
|
Out.ar(0, SinOsc.ar(440, 0, 0.2))
|
|
}
|
|
).play;
|
|
)
|
|
|
|
(
|
|
x.free;
|
|
y.free;
|
|
)
|
|
|
|
|
|
(
|
|
SynthDef.new(
|
|
"tutorial-PinkNoise",
|
|
{
|
|
Out.ar(0, PinkNoise.ar(0.3))
|
|
}
|
|
).add;
|
|
|
|
x = Synth.new("tutorial-PinkNoise");
|
|
y = Synth.new("tutorial-PinkNoise");
|
|
)
|
|
|
|
(
|
|
f = {
|
|
SinOsc.ar(440 + 200.rand, 0, 0.2)
|
|
};
|
|
x = f.play;
|
|
y = f.play;
|
|
z = f.play;
|
|
)
|
|
|
|
(
|
|
SynthDef(
|
|
"tutorial-NoRand",
|
|
{
|
|
Out.ar(0, SinOsc.ar(440 + 200.rand, 0, 0.2))
|
|
}
|
|
).add;
|
|
x = Synth("tutorial-NoRand");
|
|
y = Synth("tutorial-NoRand");
|
|
z = Synth("tutorial-NoRand");
|
|
)
|
|
|
|
(
|
|
SynthDef(
|
|
"tutorial-Rand",
|
|
{
|
|
Out.ar(0, SinOsc.ar(Rand(440, 660), 0, 0.2))
|
|
}
|
|
).add;
|
|
x = Synth("tutorial-Rand");
|
|
y = Synth("tutorial-Rand");
|
|
z = Synth("tutorial-Rand");
|
|
)
|
|
|
|
(
|
|
SynthDef(
|
|
"tutorial-args",
|
|
{
|
|
|freq = 440, out = 0|
|
|
Out.ar(out, SinOsc.ar(freq, 0, 0.2))
|
|
}
|
|
).add;
|
|
Task({
|
|
x = Synth("tutorial-args");
|
|
1.wait;
|
|
y = Synth("tutorial-args", ["freq", 660]);
|
|
1.wait;
|
|
z = Synth("tutorial-args", ["freq", 880, "out", 1]);
|
|
1.wait;
|
|
//x.free; y.free; z.free;
|
|
}).play;
|
|
)
|
|
|
|
(
|
|
SynthDef.new(
|
|
\tutorialargs,
|
|
{
|
|
|freq = 440, out = 0|
|
|
Out.ar(out, SinOsc.ar(freq, 0, 0.2));
|
|
}
|
|
).add;
|
|
Task({
|
|
x = Synth(\tutorialargs);
|
|
1.wait;
|
|
x.set(\freq, 660);
|
|
1.wait;
|
|
x.set(\freq, 880, \out, 1);
|
|
1.wait;
|
|
//x.free;
|
|
}).play;
|
|
)
|