이전 글 Digital Sound at Home Studio #1 – DAW Digital Sound at Home Studio #0 – 개요
이번에는 MIDI에 대해서 알아봅니다.
MIDI

컴퓨터 음악에 관심이 있는 사람이라면 컴퓨터 음악이라는 말을 들었을 때 DAW보다는 MIDI를 먼저 떠 올리는 사람이 더 많다. 사실 MIDI라는 것은 Musical Instrument Digital Interface라는 Full Name에서 알 수 있듯이 신디사이저, 사운드 모듈, 마스터 키보드 등과 시퀀서(DAW)가 연주 정보를 상호 전달하기 위해 정해진 규격이다.
쉽게 말하면, 디지털 악기의 소리 자체가 전해지는 것이 아니라 연주 정보만을 교환하게 되는 것이다.
비유를 하자면 MIDI는 악보의 역할, 신디사이저(음원 모듈)가 악기의 역할을 하며, 시퀀서가 연주자(혹은 지휘자)가 되어 연주를 하는 것이다.

그런데 MIDI 파일이 소리 정보를 가지고 있지 않다보니 어떤 악기를 통해서 재생하느냐에 따라 악기소리가 다 달라지고, 소리 크기, 이펙트 등 여러 부가 정보들 또한 달라질 수 있다.
물론, 음악의 3요소인 리듬, 멜로디, 하모니는 대부분 호환이 되지만, 그 외의 것을 표현하는 것에 있어서는 악기마다 고유의 컨트롤 넘버를 가지고 있는 경우가 상당한 것이다.
General MIDI(GM)라는 표준 규격이 있기도 하지만 General MIDI만으로는 음악적 표현을 모두 표현하는데 한계가 있다. 그래서 악기 제조사들은 자사 악기 고유의 컨트롤 번호와 컨트롤 방법을 만들게 되었고 General MIDI는 현재 의미가 많이 퇴색되어 있다고 생각한다.
하지만, 인터넷 등에서 구할 수 있는 MIDI 파일은 보통 GM 규격에 맞춰져 있어서, General MIDI를 지원하는 악기(신디사이저 혹은 사운드모듈)를 보유하고 있다면 쉽게 들어볼 수 있다.
뒤집어 말하면, 악기를 보유하고 있지 않을 때는 MIDI를 들어볼 수 없다는 얘기인데, 다행스럽게도 General MIDI는 Windows XP 이상이라면 “Microsoft GS Wavetable SW Synth”라는 소프트웨어 기반의 GM 음원이 탑재되어 있다.

MIDI는 기본적으로 한 아웃풋에서 16채널을 동시에 사용할 수 있다. 16채널이라 함은 하나의 MIDI 아웃풋에서 동시에 16가지 소리를 낼 수 있다는 뜻이다. 이 16채널은 MIDI 규격에 의해 정해져 있기 때문에 16가지 악기소리를 동시에 낼 수 있는 것은 맞지만, 보통 악기마다 정해져 있는 동시 발음수의 제한에 걸려 16채널을 마음대로 쓸 수 없는 경우가 많다. 이는 신디사이저(사운드 모듈)를 구입하기 전에 Spec.을 보면 64 poly, 64 voices, 128 poly 등과 같이 해당 악기가 동시에 낼 수 있는 소리의 개수가 표시되어 있다.

위 제품은 patch(악기 소리)의 복잡도에 따라 20~90 voices를 낼 수 있다고 표시되어 있는데, 이는 신디사이저 특성 상 여러 소리를 섞거나 효과(Delay, Flange 등)를 삽입하는 경우에는 동시 발음 수에 영향을 주기 때문이다.
더 깊게 들어가면 복잡한 내용이 많지만 이후 실습에서 더 알아보기로 하고, MIDI에서 기억해야할 요점은 MIDI 파일이 중요한 음악적 데이터를 가지고 있다는 것이지만, MIDI 파일이 실제로 악기 소리를 포함하고 있지는 않다는 것이다.
Audio Interace와 ASIO Driver
PC에서 3D 그래픽을 원활하게 이용하기 위해선 GPU가 필요하고, 그것을 컨트롤하는 그래픽 드라이버가 필요하다. 사운드도 마찬가지로 원활한 재생, 녹음을 위해서는 Sound 전용 DSP(Digital Signal Processor)와 드라이버가 필요하다. Pro Tools나 Pyramix와 같이 전용 DSP와 전용 카드를 사용하는 장비들은 그만큼 가격이 비싸지만, 그 외 일반적인 윈도우 기반 Audio Interface는 대부분 독일의 Steinberg社의 ASIO 라는 드라이버를 지원한다.

ASIO는 Audio Streaming Input Output의 약자로 사운드 신호를 OS를 거치지 않고 사운드 카드와 DAW를 직접적으로 연결해 준다. OS를 거치는 단계를 bypass함으로써 Latency가 줄어들고 불필요한 Sound Processing 단계가 없어짐으로 본연의 소리를 그대로 전달할 수 있다.
원래 ASIO 드라이버는 외장 오디오 인터페이스(사운드카드)를 위해서 설계된 드라이버다. 그래서 사운드카드를 구입하기 전 Specifications를 살펴보고 ASIO를 지원하는지 미리 살펴보아야한다. ASIO는 외장 오디오카드에서 거의 표준 드라이버로 통하기 때문이다.
하지만 초기에 자신에 맞는 상품을 고르지 못하는 우리들을 위해서 윈도우의 WDM드라이버를 ASIO Driver로 인식하게 하는 소프트웨어가 개발되어 있다.
ASIO4ALL이라고 불리는 무료소프트웨어로 http://www.asio4all.com 에서 다운로드 받아 설치할 수 있다. 상업 목적으로 제작된 소프트웨어가 아니라 업데이트가 늦지만, 현재 다운로드 가능한 버전도 기본적인 작업에 충분히 안정적으로 사용할 수 있다.

ASIO4ALL의 설정화면이다. ASIO Buffer Size로 Latency와 안정도를 조정한다. 짧은 Latency를 가지기 위해 Buffer Size를 낮추면 그만큼 불안정해져서 많은 수의 트랙이나 이펙트를 사용할 수 없게 되고, 버퍼를 늘려서 안정되게 하면 반대로 Latency가 길어져 실시간 녹음을 할 수가 없다. 일반적으로 사용자 PC의 성능에도 크게 영향을 받지만, 동일한 사양에서도 여러 가지 환경에 따라 안정적인 버퍼 값이 달라질 수도 있다. 즉, 설정 값의 정답은 찾을 수 없어서 작업을 하면서 본인의 사양에 맞는 적절한 값을 찾아야 할 것이다. 심한 경우는 프로젝트마다 값을 조금씩 다르게 줘야할 때도 생긴다.
VST 및 VSTi (VST : Virtual Studio Technology)
이때까지 컴퓨터 음악작업을 위해서는 외관만으로도 충분히 대단해 보이는 Synthesizer 혹은 건반 없이 소리만을 담고 있는 Sound Module, 샘플러 등 악기 소리를 낼 수 있는 외장 악기를 필수로 갖추고 있어야 했다.



Synthesizer는 원칙적으로 Oscillator로 기본 파형(Sine, Triangle, Sawtooth, Square Wave 등)을 만들고 그 파형들을 조합해서 새로운 소리를 만들어 내는 기기다. 피아노, 바이올린 등 악기들의 음색에 따른 파형을 분석해서 그와 유사한 음색을 만들어내는 방식이지만, 실제로 이런 모델링이 실제 악기 소리를 재현하기는 몹시 어렵다. 하여 PCM 합성이라는 방식을 사용하는데, 이는 미리 녹음된 악기 소리를 기본으로 해서 필터링을 하고 소리를 합성해 내는 방식이다.
물론 Oscillator를 사용해서 소리를 만들어내는 Synthesizer도 뮤지션들 사이에서 Analog Synthesizer로 분류되며 전자음악을 중심으로 활발히 사용되고 있다.
Sound Module은 Module이란 이름에서 알 수 있듯이, 일반적으로 Rack에 꽂아서 쓸 수 있게 출시된, 음원만을 담고 있는 장비다. 보통 Synthesizer는 건반까지 포함하고 있는 것을 얘기하고, Sound Module은 건반이 포함되지 않은 순수 음원만을 뜻한다.
개인적으로는 Sound Module을 굳이 Synthesizer와 분류를 나누는 것이 큰 의미는 없다고 생각한다.
Sampler는 Synthesizer와 달리 Oscillator를 쓰지 않고 미리 녹음된 음원만을 재생시키는 것이다. PCM Synthesizer와의 차이점은 Synthesizing 기능을 채용하지 않고 재생되는 모든 음을 오롯이 미리 녹음된 음을 사용한다는 것이다. 물론 품질이 좋아질수록 악기 데이터가 차지하는 용량이 기하급수적으로 불어나기도 한다. 때문에 일부 악기는 기본 음역만을 녹음하고 있고, 많이 사용되지 않는 부분은 평균율을 이용해서 변형된 음을 표현하기도 한다.
MIDI 작업에서 악기 소리를 표현하기 위해서는 위와 같은 Synthesizer나 Sampler가 필수 조건이었다. 물론 (퀄리티를 떠나서) 오케스트라를 표현하기 위해서 오케스트라단을 섭외하는 것보다는 비용이 덜 발생하고, 녹음할 때 마다 세션 연주자를 섭외하는 것 보다는 비용이 덜 발생하지만, 다양하고 좋은 소리를 위해서 기백만원대의 Synthesizer를 여러 개 구입하는 것 또한 쉬운 일은 아니다.
하지만, PC 성능의 발달과 관련 Software 기술의 발달이 계속 되면서 Synthesizer, Sampler 또한 Software로 구현이 가능하게 되었고, 외장 악기에 비해서 낮은 비용으로 고품질의 음원을 쓸 수 있는 환경이 열리게 되었다.
독일 회사 Steinberg는 앞서 소개한 ASIO 프로토콜을 디자인한 회사로써, 1996년 VST(Virtual Studio Technology) interface 스펙과 SDK를 공개했다. 이 VST는 Synthesizer나 하드웨어 Effect를 시뮬레이션하고, DSP기반으로 구동할 수 있도록 해주는 인터페이스다.
물론 오디오 인터페이스의 성능과 PC 성능이 VST 성능에도 영향을 미치므로, ASIO 기반에서 구동이 되는 것이 일반적이다. 그리고 하드웨어가 아닌 소프트웨어 기술이다 보니 DAW에서 지원이 가능해야 사용이 가능하지만, 현재 출시되는 대부분의 DAW는 ASIO와 VST 기술을 지원하고 있다.
VST는 Synthesizer를 시뮬레이션하는 “VST instruments”, 외장 이펙터를 재현하는 “VST effects”, MIDI effecting에 도움을 주는 “VST MIDI effect”로 구성되어 있으며, 현재는 기존 Synthesizer, Effect의 시뮬레이션을 넘어서서 VST 기반의 original 악기들이 많이 출시되고, 그 품질 또한 인정받고 있다.


다음편은 음향의 기본에 대해서 다뤄본다.