합성이론 15 : ESPS 와 Vocoders
지금까지 해왔던 것을 보면 oscillators, filters, amplifiers, envelope generators 이런 장치들은 모두 전형적인 분석 차감 신디사이저에 쓰이는 것들이라고도 말 할 수 있습니다. 지금까지 다루어 온 것은 주로 디지털 신디사이저와 관련된 합성의 방법에 관한것이었구요. 그러나, 우리가 지금까지 무엇을 어떻게 다루었던 간에 여러분은 모든 것을 하나로 통합할 수 있습니다. 즉, 초기의 소리는 신디사이저 ‘안’에서 합성된다. 라는 것인데요. 보통 신디사이저 내부의 oscillators가 바로 그런 일을 해 준다고 볼 수 있습니다. 비록 스스로 oscillate하는 필터들이 heads에 관여한다고 해도 말이지요.
1. 신호의 입력
여러분 중 다수가 아날로그 신디사이저를 가지고 계실 것입니다. 주로 이 기기들은 신호의 input을 허용하지만, 여러분이 vintage악기들의 back panel을 보면, 새로운 것이 없다는 생각을 가지게 될 것입니다. 만약 여러분이 첫 번째 non modular신디사이저로 돌아간다면, Monimoog도 믹서 안에 5개의 음원중에 하나로서 신호 입력을 허용한다는 것을 알 수 있습니다. 즉, 만약 여러분이 Moog의 3개의 내부 발진기와 noise generator의 스위치를 끈다면, 여러분은 단지 외부의 소리가 필터와 amplifier를 통해서 들어올 수 있다는 것을 알 수 있죠
단수한 것 같지만, 그 배열은 아주 다양한 세분성과 뜻하지 않은 위험의 요소들을 가지고 있습니다. 예를 들어 Minimoog는 amplifier에 초기 레벨 컨트롤이 없습니다. 이렇다는 것은 어떤 소리도 여러분이 건반을 누르기 이전까지 synth를 통과하지 않는다는 것입니다. 그러나 건반을 누르면 amplifier의 gain이 contour generator의 settings에 따라서 증가하며, 여러분이 외부의 오디오를 enveloped된 조각들로 잘라낼 수 있도록 해 줍니다.
반대로, 만약 filter의 cutoff frequency control이 0보다 크면 몇몇 낮은 frequency들이 건반을 누르던 말던, 그것을 통과하게 됩니다. (여러분이 키를 누르기 이전까지는 아무것도 들을 수 없다 해도 말입니다. 왜냐하면 gain이 0이기 때문에) 여러분이 건반을 누르면 필터의 주어진 contour generator는 cutoff frequency를 변경할 것입니다. (아니면 Amount control에 따라서) 그리고 더 크거나 작은 양의 외부 신호의 spectrum이 moog를 통할 수 있도록 해 줍니다. 게다가 여러분은, filter의 resonance를 사용하여서 외수 신호의 spectrum의 부분들을 강조 할 수 있습니다. 이것의 장점은 분명한데요, 외부 신호의 속성이 어떻던 지간에, 여러분은 Minimoog의 filter를 사용하여 새로운 음색을 만들어 낼 수 있다는 것입니다.
이런 능력에도 불구하고 Minimoog는 여전히 외부신호 처리부분에 있어서 아주 제한되어 있는데요, 결국 그것을 통과하는 소리의 음높이를 결정할 수 있는 방법이 없게 됩니다. 우리가 원하는 것은 신디사이저가, 기타를 사용해서 연주’하는 것이라든지 여러분의 목소리를 사용하여 ‘말하게’ 하는 것과 같은 외부 신호를 적용하는 것에 의해 제어될 수 있는 능력입니다. 그럼 여기서 2개의 module을 살펴보면서 이런 것들을 재현해 보겠습니다. : envelope follower 와 pitch-to-voltage converter
2.외부신호의 처리 (1) : Pitch-to-Voltage Converter
기타를 이용해서 신디사이저를 제어하고 연주하는 것을 생각해 봅시다. 우리가 지금 하고 있는 것은 pure analogue technology이기 때문에 MIDI-to-CV converter 와 같은 것으로 떠 넘겨 버리면 안됩니다. 대신 우리가 필요로 하는 것은 앞에서 말한 것처럼 pitch-to-voltage converter입니다. 우리는 이것을 주로 pitch/CV converter라고 부르지요. 이것은 입력에 monophonic signal을 받아들이는 장치 중 하나입니다. (한 신호가 하나의 음정을 가진) 그리고 음높이를 결정하며, 출력에 적당한 control voltage를 생성합니다.
만약 보든 것이 이것과 같이 ‘부분적’이라면, electronics 와 synthesis의 세계는 아주 단순할 것 같지요. 하지만 pitch/CV converters는 돌아다니는 신호나 주변 노이즈에 의해서 이상이 생길 수 있습니다. 이런 부분을 가만하여 우리는 2개의 sub-module을 첨가합니다. 첫번째 것은 단순한 오디오 amplifier로서 input level 또는 input gain control이라 부릅니다. 두번째 것은 Slew Generator, 또는 ‘Lag Processor’라 부릅니다. (그림3)
slew generators에 대하여 언급한 적은 없었지만, 그 형식이나 형태는 간단합니다. 이것은 하나의 voltage에서 또 다른 voltage로의 transition을 천천히 하게 해 줍니다. 따라서 ‘slewing’(비틀어지는)하는 갑작스러운 변화가 한 주기를 넘어서서 발생하게 됩니다.(복잡한 시스템에서 이 비틀어짐의 양은 Slew Rate control에 따라 달라집니다) 그림 4를 보면 천천히 변화는 신호들 (예를 들어 sine wave의 low-frequency와 같은)이 다른 영향이 없이 통과하는 것을 볼 수 있습니다. 반면 신호는 날카로운 transition과 함께 둥글게 됩니다. 흥미롭게도 하나의 짧은 스파이크는 완전히 소멸되게 되는 것을 볼 수 있습니다. 이것은 아주 이상적인 모습을 보여주지만, 아주 일반적인 모습이기도 합니다.
여러분은 지금 저 slew gen이 단순히 low-pass filter라고 여길 수 있게 되었을 것입니다. 비록 유용한 특정화 된 사용들 중 하나이지만 말입니다. (대부분 아날로그 신디사이저에서 이것은 대략0Hz ~1kHZ의 cutoff frequency를 가진 6dB/oct low-pass filter입니다. )
여러분은 거의 보통 Slew Gen과 그것의 역할을 ‘portamento’ 회로 정도로 설명할 것입니다. 이것은 키보드에서 만들어진 하나의 pitch CV에서부터 또 다른 하나까지의 transition을 부드럽게 해줍니다. 그러나 이것이 pitch CV converter로 걸려질 때, slew gen의 raison d’être는 피할 수 없는 결함을 제거하며, 이것은 pitch detector는 요구된 신호의 안전장치를 잃어버릴 때 발생합니다.. (slew gen없는 output CV는 아마 거칠게 주위를 jump하여 안전장치는 다시 형성됩니다.)
우리는 그림 3의 것을 강화하여 converter의 실행을 증진시킬 수 있습니다. 특정하게 하기 위하여 우리는 band-pass filter를 추가해서 그림 5에서 보여지는 받아들여진 frequency들의 좁은pass band를 만들 수 있습니다. 이것은 외부적인 신호나 pitch detector 와 섞인 높은 amplitude의 하모닉스의 위험을 줄입니다.
여러분은 아마 우리가 지금 기타에 사용되는 우리의 신디사이저를 제어하기 위해 필요한 모든 것을 다 갖추었다고 생각할 지 모르지만, 그림 5의 저런 복잡한 converter조차도 불충분합니다. 비록 단조로운 가 생성하여 여러분이 오실레이터의 pitch들을 결정하는 데에 사용할 수 있지만, 음의 소리크기를 변화시킬 만한 장치는 없지요? 이것은 또 완전히 다른 이야기 입니다..
3. 외부신호의 처리 (2):Envelope Follower
우리는 이미 pitch/CV회로가 오실레이터를 위한 CV를 제공할 것이라는 것을 결정했구요. 따라서 지금 VCF나 VCA를 제어할 CV를 생성할 수 있는 어떤 것이 필요합니다. 이것은 Envelope Follower (엄격히 말해서 ‘peak amplitude follower’)와 같은 것이 되겠습니다. 이것은 하나의 회로로서 어떤 wave의 positive peak의 amplitude를 측정합니다.
만약 여러분이 electronics에 관심이 있다면 그림 6에서 단순한 envelope에 하나의 peak을 취해보세요. 이것은 아주 단순한 방법으로 작동합니다. 만약 입력 신호의 연속적인 peak들의 amplitude가 증가한다면 그 축전지는 변화되고, 만약 peak의 amplitude가 줄어들면, 축전기는 다양한 저항 값에 의해 결정되는 비율로 방출합니다. 물론 연속적인 peak들 사이에 작은 방출이 있습니다. 만약 전체 envelope의 amplitude가 증가한다 해도, 여러분이 여러분 스스로의 component value 들을 선택한다면, 여러분은 그림 7의 파란색으로 보여지는 출력을 만들 수 있습니다. 여러분이 보시다시피 이것은 실제 signal의 envelope와 유사합니다.
pitch/CV converter의 사용에서처럼, envelope를 더 복잡하게 만드는 것을 피할 수는 없습니다. 그리고 그 연주를 증진시키기 위해서 Input Gain Control과 slew generator를 다시 더합니다. 이것의 후반부는 출력 CV를 더욱 signal의 envelope과 같이 만들며 돌출된 부분들을 평탄하게 해 줄것입니다.(그림8)
4. 모두 모아보아요
이제 모든 것을 함께 보아봅니다.
그림 9는 기타, 마이크, 씨디플레이어등과 같은 것으로부터의 출력이 될 수 있는 external signal을 보여줍니다. 그리고 2개의 signal path로 나누어집니다. 상단 path에 있는 4개의 블록은 그림5에서 보여주었던 것입니다. 반면 아랫부분에 있는 것은 그림 8에 의해 나온 것입니다. 파란색 화살표시는 audio signal을, 검정 화살표는 control voltages의 흐름을 나타냅니다.
이제 CV의 마지막을 보지요. 분명 입력의 pitch는 oscillator의 pitch를 control하고 있습니다. 반면 입력의 소리크기는 VCF의 cutoff frequency 와 VCA의 gain을 control합니다. Envelope follower는 따라서 contour generators에 의해 대체되며 그것은 전형적인 형태로 보여집니다. 따라서 oscillator가 출력의 기본 음색을 방출하는 반면, 들어오는 signal은 pitch를 결정하며 새로운 소리를 만들어 냅니다.
따라서 여기에 기타와 같은 외부 시그널을 사용한 여러분의 synthesizer를 제어하기 위한 완벽한 방법에 대하여 이야기 하였습니다. (이론상 -_-) 그러나 그림 9에서 몇가지 재미있는 음악적인 가능성을 보여준다 하지만, 한가지 중요한 점이 제한되어있습니다. 즉, 외부 신호가 출력의 음색을 조정할수 있는 능력은 아주 제한되어 있다는 것입니다. 실제로 음색에 영향을 주는 유일한 방법은 pitch CV또는 CV의 소리 크기를 필터의 cutoff frequency input으로 해줘야 할 것입니다. 그럼 여러분의 외부 신호를 소리 크기와 합성된 소리의 음색을 결정하도록 할 수는 없는것일까요? 물론 할 수 있습니다. 여러분의 synthesizers와 effects units의 하나에 감춰둔 그것. 바로 vocoder입니다.
5. Vocoders를 소개합니다.
tape이나 리듬machine과 같은 것에서 envelope follower로 들어가는 타악기연주를 play한다고 상상해봅니다. 아실지 모르겠지만 그 follower는 일련으로 envelope나 trigger로 사용할 수 있는 pulse를 감쇄하는 것을 만들어 낼 것입니다. 만약 여러분이 또 다른 외부 신호, 예를 들어 지속되는 오르간 코드 가 contour generator 에 의해 제어되는 VCA를 통하거나, envelope follower에 의해 trigger될 때 그 오르간은 chord를 리듬적으로 그 타악기 트랙과 함께 완벽한 synchronization되면서 play됩니다. 여러분이 key를 누르던 말던지 상관없이 말이지요.(그림10)
이 아이디어를 더 확장시키면, 여러분은 마이크를 대고 여러분의 목소리를 사용하여 키보드 연주를 articulate할 수 있습니다. 그리고 여러분이 말 또는 노래를 할때에 VCA를 통해 소리가 나가도록 해주고 단어 사이에 silence를 만들도록 합니다. (그림11)
불행하게도 그 envelope follower는 단순하게 여러분이 말하거나 노래하는 것의 amplitude peaks를 뒤따르는 것입니다. 그 단어들 자체는 완전히 상관이 없는 것이지요. 이것을 다른 방법으로 구현하기 위해서는 frequency들이 signal에 존재하는 것과는 상관없이 그것은 출력을 결정하는 전체 amplitude일 뿐입니다.
이것이 할 수 있는 한계점이 얼마나 되는지를 이해하기 위해서, 여러분이 1kHz아래에 어떤 frequency도 없고 그 위로는 많은 신호를 포함하고, 또 그 회로를 제어할 수 있는 최대값이 1kHz가 되도록 하는 신호를 상상해 봅니다. 이 시나리오에서 envelope follower로부터의 출력 또한 최대값이 될 것입니다. 1kHz위에는 어떤 signal이 없다고 하고 최대값이 그 frequency 아래에 있다고 바꾸어 생각해보지요. envelope follower는 최대 CV 출력을 생성할 것입니다.! 즉, 첫번째 예에서 단지 높은 frequency만 있고, 두번째 예에서는 낮은 frequency만 있다는 사실에도 불구하고 결과는 같게 나온다는 것! 이해 하시겠어요?
또한 2개의 path로 신호를 분리한다고 생각을 해 봅시다. 그리고 2개의 filter를 envelope followers의 쌍 앞쪽으로 놓습니다. (그림 12)
여기에서 low-frequency signals는 Envelope Follower 1이 CV를 만들어 내도록 하며, high-frequency signals는 Envelope Follower 2가 CV를 만들어 내도록 합니다. 만약 우리가 지금 이 CV들을 VCA들로 보낸다면, synthesizer를 형성하기 때문에, 입력되는 신호에 대한 응답이 ‘frequency-sensitive’ 가 됩니다. (즉 low/high에 의해서 결정된다는 이야기입니다.) 예를 들자면, 우리는 입력 신호의 frequency content를 사용하여 두 개의 oscillator에 의해 생성되는 신호의 연관된 amplitude를 결정하는 것입니다. (그림 13)
그러나 흥미로운 효과를 생성하기 위하여 여러 개의 VCO를 사용할 필요는 없습니다. 대신, 우리는 복잡한 신호를 택하여 그것을 band-pass filter의 두번째 bank에 넣어 많은 분리된 신호로 하모닉스의 그룹을 분리합니다. 각각은 frequency의 제한된 band를 차지합니다.
그림 14를 보세요.
이전처럼 envelope followers는 VCA의 gain을 입력의 frequency content와 일치하도록 적절하게 높이고 낮춥니다. (이것은 이때에 ‘Spectrum Analyser’가 됩니다.) 그러나 독립적인 oscillator에 의해 생성되는 신호의 amplitude를 제어하는 대신, VCA는 frequency bands의 각각에서 하모닉스에 amplitude를 제어합니다.
이것은 아주 중요한 결과입니다. envelope followers에 보여지는 신호가 여러분의 음성이고 oscillator가 band-pass filters의 두 번째 bank에 보여지는 신호(carrier)를 생성한다고 상상해 봅니다. 이 경우에 carrier는 출력의 기본 tonality를 생성하지만 modulator는 그것의 frequency content 와 amplitude를 결정합니다. 다시 말해서 modulator는 carrier를 articulate합니다. 자. 이것이 바로 vocoder인 것입니다.!
6. More Advanced Vocoding
많은 vocoder들은 internal carrier wave를 만들어냅니다. 비록 둥근 pulse wave가 목소리에 더 적합하겠지만(왜냐하면 이것이 인간의 vocal chord에 의해 생성되는 raw waveform에 가장 근접하기때문), 보통 sawtooth입니다. (풍부한 배음때문) internal white noise generator 또한 음성을 재 합성하기에 좋은 선택입니다. 이것 또한 spectrum의 모든 frequency를 포함하고 있기 때문입니다. 그러나 더 좋은 vocoder들은 2개의 external signal input을 제송합니다. 첫번째는 mpdulator구요, 두번째가 carrier입니다.(그림 15)
물론 modulator가 반드시 vocal signal이어야 한다고 말할 수는 없습니다. 기타나 다른 키보드나 어떤 어쿠스틱 악기, 씨디 플레이어나 라디오 추출등을 이용하여 소리를 사용할 수도 있습니다. (물론 여러분이 그 소리를 마이크와 transducer를 사용하여 전자 시그널로 바꾸어서 사용할 수 있구요) 이처럼 carrier는 어떤 신호가 될 수 있습니다. Carrier와 modulator와 같은 신호를 사용하는 것은 하나 또는 그 두 input에 oscillator들 중의 하나를 제공해 줍니다.
끝내기 전에, 우리의 vocoder에 2개의 마지막 박차를 가하고 싶습니다. 만약 여러분이 Roland SVC350과 같은 유닛의 전면 pannel을 보면, 여러분은 여러가지의 fader들을 볼 수 있습니다. 이것들은 envelope follower들에 의해 생성되는 CV를 scale하며, 여러분을 vocoder의 응답에 맞출 수 있도록 해 주며, 특정 band의 출력에 accentuate또는 attenuate하게 해 줍니다. 몇몇 vocoder들은 band-passed carrier signals 중 하나를 noise generator로 대체합니다. 이것은 sibilants와 consonants의 정확한articulation을 줄 때 아주 중요한 영향을 끼치는것입니다. (짧고 noisy한 소리, 모음없이 쓰이는 자음 ‘d’, ‘t’, ‘s’ 와 같은 소리들, 입술이나 혀에 의해서 음성없이 만들어지는 소리 등) 우리는 전면의 panel control과 noise generator를 첨가할 수 있습니다. (그림16)
자. 이런 박차에도 불구하고 또한 한계점들이 있습니다. 특히, band-pass filters의 낮은 resolution(전형적인 roll-off가 6dB/oct 또는 12dB/oct)은 출력 articulation이 원래 소리의 remote semblance(외형)를 유지하게 해 줍니다.
작품의 예로 Walter Carlos가 녹음한 A Clockwork Orange에서 그는 off-the-shelf Moog filter, oscillators, envelope followers and VCAs 를 사용하여 choral sounds를 재 합성 하였습니다.
결론적으로, 여러분의 sunthesizer가 어떤 external signal input 에 follower 와 pitch/CV converter를 가지고 있다면 이것은 훨신 더 강력하고 유용한 악기가 될 것입니다. 또한 이러한 아이디어를 통해서 다른 악기들을 simulate할 수 있는것도 사실이구요.
이번 챕터는 많이 늦었습니다. 제가 10월에 중요한 시험이 있는 관계로 조금씩 조금씩 더뎌지고 있습니다만 계속적으로 천천히 올려드리겠습니다. 그럼 즐거운 가을나날을 보내시기를 바라며~!