합성이론 7장 : Envelopes, Gates & Triggers

합성이론 7장 : Envelopes, Gates & Triggers

지금까지 한걸 정리해보면, 처음 두 챕터에서 우리는 진동의 속성, 소리의 waveform을 보았고, 세 번째에서는 신호, modifiers, controllers의 관계에 대해서 보았고 envelope generator의 개념에 대하여 보았지요. 다음 3개는 filters를 보았습니다. 이제 웬만큼 되가는 것 같지요?
그럼 좋겠습니다만.. 아직 갈 길이 멉니다. 우리는 아직도 합성된 소리 자체가 왜 다른지, 그리고 왜 다르게 ‘느껴’지는지조차도 살펴보지 않았지요. 그래도 계속 해보지요. 오늘은 Envelopes, Gates 와 Triggers에 대하여 볼 것입니다.

아마 여러분은 analogue envelope generators에 대해 이해하고 있다고 생각하실 겁니다. ADSRs 이라는 것이죠. Attack time 은 소리가 얼마나 percussive한지, Decay 가 얼마나 소리를 지속하다가 Sustain level 까지 떨어뜨릴 것인지, 그리고 Release 가 소리를 어떻게 사라지게 할 것인지 결정한다는 것 등등. 간단하죠? 너무 간단한 것 아닙니까? 하지만, 사실 굉장히 많은 envelope shapes들이 존재하며, 많은 것들이 ADSRs보다 더 복잡하기도, 단순하기도 합니다. 이번 챕터에서는 일반적인 envelopes에서 벗어난 다양한 envelopes을 살펴보도록 하겠습니다.

1. Envelopes & Contours
sine 이나 square wave같은 파형을 보면 시간이 흐름에 따라 대칭적으로 반복되는 형태를 볼 수 있습니다. 만약 그것이 그렇게 반복되지 않는다면 소리의 음높이를 인식할 수 없게 되겠지요. 일반적인sawtooth 와 pulse waveforms또한 이런 방식을 취합니다. 다음 그림1은 단순한 wave이지만 대칭적이지도, 반복되지도 않습니다

지금은 그림 2처럼 voltage-controlled amplifier 와 같은 또 다른 부분을 회로 출력에 적용시켜 봅니다. 만약 이 amplifier의 gain이 그림 1에서 보여주는 voltage에 비례한다면 waveform 은 소리의 loudness contour가 되겠지요.(즉 생긴 대로 볼륨이 적용된다는) 만약 그와 달리 이것이 a voltage-controlled low-pass filter (a VCF) 가 된다면 그림 1은 소리의 brightness contour가 되는 것이겠죠! 분명히 그림 1의 외형은 우리가 Envelope Generator라 부르는 것이 될 수 있습니다. 앞의 챕터에서 설명한 부분이지요?
envelope 의 정의를 잘 내려보자면: 하나의 parameter가 시간의 흐름에 따라 변하는 graph로 envelope의 시각적인 형태를 보여주는 것. 이라 할 수 있겠습니다. 하지만 전형적인 synthesizer에서 parameter의 값을 modifiers에서 주어진 값을 사용해 바꿀 수도 있지요 (그림3)따라서 total envelope은 여러 장치들의 동시적인 액션들의 합이 됩니다. 다 따라서

우리가 보통 envelope generator 라 부르는 것은 주어진 parameter의 실제 envelope에 단지 하나 기여하는 것일 뿐입니다.
이런 이유로 예전에는 Envelope Generators를 ‘Transient Generators’로 불려졌다는 사실.
자. 다시 그림1을 봅시다. 첫 번째 단계는 Attack, 그리고 두 번째는 Decay이겠죠. 따라서 이것은 ‘AD’ transient generator가 됩니다. 그림 4 에서 여러분이 2개의 다른 AD contours를 single modifier(VCA 또는 VCF)에 적용시키면 어떻게 되는지 보여줍니다. 보시다시피 더 복잡한 양상을 띄게 되지요? 재밌습니다!!

2. Triggers & Gates
그림 4 는 어떤 주어진 시간에 하나 이상의 transient를 하나의 parameter에 적용시키는 것에 대한 이야기지만, 여기에는 하나 이상의 음을 연속해서 연주하게 될 경우에 대한 이야기도 해야 합니다.

아시다시피 대부분 analogue monosynths 는 keyboards에 의해 컨트롤됩니다. 아마 여러분은 key를 누를 경우마다 3개의 signal이 생성된다는 것을 알고 있을 겁니다. 그림 5를 보면서 아래를 보세요.
a. 그 중 첫 번째가 pitch CV입니다. 이것은 소리의 음높이를 결정하겠죠?
b. 두 번째는 Trigger입니다. 이것은 짧은 duration의 pulse입니다. 정확히 키를 누르는 순간에 transient generators 와 같은 장치에 액션을 취하라고 명령을 내려주는 것이죠.
c. 세 번째는 Gate입니다. Trigger와 마찬가지로, Gate는 다른 장치들에게 키를 눌렀다고 말해줍니다. 그러나 Trigger와 다른 점은 Gate가 여러분이 키를 누르는 전체 시간 동안에 ‘Open’되어있다는 것입니다.
여기서 숙지해야 할 점. 잘 보세요.

Trigger가 transient generator를 초기화 하지만, Gate는 키가 눌린 상태에서 떨어질 때까지 계속해서 contour를 적용시켜라. 라고 명령합니다, Gate없이 우리가 들을 수 있는 것은 그저 소리가 시작할 때 ‘띡’ 하는 소리 뿐일 것입니다.:

그림6에서는transient generator 가 어택 후에 전체 키가 눌려져 있는duration동안에 최대 voltage를 유지시키는 것을 보여줍니다. 따라서 우리는 이 장치를 Trapezoid transient generator라 합니다. (참고: Trapezoid 는 사다리꼴이란 뜻입니다.)


자. 이제 ADSR로 가봅니다. . 1970년대에 4단계 ADSR contour 는 아주 전형적으로 쓰여서 모든 transient generators를 ‘ADSRs’이라 불렀었지요. (그림 1, 6, 7). 이들 각각은 고립된 순간에 존재하는 것과 같습니다. 하지만 다음 음이 들어옴으로 인해서 contour은 시간이라는 요소를 가져야만 합니다. 따라서 우리는 Triggers 와 Gates를 timing signals이라 부른다는 것을 알아야 하며, 모든 synth 에 이들이 적용되어야 합니다. 왜 둘이 꼭 같이 쓰이느냐고요? 그 이유는Gate 가 trigger function을 연동시키게끔 해주기 때문입니다.

그림 8은 매우 빠르게 연주되는 부분에서 어떻게 쓰이는지 보여줍니다. 보다시피 손가락을 다음노트로 옮길 때 스타카토처럼 건반에서 완전히 떨어지는 것이 아니기 때문에 다이나믹이 적용되고 소리는 언제나 존재하고 있어야 하는 것이지요. 그래야 다음에 누르는 소리가 들릴 것이기 때문입니다. 이것은 re-trigger로 불려집니다. 이전 음이 완전히 떨어져(건반에서 손가락이)나갔는지 상관없이, 그리고 gate가 open되었느냐 아니냐 와 상관없이 re-trigger됩니다. Synth에서는 정말 중요한 부분이죠.

그림 9에서는 S-Trigger라 불리지만 사실은 하나의 Gate입니다. 보시다시피 envelope 은 별로 재미없습니다. 다음 음표들이 들어올 때에 우리가 들을 수는 있지만 앞에서 보았던 다이나믹은 들을 수 없게 되겠지요.

Figure 10: A re-triggered AD transient.

Figure 11: The failure of the AD transient with no triggers.

자 여기에서 위에 서 적용했던 그림 8의, Odyssey의 경우와 Minimoog 경우를 ADs 나 trapezoids 에 적용시켰을 경우를 생각해봅니다. 만약 contours 가 ADs이면 Odyssey solo 는 거의 비슷하게 소리 나겠죠? (그림8과 10을 비교하세요)그러나 Minimoog solo는 처음 노트가 연주된 후 그 다음은 들을 수 없게 됩니다(그림9와 11을 비교하세요)

Figure 12: A re-triggered trapezoid transient.


Figure 13: A set of gated trapezoid transients.

이상하게도 contours 가 trapezoids이면 두 solos는 동등하게 소리날것입니다. (그림 12와 13)

Figure 14: A contour generated by a ‘reset to zero’ transient generator.

그림 14를 봅니다. (also on page 134). 이것은’0으로 reset’된것의 trapezoid transient generator 입니다.몇몇 synths에서는 이런 방법으로  reset 합니다.그리고 이것이 소리가 토막토막 나게 해 줍니다. 더 느린 Attacks과 Releases때문에 이것은 string ensembles 소리 등에 쓰여서 하나의envelope generator가 매번 resets 되도록 해주는 것이죠.

3.Putting It Together
여러 가지를 살펴보았지만 그밖에도 또 다른 여러 가지 transient generators들이 있습니다. 결국 우리는 4-stage contours만 보았습니다만, 그 이외에도 5개 이상의 단계를 가진 녀석들이 있지요. 예를 들어 Hold stages 와 Break points를 가진 것들이 여기에 포함되겠죠? 또한 knobs 또는 sliders 들의 사용과 더불어 Control Voltages 의 각각 단계를 제어할 수 있게끔 해주기도 할 것입니다. 또, 이들을 사용할 수 있는 방법은 modulation speed입니다. LFO speed 와 depth 등이 이들의 설계방식에 따라 적용될 수 있는 변수가 될 수 있다는 것입니다. single VCO 또는 VCF의 contours로 적용될 수도 있고요. Trigger를 아주 조금 delaying하고 등등.. 이것이 단순하게 하나의 음의 모양만 예쁘게 깎아 주는 것 이외에 아주 다양하게 사용될 수 있다는 것. 조금은 감이 오시는지요.

이처럼 여러분이 재미있고 자신만의acoustic sounds를 만들고 싶다면 소리의 밝기, 크기, 윤곽을 만들고 분석할 줄 알아야 하며 무엇보다 중요한 것은 단순한 부분에서 다른 부분에 적용시켜 볼 수 있는 응용력이라 하겠습니다. 이는 많은 부분에서 ‘절약’이라는 의미를 synth에 적용시킬 수 있다는 것. 아시겠지요?

합성이론 6장 : Responses & Resonance

합성이론 6. Responses & Resonance
1. Cutoff frequency변화하기
지난번에 이어 이번에도 6dB/oct low-pass RC filter로 시작해 봅니다. (Figure 1)

이것을 Figure 2처럼 바꾸어 봅니다. 즉 resistor에 변화할수 있는 resistor로 바꾸어 봅니다. 일단 이곳에 적용되는 모든 수학공식은 뒤로하고 (^^;)여기에서 Fc(cutoff frequency)는 저항, Capacitor(축전기)에서 생성되는 ‘전기저항의 양’과 직접적인 관계가 있습니다. 무슨말이냐구요? 즉!! 저항이 증가하면 Fc가 떨어진다는 것을 의미합니다. 반대로, 저항을 줄이면 Fc는 상승하게 됩니다. 따라서 우리는 이것을 Synthesis에 자유롭게 적용시키고 조절하기 위하여서 바로 slider나 knob등의 장치를 사용할 수 있게 되는 것입니다.
이는 high-pass filter에서도 마찬가지 입니다. 아래 figure 3, 4가 각각 low/high-pass filter에서 Fc가 설명한 바와 같이 적용되는 것을 보여줍니다. 그리고 figure 5에서는 Fc가 변화하는 가장 단순한 high-pass filter를 보여줍니다.

2. 다른 필터를 살펴보아요

-Band-pass Filter: 잘 아시지요. 바로 양쪽 끝부분의 감쇄를 위한 Filter입니다.
Figure 7에서처럼 단순하게 low, high pass filter를 나열합니다. 여기에서 2가지 문제가 발생하게 됩니다.
첫째로: RC필터를 직렬 연결할 수 없으며, 기대하는 결과를 얻을 수도 없습니다.
두 번째로: High/Low에 같은 FC를 적용시키면 signal전체가 감소하게 됩니다. (가장 소리가 큰 지점이6dB가 되기 때문에)
따라서 이것은 아주 훌러덩 다 깎아 버린 조용한 소리를 만들겠지요?

그럼 어떻게 해야 하느냐! 또 두 가지 방법이 있습니다.
첫째로: 입력, 출력 impedance (임피던스 ((교류 회로에서의 전압의 전류에 대한 비(比)))가 서로로부터 직렬단계가 고립되도록 디자인 합니다.
둘째로: Fc를 나누고 각각 요소의 응답을 12dB/oct또는 24dB/oct로 증가하는 것에 의해 기울기를 가파르게 합니다. (말로 하자니 힘듭니다. 그림 보면 쉽죠? Figure 8)

-Band-Reject Filter: 이것도 잘 아시지요? 그럼 만들어 봅시다. 1Khz의 Fc를 가진 LPF(low-pass filter)가 있고 5KHz의 Fc를 가진 HPF가 있습니다. 그럼 합체!!!  이렇게 되면 좋겠습니다만, 안됩니다. 왜냐하면 각각 필터에서 비롯되는Phase의 이동이 side effect를 가져오기 때문입니다. Figure 9, 10에서 이상적인 Band-Reject Filter의 제조과정(?)을 참고하여 주세요.

3. 빼놓은것?
여기까지 다양한 필터의 모습을 보았습니다. Low, High, Band pass, Band reject, Comb까지(이론4장) 여기서 우리가 고려하지 않은 부분은 바로 Voltage control입니다. 위의 Figure 2, 5, 6에서 외부 Voltage를 달수 있습니다.  Envelope generator와 LFO등등을 사용할 수 도 있습니다. Figure 11을 참고하세요.

4. Resonance
스피커앞에 String을 달아 놓고 음악을 조금 크게 틀어보면 우리는 직접적으로 눈으로 string이 떨리는 것을 확인 할 수 있습니다. 우리는 이것을 Resonance(공명)라고 합니다. 존재하는 모든 물체는 어떤 특정한 Frequency에 반응하게 되어있습니다. 집에서 가끔 피아노 연습을 하다보면 어떤 특정음에서 피아노 위에 있는 시계에서 찌리릭, 하는 소리를 낸다거나, 옆에 놓아둔 보면대 쇳소리가 나는 경우등이 생각나는군요. 그럼 경험들 있으시죠? 이것이 직접 피아노에서 나오는 특정한 Frequency와 물체가 반응하는 것입니다.
그럼 Resonance와 Filter와는 무슨 관계일까요?
A.Nothing. 이 둘은 아무 관계도 아닙니다. Passive RC filters는 Resonant frequency를 가지지 않습니다. 어떤 시그널이든 이 필터안에 집어 넣을수 있습니다. 필터가 아무리 복잡한 형태를 띄고 있다 해도 말이지요. 필터는 단순하게 pass시키고 감쇄시키고 할 따름이겠지요?
B.Lots. 만약 저항(resistor)과 Capacitor가 유도회로 inductor와 합쳐지거나, 2개 이상의 poles를 가진 active회로에서 (지난 이론 참고하세요)사용하면, 특정 frequency에서 응답하는 거대한 peak을 가진 비교적 단순한 회로를 만들 수 있습니다. (말이 어려우면 그림으로 figure 12)

모든 passive filter는 전체보다 작은 gain을 가지지만, Active resonant회로는 위와 같은 이유로 frequency를 증폭시킬 수 있게 된다는 것입니다. 그리고 이는 Fc에 근접한 Frequency가 됩니다.

Figure 13에서는 resonant low-pass filter를 보여줍니다. 여기서 peak의 넓이를 Q라 합니다. Q가 낮으면 peak는 넓어집니다.

만약 여기에서 Voltage controller 사용하여 Fc를 위아래로 몰리게 조절할 수 있습니다. 그러면 Harmonics가 집중되는 위치 또한 함께 바뀌게 됩니다. 음색이 변한다는 이야기겠지요.

5. Self-Oscillation
위에서 Q를 계속 증가시키면 resonance는 너무 두드러져서 high/low frequency가 아예 사라지게 되고 또다른 현상이 발생하는데, Figure 16에서 보면 와우. Oscillator가 되었죠? 재밌지 않습니까? 아.. 필터란!!

6. 오옹? 오옷!
resonant low-pass filter는 subtractive synthesis의 소리를 만듭니다. 참으로 filter가 만들어내는 다른 효과와 현상에 대하여 좁은 시야를 가지고 본다면 이끌어 낼 수 있는 것이 별로 없지만, 정말 다양한 실험과 관찰을 통하여 우리는 여러 가능성을 열어갈 수 있는 것입니다. figure 14와 16에서 보여주는 가능성에 대해서 몇 개만 짚어봅니다.
*고정된 filter는 특정 frequency를 강조하고 성격을 만들고, 소리를 돌출시킵니다.
*2~3개의 고정된 filter는 소리에 formant를 만들고 어쿠스틱 악기, 목소리등의 성질을 흉내낼 때 쓰입니다.
*완만한 Q를 가진 resonant filter를 사용하여 Fc가 Pitch를 Track하도록 만들면 그 성격이 강조된 소리를 경험할 수 있고 그 성격이 pitch에 따라 일관되게 들리게 될 것입니다.
*Q를 더 증가시키면 위에서 설명한 self-oscillation의 위치에 다다르게 됩니다. (모든 경우가 다 그런 것은 아닙니다) 이는 distortion을 만들어 내어 특이한 소리를 얻어낼 수도 있습니다.
*Q가 최대값이 되면 filter는 sinewave gererator가 된다는 사실!!

7. 결론
Analogue synth는 여러 filter들을 제공합니다.
a.그들은 서로 합쳐집니다.
b.볼륨 조절됩니다.
c.넓은범위의 modifier로 사용하기 위한 Fc의 조정이 사용됩니다.
d.resonant되는 성질로 인하여 시그널을 다양하게 변화시킵니다.
e.Cutoff slopes를 제공하여 self-oscillation이 됩니다.
f.필터가 oscillator로 변신합니다.
g.Q를 CV source를 사용하여 조절합니다.
h.아주 작은 숫자가 또 다른 signal을 feedback loop에 집어 넣을 수 있도록 해줍니다. 따라서 resonance effect를 만들어 낼수 있게 해줍니다.

죽이지 않습니까??

[Link]Software Supporting OSC

Software Supporting OSC
List of software supporting OSC – these are most relevant for study, since they can communicate with SC for networked performance/installations:

-Csound (http://AIMI.dist.unige.it/AIMICSOUND/AIMICSOUND_home-en.html)
-Grainwave (http://www.7cities.net/users/mikeb/GRAINW.HTM)
-Flash (via flosc) (http://www.benchun.net/flosc)
-HTM (http://cnmat.CNMAT.Berkeley.EDU/CAST/Server/htm.1.html)
-MaxMSP/Jitter (http://cnmat.CNMAT.Berkeley.EDU/OSC/Max)
-JMax (http://www.ircam.fr/produits/logiciels/jmax-e.html)
-Macromedia Director Xtra “OSCar” (http://www.mat.ucsb.edu/%7Eg.kling/OSC/oscar.html)
-Pd (Pure Data) (http://iem.kug.ac.at/pd/, http://barely.a.live.fm/pd/cxc, http://barely.a.live.fm/pd/OSC/)
-Python (via ProctoLogic) (http://galatea.stetson.edu/%7EProctoLogic)
-SuperCollider (http://cnmat.CNMAT.Berkeley.EDU/OSC/SuperCollider)
-Reaktor (http://www.nativeinstruments.de/index.php?reaktor_us)
-Rtcmix (http://www.music.columbia.edu/cmix)
-Sodaconstructor (http://www.soda.co.uk/explore/osc.htm)
-Squeak (via Siren) (http://www.create.ucsb.edu/Siren/)
-VisualWorks Smalltalk (via Siren) (http://www.create.ucsb.edu/Siren/)

* 강지연님에 의해서 게시물 이동되었습니다 (2005-05-26 10:14)