UGen을 실행하려면 : boot button을 이용하여 서버를 시동시키거나,
다음의 코드를 이용하여 부팅한다.
Server.default = Server.internal.boot;
play는 localhost와 작동되며, scope는 internal server와 작동된다. (play와 scope는 message code)
지금은 internal server를 default로 사용할것이다.
//—————————————————–
2. SinOsc
;Sinewave generator.
{SinOsc.ar}.play//실행위해 enter, 중지위해 CMD+.
{SinOsc.ar}.scope//scope로도 보여줌.
UGen은 이전에 설명했듯이 .ar, .kr와 같은 message를 사용하여 play한다.
SinOsc에 대한 정보를 보려면, SinOsc를 마우스로 활성화 시킨후 CMD+?를 누른다.
그러면 다음과 같은 help파일을 볼 수 있다. (예제는 생략)
//;;;;;
SinOsc interpolating sine wavetable oscillator
SinOsc.ar(freq, phase, mul, add)
This is the same as Osc except that the table is a sine table of 8192 entries.
freq – frequency in Hertz
phase – phase offset or modulator in radians
//;;;;;
-argument lists (10,2,3)은 comma에 의해 분리시킨다.
{SinOsc.ar(220)}.scope//220Hz의 Sine wave
{SinOsc.ar(220,0,0.3)}.scope//look at the amplitude
-amplitude를 변경하되 phase값을 변경하고 싶지는 않다면 :
mul:을 사용한다.
{SinOsc.ar(220, mul:0.3)}.scope
{SinOsc.ar(mul:0.3)}.scope
//—————————————————–
3. Defaults
UGen은 Argument에 default 값을 가진다. 이것을 알고싶으면 UGen을 선택하고 menu 에서
Lang>Open Class Def.을 선택한다.
예를들어 SinOsc에서 default frequency는 440.0이다.:
SinOsc : UGen {
*ar {
arg freq=440.0, phase=0.0, mul=1.0, add=0.0;
^this.multiNew(‘audio’, freq, phase).madd(mul, add)
}
*kr {
arg freq=440.0, phase=0.0, mul=1.0, add=0.0;
^this.multiNew(‘control’, freq, phase).madd(mul, add)
}
}
//——————————————
http://csound.x-y.net
Ji Youn Kang,
Csound Max Community