芸大 – 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)のプログラムは下記からダウンロードしてください。