Я новичок в SC и во всем музыкальном программировании в целом. Я сделал приложение на Python, которое читает текст и отправляет слово за словом в SC через OSC. Текст состоит только из слов «миау» и «гуау», повторяемых для развлечения и пробы.
Еще одна странная вещь: на консоли SC я получаю три раза одно и то же слово, чем в тексте и на терминале (этот python печатает каждое слово). Таким образом, для каждого «мяу» в txt/терминале я получаю «мяу, миау, мяу» на консоли SC.
Связь 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 работает, сэмплы не воспроизводятся. Любая подсказка приветствуется!