芸大 – Interactive Music II 2014
第6回: SuperCollider応用 – SuperColliderと OSC (Open Sound Control)
今回から数回にわたって、SuperColliderと他のアプリケーションとの連携について取り上げます。例えば、Max/MSPやPdなどのアプリケーションでGUIを作成して、音はSuperColliderから生成したり、ProcessingやopenFrameworksなどのアプリケーションで、SuperColliderの音を視覚化したりといったことが可能となります。連携にはOpenSoundContorol (OSC) というプロトコル(通信の方式)を使用します。今回は、このOSCについて考えていきます。
スライド資料
授業内で使用するスライド資料は、下記から参照してください
サンプルプログラム
今回使用したSuperColliderのプログラムです。
//サーバーのブート
s = Server.default;
s.boot;
// 表示されるメッセージ
// [ "/dumpOSC", 1 ]
//全てのOSCメッセージを表示する
s.dumpOSC;
//楽器の定義
SynthDef("test_osc", {
var out;
out = SinOsc.ar([220, 221],0,0.5);
Out.ar(0, out);
}).store;
// 表示されるメッセージ
// [ "/d_recv", DATA[244], 0 ]
// a SynthDef
//サウンド再生開始
s.sendMsg("/s_new", "test_osc", x = s.nextNodeID, 1, 1);
// 表示されるメッセージ
// [ "/s_new", "test_osc", 1000, 1, 1 ]
//再生終了
s.sendMsg("/n_free", x);
// 表示されるメッセージ
// [ "/n_free", 1000 ]
//サーバーの終了
s.quit;
// 表示されるメッセージ
// [ "/quit", ]
// [ 24, 0 ]
//別の楽器
SynthDef("perc", {
arg freq, dur;
var out, env;
env = Env.perc(0.01, dur, 0.2);
out = SinOsc.ar(freq,0,0.5) * EnvGen.kr(env, doneAction:2);
out = Pan2.ar(out, Rand(-1.0, 1.0));
Out.ar(0, out);
}).store;
連携のためのPd(Pure Data)のプログラムは下記からダウンロードしてください。
