합성이론 3장 : Modifiers and Controllers

합성이론 3. Modifiers and Controllers
지난번에 보았던 배음의 구조 이외에도 소리를 결정하는 요소에는 여러 가지가 있겠지만 소리에 특정한 요소를 부합하여 새로운 요소로 변화를 시킬 수도 있지요. 그 중에서 우리는 Controllers와 Modifiers를 보겠습니다.

소리가 있으려면 시작과 끝점이 필요하죠. 즉 하나의 소리는 시작과 끝점을 가진 형태를 가지고 있게 됩니다. 그럼 그 형태가 일정한 상태로 유지될 수도 있겠지요. 하지만 존재하는 소리가운데에서 어떤 소리도 그대로 정지해 있지는 못합니다. 하지만 우리는 이런 소리를 만들어 낼 수는 있지요. 그것을 만들어 내는 것이 바로 Signal Generator라고 하는 것입니다. 그리고 우리는 만들어진 신호를 Amplifier를 통하여 Volume이라는 옷을 입혀서 스피커로 나가게끔 하지요.

그럼 다음 아래의 그림을 보면, signal을 생성해내고 옷 입으러 가는데, Controller라는 놈이 옷장으로 침투하여 새로운 옷을 입게 해주는 것이 보입니다.

Volume, Voltage, Amplitude 모두 조금씩 차이가 있다지만 같은 개념을 설명합니다. 그리고 Controller가 Amplifier에 들어가서 Voltage를 조절하여 새로운 옷을 입힌 Signal을 만들어냅니다.
우리는 이것을 Control Voltage, 또는 CV라 부릅니다.
우리는 주로 이런 과정을Gain을 준다고 이야기하지요. Amplifier의 ‘Controller’입력에 적용된 Voltage 때문에 Amplifier는 signal에 그에 따른 특정Gain을 적용합니다. 이것을 Voltage Controlled Amplifier, 또는 VCA라고 합니다.

Amp에 있는 Gain손잡이를 완전히 돌려서 닫으면 CV는 0volt가 되며, Gain은 0이 됩니다.
반대로 Gain손잡이를 완전히 끝까지 올리면 CV는 10volt 그리고 Gain은 최대값이 됩니다.
자 그럼.. 다음과 같은 실험을 해보지요. 손잡이를 0에 두었다가 10v까지 올렸다가 5v까지 내리고 다시 0까지 내렸다고 치면 다음과 같은 그림이 되겠지요?

자. 그래서 옷을 입고 나온 이 그림이 바로 “Envelope”라는 개념이 됩니다. 제가 유아틱한 단어를 사용하지만, 그래도 이해하고 기억하기엔 더 좋으리라 생각이 듭니다. 그리고 이렇게 amplifier를 조정하는 장치를 우리는 Envelope Generator라 하며 짧게 EG라고도 합니다.

ADSR (Attack/Decay/Sustain/Release)이라고 하는 것은 가장 흔하게 사용되는 EG입니다. 3단계로만 이루어진 ADR(Attack, Decay, and Release)도 있지요.
여기서 알아야 할 점은
-Attack은 Sound가 최대의 소리크기로 가는 속도를 결정하게 된다는 것.
-Decay는 소리가 감쇄하는 속도를 결정한다는 것
-Sustain level은 언제까지 소리 크기가 지속되는지 결정한다는 것.
-Release에 의해 결정된 시간 안에 마지막 단계, silence로 decay된다는 것.
입니다.
단순하고 당연한 이야기처럼 들리지만, 다시 한번 읽어보고 읽어보시면 당연함 속에서 많은 가능성과 간과하기 쉬운 여러 가지 측면을 발견할 수 있을 것이라 생각합니다.

요기서 잠깐 oscillator에 대한 이야기로 다시 넘어가 보겠습니다. 모든 소리는 기본배음을 가진다는 것 기억하시죠. 만약 이 기본음이 20Hz(초당 20번 진동)에서 20.000Hz의 범위가 되어야 우리가 그 소리를 귀로 인식할 수 있게 됩니다. 이것을 가청주파수라고 합니다.  잠시 다른이야기였지만.. 아무튼 20Hz가 안되는 frequency를 생성해 내는 oscillator를 Low-Frequency Oscillators (LFOs)라 합니다. LEO는 주로 0.1Hz~20Hz의 진동을 만듭니다. 우리는 이것을 다음 그림처럼 적용시킬 것입니다.

그럼, signal이 하나 만들어지지요.
그리고 옷입으러 (–;)들어가지요 Amplifier로..
그리고 옷장에 LFO에서 만들어진 wave가 들어갑니다. 그리고 이것이 Controller의 역할을 하게 됩니다. 이것은 LFO가 CV로 사용되어 Tremolo 를 만들어 내는 하나의 단순한 응용을 보여준 것입니다. 지금은 단순한 방법으로 사용되었지만 얼마든지 많은 응용을 만들어 낼 수 있습니다.

모든 장치들이 사실은 그 스스로는 비슷한 일들을 합니다. Signal을 만들어내는 등등의 단순한 작업들이지만, 이것들이 어디 앞, 어디 옆, 누구와 연결되느냐에 따라서 Signal generator, Modifier, Controller등의 역할을 하면서 아주 많은 차이와 변화를 일으킬 수 있게 되는 것입니다.

So far, So good? Good!

합성이론 2장 : 타악기

합성이론 2 : 타악기

간단한 waveform등을 이용하여 우리는 악기들을 모방 해 볼 수 있습니다.
예를 들어
saw tooth wave(톱니파)는 금관, 현악기 등을
square wave(사각파)는 클라리넷과 같은 목관악기 소리를
pulse wave는 오보에나 바순과 같은 더 얇게 소리가 나는 목관악기를
saw tooth와 pulse를 합치면 베이스기타와 같은 소리를 넵니다.

앞에서 말한 3가지 주요 wave들은 모든 악기를 모방할 수 있는 ‘근원’을 제공합니다.

1장에서 말한 진동에서 줄의 ‘길이’가 1차원입니다. 하지만, density(밀도)와 tension(긴장도)등이 이에 영향을 끼치게 되겠지요. 3차원 세계에서는 이것은 ‘하나의 주요 차원’을 가지게 됩니다. 하지만 줄이 아닌 ‘막’을 둥글게 펼쳐서 실험해 보지요. 금방 눈치를 채셨겠지만, 줄이 1차원이라면 이런 면을 가진 것을 2차원이 된다는 것입니다.!!

드럼의 면의 정 중앙을 때리면 위아래로 진동을 하는 모습을 볼 수 있으며(Figure 2), 그것은 마치 현이 진동하는 것과 비슷한 양상을 가집니다. 우리는 이것을 임의로 막의 w01 mode라고 하겠습니다.
그런데 여기에서, 우리는 현에서와 마찬가지로 막의 절반이 되는 부분을 잡고 배음을 만들어 낼 수는 없습니다. 지난번에 3분의 1지점에서 만들어낸 3번째 배음을 생각해볼게요.  현에서처럼 하려면, 정 중앙에서 3분의 1되는 지점에서 손가락을 얹어서 치면 될까요? 안타깝게도 그렇게 간단한 문제는 아닙니다.
우리가 2분의 1(2번째 배음) 3분의 1(3번째 배음)이라는 것을 zero point라고 하며, 이것을 ‘1/정수’로 설명합니다. 우리는 이것을Bessel Function이라 합니다. 현에서 zero point가 1/정수로 설명되지만 드럼 면에서 zero point는 중앙에서 42.6%의 지점을 이야기 합니다. 이런 방법으로 진동하는 드럼의 frequency는 w02 mode라 하며 기본음의 2.296배가 됩니다.

그럼 드럼스킨의 w03 mode는 어떻게 될까요? 그것은 중앙에서 27.8과 63.8%의 부분이 되며 기본음의 3.6배의 frequency를 만들어냅니다. (figure4)

각각 다른 mode들은 다른 amplitude를 가지며, decay시간도 다릅니다. 이런 특징들이 드럼의 소리를 복잡하고 단순한 하모닉 오실레이터에서 생성된 wave form으로는 만들기 어렵게 합니다.

예를 들어, sawtooth의 처음 4개 하모닉스와 드럼의 것과 비교를 해보면, 드럼의 것이더 많은 하모닉스를 포함하며, 고르지 않은 배열을 나타냅니다. 이것이 드럼의 사운드를 ‘atonal’하게 만듭니다.

드럼을 세게 치면 음높이는 올라가는데, 이는 기본음의 frequency가 막의 변위와 관계가 있기 때문입니다.

Noise Generator에 대해서 들어보셨지요. 이것은 모든 오디오 프리퀀시를 생성하며 많은 아날로그 드럼 사운드의 기본을 제공하게 됩니다.
심벌과 공(gong)과 같은 악기 또한 드럼과 비슷한 양상을 가집니다. 이 악기들의 차이점은 무엇이지요?  바로 가장자리 입니다. 가장자리 부분이 열린 상태로 있지요. 따라서 이 악기들의 진동방법은 또 다릅니다. 그러나, 기본적인 속성은 같은 방법입니다. (면에 의한 것) Bell과 같은 악기는 3차원 적인 양상을 가지게 되겠지요.  Metallic sound는 noise Generator가 아닌 Ring Modulator로 생성하는데 이것은 응집되어 있는non-harmonic overtones을 생성하기 때문입니다. 잘 선택된 필터와 envelope들을 함께 이용하여 단순한 하모닉 오실레이터의 능력을 훨씬 넘어선 놀라운 소리의 모방을 만들어 낼 수 있습니다.

IIR $ FIR filter

>>Csound에서 Filter에 대한 opcode를 올려 놓았는데요, 설명중에 따로 필터에 대한 부분을 띄어 다른 분들도 보실 수 있도록 해 놓았습니다.
중요한 부분인데 Csound안하시는 분들은 안보실 것 같아서요 ^^

filter에는 크게 IIR필터와 FIR필터로 나뉩니다.
IIR필터는 Infinite Impulse Response Filter 우리말로 하면 무한 임펄스 응답 필터인데, 그 원리는, 만익 입력 단의 신호를 저장하여 딜레이 라인을 만들지 않고 출력단의 신호로 다시 보내어 딜레이 라인으로 사용한다면 메모리에 입력할 필요가 없어서 무한의 신호를 사용할 수 있고, 적은 게수로도 충분히 필터 효과를 볼수 있습니다. 이렇게 출력측 신호를 입력측으로 다시 보내어 얻어지는 필터를 피드백 또는 리커션 이라고 하며, 출력측에서 얻어 입력측으로 돌려보내는 신호는 무한하기 때문에 무한 임펄스 필터라 합니다.
그럼 FIR필터는 뭐시다냐. Linear Phase Response 즉 직선 위상 응답 필터입니다. 이 필터의 사용은, 주파수에 의존한 딜레이 라인으로 인해 위상이 찌그러 지는 Phase Distortion을 막아 주며, 피드백이 없어서 Overflow가 발생하는것을 막아주므로 안정적인 필터를 디자인합니다. 대신 IIR필터보다 더 많ㅇㄴ 메모리와 계산을 요구합니다.
IIR필터는 여러 함수 모양의 컷오프와 증폭을 FIR필터에 비해서 적은 계산으로 만들 수 있습니다. 출력에서 얻어지는 피드백을 사용하지 않으므로 출력을 저장하기 위하여 메모리를 사용하지 않아도 되고, FIR필터를 위해서 많은 계산을 요구하지도 않으므로, 저가의 필터를 구현 할 수 있습니다.
-참고서적:Computer music 최영준 저.