SuperCollider

気になる

ヘルプファイルをちょっとずつ読んでいて気になったこと。 if (expr, trueFunc, falseFunc); epxr.if(trueFunc, falseFunc); 上のような書き換えができる。 while 文でも同じに書き換えができる。 for 文も出来るが、2行目の書き方はいつ使うのかまったく不…

和音を出す

とりあえず、ここまでやった分で何か作ろうと思って和音をだすコードを書いた。 簡単なコードだけど、微妙なリズムも生まれてちょっと面白い。 ( f = { arg n = 5, freq = 440; Mix.fill( n, { arg index; var freqs = [ freq+index, (freq+index)*5/4, (fre…

Mix it Up

単純に音を重ねる場合は、 + 演算子で UGen を加算する。 { PinkNoise.ar( 0.2 ) + SinOsc.ar( 440, 0, 0.2 ) + Saw.ar( 660, 0.2 ) }.play また新しい UGen が出てきた。Saw はノコギリ波のクラス。 Mix クラスを使っても同じようにできる。 その場合は、足…

Presented in Living Stereo

SuperCollider では、とにかく配列が重要らしい。 とりあえず、配列の使い方は [ xxx, xxx, xxx ] という感じ。 var array = [ "foo", "bar" ]; array.at(0).postln; // 1番目の要素を表示 array[1].postln; // 同じこと array[2].postln; // nil エラーに…

むむ

ヘルプファイルを色々見ていて気づいた、 今読んでいる Getting Started With SC は最初に読むやつじゃないのかも、、 でも、どういう順番で読んだらいいのか良く分からんなー。 まあいいけど、とりあえず続きを読もう。

And What About Functions and Sound?

単純なサイン派を再生するコード { SinOsc.ar( 440, 0, 0.5 ) }.play;これでローカルサーバから音が出る。 明示的にサーバを指定していない時は、グローバル変数 s で指定しているサーバを使う。 s にはデフォルトでローカルサーバが格納されているから、こ…

Functions and Other Functionality

初めての音出し。 { [SinOsc.ar(440, 0, 0.2), SinOsc.ar(442, 0, 0.2)] }.play;おお、サイン派がなった。 Not too inspiring? いや、感動したよ。 この例では、2つのサイン派を合成しているみたい。[ ]は配列だと思われる。 ショートカット Cmd + . 音を止…

Start Your Engines

localhost server の起動と停止 s.boot; s.quit;起動が成功するとステータスが "inactive" -> "booting" -> "running" になる。 s ってのは Server.local の略称っぽい。

First Steps

とりあえず、定番の Hello World から。 "Hello World".postln;でこの行にカーソルがある状態で enter 。 return ではなく enter 。 Hello World Hello World出力が2行でるのは、最後に評価された値が戻り値となるから、 最初の行が 文字列オブジェクト"Hel…

SuperColliderをつまみ食う

前から気になっていた SuperCollider をやってみようかと思う。 SuperColliderは音響合成用プログラミング環境で、CUIベースと思われるので、 Max/MSPのGUIでこちょこちょするのになじめなかった僕にはこっちの方が良い気がする。 Getting Started With Supe…