Synthdef와 MIDI 연결하기

오늘 기초반때 할 것입니다. 신스데프를 미디키보드에 연결해서 한번 쳐보겠습니다.
초간단한 트레몰로 사인 신스!!

(
SynthDef(\sine, {arg freq=440, trig;
	var osc1, osc2, env, signal;
   osc1 = SinOsc.ar(freq,0,0.5);
   osc2 = SinOsc.ar(10,0,0.5);
   env = EnvGen.kr(Env.perc(0.3),trig);
   signal = (osc1*osc2)*env;
   Out.ar(0,signal!2);
   }).send(s);         		
)


MIDIClient.init; //현재 미디포트확인 
MIDIIn.connect(1, MIDIClient.sources.at(1)); //두번째 연결된 것을 사용할것임

(
a=Synth(\sine);  
MIDIIn.noteOn = {arg src, chan, num, vel;
				a.set(\freq, num.midicps);
				a.set(\trig, vel / 127 );
			
			};
MIDIIn.noteOff = { arg src,chan,num,vel;
				a.set(\trig, 0.0);
			};
			)

Advertisements