// first steps in SC3

20 + 4

9.sqrt

receiver.message notation

2 * 3
sqrt(9)

function(value)  notation

(1 .. 17)
(0,3 .. 24)

Array.series(12, 0, 3)
Array.geom(12, 1, 1.2)

(1 .. 17)
(0,3 .. 24)

Array.series(12, 0, 3)
Array.geom(12, 1, 1.2)
Array.rand(12, 10, 100)
Array.rand(12, 10.0, 100)

Array.dump

5.dump

5.class
5.0.class

(Array.series(12, 0, 3) + 60).midicps.round(1).sqrt 

s.boot
s.quit

s.boot

sclang
scsynth

OSC open sound control

{ SinOsc.ar(440, 0, 1) }.play

(
SynthDef("test", {
	Out.ar(0, SinOsc.ar(440, 0, 0.1))
}).send(s)
)

Synth("test")

{ SinOsc.ar( XLine.kr(440, 880, 0.3), 0, 1) }.play

{ SinOsc.ar( MouseX.kr(440, 880), 0, 1) }.play

ixi sc 

{ SinOsc.ar(Line.kr(100, 200000, 30), 0, 0.4) }.play

{ LFSaw.ar( Line.kr(500, 20000, 10), 0,  0.4) }.play
{ SinOsc.ar( Line.kr(500, 20000, 10), 0,  0.4) }.play

{ LFSaw.ar( 2000, 0,  0.4) }.play
{ Saw.ar( 2000,  0.4) }.play

{ Saw.ar( Line.kr(500, 18000, 10), 0.4) }.play

{ Saw.ar }.play

UGen.browse

{ Saw.ar( LFPulse.kr(1).range(55, 60).midicps, 0.8) }.play

{ Saw.ar( SinOsc.kr(5).range(59, 61).midicps, 0.4) }.play

{ Saw.ar( SinOsc.kr(5,0, 12, 60).midicps, 0.4) }.play

{ Saw.ar( [200, 210, 230, 240],  0.02) }.play

{ Out.ar(0, [Saw.ar(200,0.02), Saw.ar(300,0.02), Saw.ar(400,0.02), Saw.ar(500,0.02)]) }.play

(
{ DelayN.ar(
	AudioIn.ar(1), 
	2, 
	Array.rand(4, 0.5, 1) * SinOsc.kr(Array.rand(4, 0.5, 2)).range(0.1, 1), 
	0.01).sum 
}.play
)

(
n = 20;
{ Pan2.ar(
		DelayN.ar(
			AudioIn.ar(1), 
			2, 
			Array.rand(n, 0.5, 1) * SinOsc.kr(Array.rand(n, 0.5, 2)).range(0.1, 1), 
			0.01),
		Array.series(n, -1, 2 / (n-1))	
		).sum
			 
}.play
)

3 ! 4
{ rrand(1, 10) } ! 4

3.dup(4)
3.dup
3 ! 2

{ Out.ar(0, SinOsc.ar(200, 0, 0.01).dup(4)) }.play
{ Out.ar([0,1,2,3], SinOsc.ar(200, 0, 0.01) ) }.play

{ Out.ar([0,1,2,3], SinOsc.ar(200, 0, 0.01) ! 4 ) }.play

{ Resonz.ar(Saw.ar(200), 500, 0.1) }.play

(
SynthDef("test", { 
	var in, dt, mod, pos, sig, n;
	n = 10;
	in = AudioIn.ar(1);
	dt = Array.rand(n, 0.5, 1);
	mod = SinOsc.kr(Array.rand(n, 0.5, 2)).range(0.1, 1);
	pos = Array.series(n, -1, 2 / (n-1));
	sig = DelayN.ar(in, 2, dt * mod, 0.01);
	sig = Pan2.ar(sig, pos);
	//Out.ar(0, sig.sum);
	Out.ar(0, Mix(sig));
}).send(s)
)

Synth("test")

ServerOptions