私はSCと音楽プログラミング全般については初めてです。テキストを読み取り、OSCを介してSCに単語ごとに送信するPythonアプリを作成しました。テキストは、「miau」と「guau」という言葉だけを繰り返し、楽しく試してみるためのものです。
もう1つの奇妙な出来事は、SCコンソールで、テキストと端末よりも3倍の同じ単語を取得することです(そのpythonは各単語を出力します)。したがって、txt/端末の「miau」ごとに、SC コンソールに「miau miau miau」が表示されます。
OSC 通信は動作していますが、音が出ません。バッファを個別に再生しましたが、動作しています。バッファまたは SynthDef を再生すると、サンプルが再生されているのが聞こえるので、問題はスイッチにあると思います。
s.boot;
~b0 = Buffer.read(s, "/path/to/bd/BT0A0A7.wav")
~b1 =Buffer.read(s, "/path/to/hh/000_hh3closedhh.wav")
~b0.play;
(
SynthDef.new(\playbuf, {|amp=1, out=0, buf, da=2, rate =1|
var sig;
sig = PlayBuf.ar(2, buf, BufRateScale.kr(buf) * rate, doneAction:da);
sig = sig*amp;
Out.ar(out, sig);
}).add;
)
Synth.new(\playbuf, [\buf, ~b1.bufnum]);
(
OSCdef.new("texto",{
|msg, time, addr, port|
msg[1].postln;
switch(msg[1],
"miau", {Synth.new(\playbuf, [\buf, ~b1.bufnum])},
"guau", {Synth.new(\playbuf, [\buf, ~b0.bufnum])}
);
},
'/supercollider',
)
)
テキストがコピーされるので、OSC が機能していることはわかっていますが、サンプルは再生されません。どんなヒントでも大歓迎です!