#ORCAでの設定とプログラム
##OSCの送信先ポートを指定
送り先のポートを指定できるようにするために、ORCAのコンソールを開きます。コマンドキーとピリオド(.) を同時に押すか、Orcaメニューから「Inspect」を選びます。Consoleに以下をタイプします。57120は、SuperColliderのデフォルトのポート番号です
terminal.io.osc.select(57120)
ORCA のOSCメニューにSuperCollider(57120)が追加されるので、それを選択しておきます。
##OSCを出力する
ORCAでOSCを出力するプログラムを書きます。OSCアドレスパターンpに続く値が出力されます。
// in ORCA
/*
.D4..R6
..=p41.
*/
#SuperCollider側のコード
##OSCを受け取る
SuperCollider側では、OSCdefを使ってOSCメッセージを受信します。ここでの例ではアドレスパターンがpのメッセージを受け取ります。
(
// orca_OSC-test
OSCdef(\orca_osc, {|msg|
// 受け取ったメッセージをポストする
msg.postln;
}, \p);
);
受け取ったメッセージを使って音を出す
// 音源を定義
SynthDef(\test,{
arg amp=0.5, freq;
var env, sound;
env=EnvGen.ar(Env.perc,doneAction:2);
sound=SinOsc.ar((freq+1)*100);
Out.ar(0,sound * env)
}).add;
// OSCメッセージを受け取り音を出す
(
// orca_OSC-test
OSCdef(\orca_osc, {|msg|
s.sendMsg("/s_new", \test, s.nextNodeID, 0, 1,\freq, (msg[2]+1)*100);
}, \p);
);