KEMBAR78
Sbaw090929 | KEY
//
s.boot;

//
{SinOsc.ar(440)}.play;

//             ...
{ 	 	 	 //
   	
	 SinOsc	 //Sin
	 .ar	 	 //
	 (440) 	 //      440Hz
} 	 	 	 //
   	
.play;	 	 //
//
//
{ }
//1.           2.
( )
//1.       (            ) 2.
[ ]

//
((1+2)*3).value;
{ (1+2)*3 }.value;
{ [1, 2, 3].size }.value;
{ [1, 2, 3].wrapAt(1) }.value;
{ var a=1, b=2; (a+b)*3 }.value;

//     (       ) arg:
f = {	arg a, b; (a+b)*3 };
f.value(1, 2).postln;
f.value(3, 4).postln;
//         1
{
	 SinOsc.ar(440, 0, 0.2);
}.play;

//          2
//
{
	 var a1, a2;
	 a1 = SinOsc.ar(440, 0, 0.2);
	 a2 = SinOsc.ar(660, 0, 0.2);
	 a1 + a2;
}.play;
//   Sin
{
	 var freq=440, detune=1, a1, a2;
	 a1 = SinOsc.ar(freq, 0, 0.2);
	 a2 = SinOsc.ar(freq + detune, 0, 0.2);
	 [a1, a2];
}.play;

//
{
	 var freq=440, detune=1, a1, a2;
	 a1 = SinOsc.ar([freq, freq+detune], 0, 0.2);
	 freq = freq * 1.5;
	 a2 = SinOsc.ar([freq, freq+detune], 0, 0.2);
	 a1+a2;
}.play;
//                                           !!
//        …
//SynthDef →            !!!
SynthDef("           ", {              }).send(        );


//             Sin          SynthDef
SynthDef("unari", {
	 arg freq=440, detune=1, amp=0.2;
	 var a1, a2;
	 a1 = SinOsc.ar([freq, freq+detune], 0, amp);
	 freq = freq * 1.5;
	 a2 = SinOsc.ar([freq, freq+detune], 0, amp);
	 //               Out.ar(      ,        );
	 Out.ar(0, a1+a2);
}).send(s);
//
s.sendMsg("/s_new", "unari", x = s.nextNodeID, 0, 1);
//   (arg)
s.sendMsg("/n_set", x, "freq", 110);
s.sendMsg("/n_set", x, "freq", 80);
//
s.sendMsg("/n_free", x);

//        OSC!!!
// OSC
s.dumpOSC(1);
// OSC
s.dumpOSC(0);
//
SynthDef("unari", {
	 arg freq=440, detune=1, amp=0.2;
	 var a1, a2;
	 a1 = SinOsc.ar([freq, freq+detune], 0, amp);
	 freq = freq * 1.5;
	 a2 = SinOsc.ar([freq, freq+detune], 0, amp);
	 //               Out.ar(      ,        );
	 Out.ar(0, a1+a2);
}).send(s);
//
SynthDef("unari", {
	 arg freq=440, detune=1, amp=0.2;
	 var a1, a2;
	 a1 = SinOsc.ar([freq, freq+detune], 0, amp);
	 freq = freq * 1.5;
	 a2 = SinOsc.ar([freq, freq+detune], 0, amp);
	 //               Out.ar(      ,        );
	 Out.ar(0, a1+a2);
}).send(s);
// "/s_start"
o = OSCresponderNode(nil, '/s_start', {
	 s.sendMsg("/s_new", "unari", x = s.nextNodeID, 0, 1);
}).add;

// "/s_stop"
p = OSCresponderNode(nil, '/s_stop', {
	 	     s.sendMsg("n_free", x);
}).add;
//   /tr/osc 1             /tr/osc 0
(
q = OSCresponderNode(nil, '/tr/osc', {
	   arg time,responder,msg;
	   if(msg[1] == 1,
	   {s.sendMsg("/s_new", "unari", x = s.nextNodeID, 0, 1)},
	   { s.sendMsg("n_free", x)}
	   );
}).add;

// SynthDef             Responder
//
r = OSCresponderNode(nil, '/set/osc', {
	   arg time,responder,msg;
	   s.sendMsg("/n_set", x, "freq", msg[1]);
	   }).add;
)
// FM
(
SynthDef("fm", {
	 arg bus = 0, freq = 110,
	 carPartial = 0.5, modPartial = 0.5,
	 detune=2.0, index = 3, mul = 0.2, ts = 1;

	 var mod;
	 var car;
	
	 mod = SinOsc.ar(freq* modPartial, 0,
freq*index*LFNoise1.kr(5.reciprocal).abs);
	 car = SinOsc.ar([(freq*carPartial)+mod,(freq+detune*carPartial)+mod] ,
0, mul);
	 car = FreeVerb.ar(car, 0.5, 0.8, 0.2, 1.0);
	 Out.ar(bus, car);
}).load(s);
//       ON/OFF
t = OSCresponderNode(nil, '/tr/fm', {
	 arg time,responder,msg;
	 if(msg[1] == 1,
	 	 { s.sendMsg("/s_new", "fm", x = s.nextNodeID, 0, 1)},
	 	 { s.sendMsg("n_free", x)}
	 	 );
}).add;
 	
// SynthDef             Responder
//
u = OSCresponderNode(nil, '/set/fm', {
	 arg time,responder,msg;
	 s.sendMsg("/n_set", x, "carPartial", msg[1], "modPartial", msg[2],
"index", msg[3]);
}).add;

Sbaw090929

  • 25.
    // s.boot; // {SinOsc.ar(440)}.play; // ... { // SinOsc //Sin .ar // (440) // 440Hz } // .play; //
  • 26.
    // // { } //1. 2. ( ) //1. ( ) 2. [ ] // ((1+2)*3).value; { (1+2)*3 }.value; { [1, 2, 3].size }.value; { [1, 2, 3].wrapAt(1) }.value; { var a=1, b=2; (a+b)*3 }.value; // ( ) arg: f = { arg a, b; (a+b)*3 }; f.value(1, 2).postln; f.value(3, 4).postln;
  • 27.
    // 1 { SinOsc.ar(440, 0, 0.2); }.play; // 2 // { var a1, a2; a1 = SinOsc.ar(440, 0, 0.2); a2 = SinOsc.ar(660, 0, 0.2); a1 + a2; }.play;
  • 28.
    // Sin { var freq=440, detune=1, a1, a2; a1 = SinOsc.ar(freq, 0, 0.2); a2 = SinOsc.ar(freq + detune, 0, 0.2); [a1, a2]; }.play; // { var freq=440, detune=1, a1, a2; a1 = SinOsc.ar([freq, freq+detune], 0, 0.2); freq = freq * 1.5; a2 = SinOsc.ar([freq, freq+detune], 0, 0.2); a1+a2; }.play;
  • 29.
    // !! // … //SynthDef → !!! SynthDef(" ", { }).send( ); // Sin SynthDef SynthDef("unari", { arg freq=440, detune=1, amp=0.2; var a1, a2; a1 = SinOsc.ar([freq, freq+detune], 0, amp); freq = freq * 1.5; a2 = SinOsc.ar([freq, freq+detune], 0, amp); // Out.ar( , ); Out.ar(0, a1+a2); }).send(s);
  • 30.
    // s.sendMsg("/s_new", "unari", x= s.nextNodeID, 0, 1); // (arg) s.sendMsg("/n_set", x, "freq", 110); s.sendMsg("/n_set", x, "freq", 80); // s.sendMsg("/n_free", x); // OSC!!! // OSC s.dumpOSC(1); // OSC s.dumpOSC(0);
  • 32.
    // SynthDef("unari", { argfreq=440, detune=1, amp=0.2; var a1, a2; a1 = SinOsc.ar([freq, freq+detune], 0, amp); freq = freq * 1.5; a2 = SinOsc.ar([freq, freq+detune], 0, amp); // Out.ar( , ); Out.ar(0, a1+a2); }).send(s);
  • 35.
    // SynthDef("unari", { argfreq=440, detune=1, amp=0.2; var a1, a2; a1 = SinOsc.ar([freq, freq+detune], 0, amp); freq = freq * 1.5; a2 = SinOsc.ar([freq, freq+detune], 0, amp); // Out.ar( , ); Out.ar(0, a1+a2); }).send(s);
  • 36.
    // "/s_start" o =OSCresponderNode(nil, '/s_start', { s.sendMsg("/s_new", "unari", x = s.nextNodeID, 0, 1); }).add; // "/s_stop" p = OSCresponderNode(nil, '/s_stop', { s.sendMsg("n_free", x); }).add;
  • 38.
    // /tr/osc 1 /tr/osc 0 ( q = OSCresponderNode(nil, '/tr/osc', { arg time,responder,msg; if(msg[1] == 1, {s.sendMsg("/s_new", "unari", x = s.nextNodeID, 0, 1)}, { s.sendMsg("n_free", x)} ); }).add; // SynthDef Responder // r = OSCresponderNode(nil, '/set/osc', { arg time,responder,msg; s.sendMsg("/n_set", x, "freq", msg[1]); }).add; )
  • 40.
    // FM ( SynthDef("fm", { arg bus = 0, freq = 110, carPartial = 0.5, modPartial = 0.5, detune=2.0, index = 3, mul = 0.2, ts = 1; var mod; var car; mod = SinOsc.ar(freq* modPartial, 0, freq*index*LFNoise1.kr(5.reciprocal).abs); car = SinOsc.ar([(freq*carPartial)+mod,(freq+detune*carPartial)+mod] , 0, mul); car = FreeVerb.ar(car, 0.5, 0.8, 0.2, 1.0); Out.ar(bus, car); }).load(s);
  • 41.
    // ON/OFF t = OSCresponderNode(nil, '/tr/fm', { arg time,responder,msg; if(msg[1] == 1, { s.sendMsg("/s_new", "fm", x = s.nextNodeID, 0, 1)}, { s.sendMsg("n_free", x)} ); }).add; // SynthDef Responder // u = OSCresponderNode(nil, '/set/fm', { arg time,responder,msg; s.sendMsg("/n_set", x, "carPartial", msg[1], "modPartial", msg[2], "index", msg[3]); }).add;