하나의 folder에 여러가지 sample들이 있을때에 Syndef에서 random을로 골라 play하는 패치를 만들어 보지용
먼저 Global Variable을 이용해서 file을 골라 Buffer에 넣어봅니다.
(
~chooseSound = {|n|
var path=PathName("/Users/jiyounkang/sounds/").entries.choose.fullPath;
Buffer.read(s,path,bufnum:n);};
)
여기에서 "…." 이 안에는 파일들이 들은 folder의 path를 넣어줍니다.
그리고 SynthDef
(
SynthDef("choice",
{
arg amp=0.1,bufnum=~chooseSound.(n);
var play=PlayBuf.ar(1,bufnum, doneAction:0);
Out.ar(0,(play*amp)!2);
}).store
)
이렇게 해줍니다.
이제 실행해보지요
a=Synth.new("choice");
이러면 소리가 납니다. 그럼 이제 random으로 소리파일을 바꾸어 볼까요?
a.set(bufnum,~chooseSound.(n));
이렇게 하면 됩니당.