箇条書き

{ SinOsc.ar(SinOsc.ar(1, 0, 1000)) }.play;

入れ子でもずらずら書けるんだけど、見にくいよね。

{
a = SinOsc.ar(1, 0, 1000);
b = SinOsc.ar(a);	// 周波数をaにする
}.play;

さっきと同じ意味だが、こんな感じに分解して書ける。
箇条書き、と言うのかわかりませんが、だいぶ見やすくなった。
また変数を再利用するつもりでなければこうも書ける。

{
a = SinOsc.ar(1, 0, 1000);
a = SinOsc.ar(a);
}.play;

それにしてもさっきから音が左に寄っててきもすけわり

{
a = SinOsc.ar(1000);
b = Pan2.ar(a, 0);	// 定位を中央(0)にする
}.play;

真ん中になった。何故かというのはPan2のヘルプを見よ。
(追記:定位を中央にするだけなら以下の書き方でもありだそうです)

{
a = SinOsc.ar(1000);
b = [a,a];	// 左右に並べる
}.play;

// または
a = SinOsc.ar(1000);
b = a!2;	// 上と同じ意味
}.play;

いたずらしてPan2にSinOscを入れてしまいました。

{
a = SinOsc.ar(1000);
b = SinOsc.ar(1);
c = Pan2.ar(a, b);	// 定位をbにする
}.play;

左右に動く。
こうなればもう何でもありじゃ

{
a = SinOsc.ar(3, 0, 1000);
b = SinOsc.ar(1);
c = SinOsc.ar(a, 0, b);
d = SinOsc.ar(0.3);
e = Pan2.ar(c, d);
}.play;

いきなりわけわからんコードになった。
何やら妙に緊迫した雰囲気の出音。

{
a = SinOsc.ar(400);
b = SinOsc.ar(500);
c = a + b;	// aとbを足す
d = Pan2.ar(c, 0, 0.5);
}.play;

SinOscどうしを足す?と思ったら、単に2つの音が混ざる。
音データは数字だから、計算できる。って書くと当たり前なようだが、やっぱり面白い。
振幅1の音を2つ足したから振幅の合計が2になった。ゆえにPan2で半分にしてあげる。

{
a = SinOsc.ar(400);
b = SinOsc.ar(10);
c = a * b;	// aとbを掛ける
d = Pan2.ar(c, 0);
}.play;

掛け算でも音量の変化が作れる。慣れるとこの方がわかりやすい。

{
a = SinOsc.ar(1, 0, 1000);
b = SinOsc.ar(a);
c = SinOsc.ar(500);
d = b * c;
e = Pan2.ar(d, 0);
}.play;

これまた掛け算ですが、今度はなんかゴエゴエ言ってる。
音どうしを掛けるのはリングモジュレーションと呼ばれるが、可聴域内の2音を掛けるとこういう謎の音色になる。
モジュレーションによる音作りにもいろいろあるようだが、それはともかく、箇条書きでいろんな事ができそうだとわかった。