๋ถ๋ฅ:ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
์ ํํ ๋ฐ์ง๊ธฐ
2. ์ค๋ช [ํธ์ง]
ํ ์ฃผ๊ธฐ๊ฐ 8192๊ฐ์ ์ํ๋ก ์ด๋ฃจ์ด์ง ์จ์ด๋ธ ํ
์ด๋ธ์ ๋ฐ๋ณตํด์ ์ฝ์
๋ค๋ฅธ ์ฌ์ธํ ๋ฐ์ง๊ธฐ๋ค
๋ค๋ฅธ ์ฌ์ธํ ๋ฐ์ง๊ธฐ๋ค
3. ํด๋์ค ๋ฉ์๋[ํธ์ง]
ar
kr
kr
4. ์ธ์[ํธ์ง]
freq Hz๋จ์์ ์ฃผํ์. audio-rate๋ก ์ํ๋ง๋จ.
phase ๋ผ๋์ ๋จ์. audio-rate๋ก ์ํ๋ง๋จ. +-8pi ๋ฒ์ ๋ด๋ก ์ฌ์ฉํด์ผํจ.
mul ์ถ๋ ฅ์ ๊ณฑํ ๊ฐ.
add ์ถ๋ ฅ์ ๋ํ ๊ฐ.
phase ๋ผ๋์ ๋จ์. audio-rate๋ก ์ํ๋ง๋จ. +-8pi ๋ฒ์ ๋ด๋ก ์ฌ์ฉํด์ผํจ.
mul ์ถ๋ ฅ์ ๊ณฑํ ๊ฐ.
add ์ถ๋ ฅ์ ๋ํ ๊ฐ.
5. ์์ [ํธ์ง]
// 200Hz๋ก audio-rate ์ฌ์ธํ๋ฅผ ์์ฑ,
// phase 0๊ณผ amplitude 0.5๋ก ์์
{ SinOsc.ar(200, 0, 0.5) }.play;
// ์ง์ ๊ฒฝ์ฌ๋ก ์ฃผํ์๋ฅผ ๋ณ์กฐ
{ SinOsc.ar(XLine.kr(2000, 200), 0, 0.5) }.play;
// ๋ ๋ณต์กํ ์ฃผํ์ ๋ณ์กฐ
{ SinOsc.ar(SinOsc.ar(XLine.kr(1, 1000, 9), 0, 200, 800), 0, 0.25) }.play;
// ์์ ๋ณ์กฐ (PMOsc ์ฐธ์กฐ)
{ SinOsc.ar(800, SinOsc.ar(XLine.kr(1, 1000, 9), 0, 2pi), 0.25) }.play;