슈콜녹음2


// 2초짜리 버퍼만들기 

b = Buffer.alloc(s, 44100 * 2.0, 1);   //객체  

b.plot;
b.bufnum;
b.numFrames;
b.close;
b.free;

// 녹음할 신스데프 
(
SynthDef(\recBuf,{ arg bufnum=0;
	var in;
	in = AudioIn.ar(1);
	
   RecordBuf.ar(in, bufnum, doneAction:2, loop:0);
}).play;
)


// 재생할 신스데프
(
SynthDef(\player1,{ arg out=0, bufnum=0, rate=1; 
	var playbuf;
   playbuf = PlayBuf.ar(1,bufnum, BufRateScale.kr(bufnum) * rate, loop:0);
	FreeSelfWhenDone.kr(playbuf);
   Out.ar(out, playbuf);
}).play;
)

// 파일로 저장
b.write("/Users/anibae/Desktop/bbb.wav", 'WAV', 'int24')

// 신스데프 폴더  ~/Library/Application Support/Supercollider/synthdefs/
// 신스데프 뒤에 붙는 메세지에 대해서
// load : 파일로 만들고 서버에 보낸다.
//  send : 파일로 만들지는 않고 보낸다.
// play : 아예 신스를 만든다. 

Advertisements