시뮬레이터를 지르려니 존심이 허락하질 않고..

진공관 프리앰프를 만들었을 때도 존심이 크게 작용을 했었는데, 그 때가 2006년이었으니까 무려 6년도 더 지난 일이 되었다. 진공관 프리앰프라도 아날로그 세계는 불편한 것이 사실이다. 과거 같으면 콤보 앰프에 꽂아놓고 마이킹도 했겠지만, 지금은 그러기엔 너무 눈치보이는 아저씨가 되었고, 비록 모듈러 프리앰프지만 모듈을 갈아끼우는 것도 불편한 노릇이고, 새 회로를 만들어서 해보자고 하기엔 너무 게을러졌다.

그러는 동안 기타 쟁이를 위한 앰프 시뮬의 역작인 Fractal Audio Axe Fx가 등장해서 날 몹시 설레이게 했고, 그 후 어찌어찌 흘러 흘러 미국에 왔는데, 내가 유일하게 미국에 오길 잘했다 생각했던 것은 Axe Fx II를 한국에서의 구입가 대비 2/3가격에 살 수 있게 된 것이고, 더구나 한국 회사로부터 수입을 얻는 게 아니라 상대적으로 내겐 더 싸게 느껴지는 환경에 와있다는 것이다. 이런 좋은 기회가 있음에도 불구하고 갑자기 나는 시뮬레이터를 왜 내 손으로 못 만들까하는 이상한 집념에 사로 잡히기 시작했다. 다들 나더러 이젠 편하게 살 때가 되었다며 ‘제발 아서라’하는 와중에도 불구하고.

그 쓸데없는 집념이 작용하게 된 이유는, 전기회로를 모델링하는 것은 전기 회로 개론에 나오는 너무나도 기초적인 내용이고, 그 모델링된 결과를 디지털 신호처리에 응용하는 것 또한 신호처리 치고는 중급 정도에 해당하는 내용이다. 더구나 진공관을 사용하는 기타 앰프 회로를 모델링하는 것은 더더욱 쉬운 일이며, 그것을 신호처리 연산으로 바꾸는 것은 그보다 더 쉬운 일이다. 다만, 이 모든 과정을 책으로 읽고 이해하거나 수많은 과정 중 하나를 실습한다면 말 그대로 쉬운 일이 될 수 있지만, 시작부터 모든 과정을 정리하고, 여러 번 반복할 수 있도록 과정을 단순화/자동화하고 실험해보고 튜닝하는 일들이 쉬운 일이 아니다.

여기서 왜 진공관 기타 앰프를 모델링하는 것이 쉬운 일인가 혹시나 근거를 ‘들이대’라고 하는 사람이 있을지 몰라서 ‘들이대자면’

0) 진공관 기타 프리앰프 회로는 매우 간단하다.

대부분의 기타 프리앰프의 증폭단은 모두 class A로 동작하는 회로이고 증폭단의 수는 많아야 5-6개에 불과하다 (실제로 소리에 영향을 미치는 증폭단은 3-4개다).

1) 진공관회로는 그 자체가 voltage controlled current source로 모델이 가능하다 (입력 임피던스가 매우 크다!)

간단하게 얘기하면 각 증폭단을 분리해서 모델링할 수 있다. 물론 근사하는 거다. 어차피 그런 거 근사하더라도 귀는 잘 모른다.

2) 필터의 차수가 낮다

Tone stack만 빼곤 대개 필터가 1차다. 간단하단 얘기다. tone stack은 귀찮지만 회로를 해석해서 함수를 하나 만들고 여기에 volume pot의 curve까지 고려해서 만들어 주어야 리얼리티가 살아나기에 피할 수 없는 단계이다.

그래서!!

오늘부터 진공관 회로를 간략하게 모델링하는 것에서 시작해서 그것을 어떻게 디지털 신호처리 연산으로 옮기고, 다시 그것을 어떻게 프로그래밍해서 어떻게 실시간 시뮬을 만들 수 있을지 생각해보고 시간이 되면 만들어보는 장기 프로젝트를 시작하려 한다. 여기에 이제서야 앰프시뮬에 붙기 시작한 레코드 음색 따라가기 기능에 대해서 생각해 보려고 한다. ‘시작이 반’인 만큼 끝까지 가지 못하더라도 나에겐 아마도 큰 소득이 되지 않을까한다.

개략적인 연재 순서다.

Contents:

1) General Theory of Tube amplifier modeling

2) A time domain model to simulate a tube distortion

3) Higher level design using MATLAB

4) Implementation: C++ Programming

5) Testing of several amplifier models

6) Impulse response modeling of a recorded sound

7) Test trials