2013년 5월 29일 수요일

아날로그 세상의 디지털 음악 이야기

현대는 컴퓨터(디지털)로 음악을 하는 세상입니다. DAW로 편하게 음악을 만들고 소프트웨어 신디사이저로 편하게 소리를 만들어 내는 세상입니다. 하지만 이 세상은 디지털로만 생각 할 수 없는 세상입니다. 아날로그와 디지털은 전혀 관계가 없으면서도 관계가 있는 이상한 관계이지요. 아날로그와 디지털의 경계에 관해서 지식이 있으신 분들은 다들 아실만한 이야기를 (-_-) 한번 써 볼까 합니다.

아날로그는 세상 그 자체

아날로그(Analog)라는 표현은 디지털(Digital)이란 표현이 없다면 존재 할 수 없는 표현입니다. 왜냐하면 설명할 방법이 없으니깐요.

우리가 사는 세상은 크기를 가늠하기 어려운 우주라는 공간의 위치를 정확하게 알 수 없는 곳의 정확한 크기를 모르는 구형의 '지구'라는 곳입니다. 여기에는 양을 정확하게 알 수 없는 공기가 가득차 있고 역시 양을 알 수 없는 물(바다)도 존재합니다. 인간은 정확한 갯수를 알 수 없는 세포로 구성되어 있는 정확한 질량과 크기와 성격 등등 알 수 없는 수치로 가득한 생명체입니다.

역시 위치와 크기와 나이를 모르는 태양은 얼마나 쎈지 얼마나 빠른지 정확히 알 수 없는 열과 빛을 내뿜고, 이 빛은 공기를 통과하며 얼마나 어떻게 굴절되고 바뀔지 정확히 알 수가 없고 이를 역시 얼마나 정확하게 인식하는지 알 수 없는 생명체의 눈을 통해 인식할 수 있습니다.

소리 역시 정확하게 표현하기 어려운 특정한 파동의 규칙으로 정확한 크기를 알 수 없는 크기로 어디까지 퍼져나갈지 알 수 없는 공기의 떨림이고 이를 얼마나 정확하게 알아들을 수 있는지 모르는 귀를 가진 생명체가 듣게됩니다.

위 말에서 핵심은 '정확하게 잴 수 없다' 라는 것입니다. 아날로그를 설명하려면 디지털이라는 개념이 필요하다는 건 여기에 있습니다. 정확하냐 정확하진 않지만 대충이냐의 차이지요.


디지털은 인간적인 표현

디지털은 가장 인간적인 표현입니다. 왜냐하면 아날로그 수치는 정확하게 특정 할 수 없으니 인간의 능력으로 인식하기가 어렵기 때문이지요. 디지털의 탄생은 인간이 인식 가능한 범위 내에서 특정한 수치로 표현하기 위한 방법에서 출발합니다.

숫자를 한번 세어봅시다. 1 ~ 10 까지 열손가락으로 쉽게 셀 수 있지요. 그런데 1과 2 사이에 얼마나 많은 숫자가 있을까요? 아날로그식 표현이라면 1.1 이나 1.9999999999... 라던지 엄청나게 셀 수 없는 많은 숫자가 있습니다. 하지만 인간은 이런걸 무시했습니다. 힘들고 어렵고 불가능하니깐요. 그래서 '숫자를 제한적으로 표현하는 방법' 을 만들었고 이것이 우리가 현재 사용하는 아라비안 숫자 표시 체계입니다.

이렇게 만들어진 숫자라는 개념은 디지털의 용도와 비슷합니다. 단지 전자제품의 세계에 한해서 디지털이라고 표현한다는 점만 차이가 있을 뿐이지요.

원론적인 설명에서 디지털은 0(Off)과 1(On)으로 표현하지요. 전기가 흐르냐 안흐르냐를 기준으로 1과 0으로 신호를 구분이고 이 정보를 모아서 사람들이 보통 사용하는 숫자로 표현하거나 글자를 표현하거나 데이터를 표현하거나 등등 다양한 방법으로 사용합니다.

컴퓨터의 등장으로 디지털은 새로운 단위를 제시합니다. Bit(0과 1)을 모아 Byte(8 Bit)를 만들고 이 Byte를 2개/4개/8개 혹은 그 이상을 하나로 합쳐서 정수형과 실수형, 그리고 부동소숫점 형태의 숫자를 표현하는 단위를 만들었습니다. 이런 단위가 현재의 디지털을 표현하는 가장 일반적인 존재라 생각됩니다.


제일 큰 것과 제일 작은 것

컴퓨터 안의 디지털의 표현에서 가장 중요한 것은 가장 큰 수치(MAX)와 가장 작은 수치(MIN)를 결정하는 것입니다. MIN과 MAX가 없다면 정확한 수치 표현이란 것 자체가 말도 안되는 것이지요.

그리고 그 MIN과 MAX 사이를 잘게 나눕니다. 예를 들어 1과 10 사이를 10개로 나누면 현재 우리가 사용하는 아라비안 숫자 1에서 10까지를 표현 할 수 있게 되지요.

물론 사람이 사용하는 숫자의 최대 크기는 제한이 없습니다. 우리는 대신 숫자가 올라가는 단위를 제한함으로써 인식이 가능할 뿐이지요. 보통 조 단위 돈은 어느 정도 셀 수는 있지만 경 단위 이상으로 올라가 버리면 점점 인식이 힘들어 집니다. 숫자에는 최소/최대 크기가 없지만 인식의 한계가 있는 것이지요.

하지만 컴퓨터는 다릅니다. 최소와 최대가 없으면 그 수치를 표현하기 위한 용량이 무한대로 증가해야 합니다. 이런 용량을 만들어 내기는 불가능합니다. 그래서 컴퓨터 안에서 표현되는 디지털 수치는 모두 MIN과 MAX가 존재합니다.

흔히 이야기하는 다이나믹 레인지(Dynamic Range) 라는건 바로 이 MIN ~ MAX 사이의 정확도를 의미하는 것입니다. 디지털 볼륨을 줄이면 음질 손실이 발생한다고 하는 건 디지털 소리데이터에 최대 수치(MAX)를 내리는 연산을 하기 때문에 이 정확도가 떨어지게 되는 것이기 때문이지요. 1바이트가 0 ~ 255 까지 표현되는데 볼륨을 절반으로 줄이면 0 ~ 127 의 수치로 정확도가 떨어지게 됩니다.


소리의 디지털화

PCM 이라는 표현을 많이 들어봤을 것입니다. 펄스 코드 모듈레이션(Pulse Code Modulation)이니 뭐니 하는 영어 표현을 보면 파장을 수치화 하는 것임을 추측 할 수 있습니다.

앞서 이야기한 대로, 소리라는 건 그 수치를 명확히 할 수 없습니다. 공기의 파장인데 얼마나 잦게 얼마나 크게 얼마나 빠르게 공기가 떨리는지 정확히 알 수 있을까요? 불가능합니다.

그래서 소리를 전송하기 위해 사용하는 방법은 소리의 최소와 최대 크기를 지정해 두고 이 사이를 잘게 쪼게어서 디지털 데이터로 표현합니다. 이것이 바로 컴퓨터에 저장된 소리의 정체입니다.

소리의 디지털화: 샘플링 레이트

44.1Khz/16bit 라는 표현을 들어봤을 것입니다. 이 수치는 CD에 저장되는 소리의 정확도를 의미하기도 합니다.

위에서 소리를 얼마나 잘게 쪼게어서 어떤 단위의 수치를 이용해 데이터를 표현하느냐에 대한 이야기를 했습니다. 바로 이 단위를 결정하는 것이 샘플링 레이트(Sampling Rate)입니다. 위의 그림에서 가로축이 얼마나 정밀하냐를 결정하는 수치입니다. 44.1Khz 라는 표현은 1초 동안 소리를 44.1K(대략 441000) 만큼 잘게 나눈다는 의미입니다.

16bit라는 표현은 44.1K만큼 16bit의 데이터로 구성한다는 이야기입니다. 위 그림에서 세로축의 정교함을 결정하는 수치입니다.

결과적으로 44.1Khz/16bit의 샘플링레이트를 기준으로 1초 동안 소리를 내기 위해서는 대략 441000 * 2 바이트 만큼의 데이터가 필요하다는 이야기입니다. 대략 861KB가 되는군요.

그리고 이 샘플링 레이트를 크게 만들면 더욱 세밀한 표현이 가능해집니다. 샘플링 레이트를 늘리면 아날로그와 같아 질 수는 없지만 아날로그에 가까워지는 것입니다. 대신 용량이 무지막지하게 늘어납니다.

참고로 USB 포트 같이 디지털 데이터를 전송하기 위한 장치의 경우 속도가 제한되어 있습니다. 이 또한 샘플링레이트와 비슷하게 제약을 걸고 데이터 전송 주기를 고정시켜서 발생하는 규칙입니다. 전기의 On, Off 신호를 그냥 주고 받는게 아니라 특정 시간 주기에 맞게 보내는 것이지요.

소리의 디지털화: 게인

현실에서 소리는 최대 크기의 제한이 없습니다. 옆에서 대형 폭탄이 터질 때의 소리 보다 더욱 큰 소리가 존재 할 수 있습니다. 하지만 디지털의 최대 크기는 제한이 있어야만 합니다.

디지털 세상에서 소리의 크기를 표현하기 위해서는 어떻게 할까요?

보통 소리는 흔히 데시벨이라 부르는 db라는 단위로 크기를 표시하고 0db는 소리가 없는 상태입니다.

하지만 디지털에서는 0db를 최대 볼륨으로 표현합니다. 반대로 소리가 없는 상태는 '-무한대'로 표기하기도 합니다.

정확히 내부를 들여다보면 MIDI와 호환되도록 128가지의 정수를 이용해서 가장 큰 소리는 127이고 이를 0db로 표기합니다. 가장 작은 소리는 0이고 이 수치가 '-무한대db' 입니다. 표현은 사람 답게 표현하지만 내부 수치는 결국 디지털입니다.

게인(Gain)이라는 표현은 소리를 얼마나 높이냐 할 때 많이들 언급하는 단어입니다. 디지털 음악에서는 Gain을 이용해 소리를 줄이는 것으로 표현하기도 합니다. 예를 들어 -12db는 실제로는 소리가 없는 표현 같지만 디지털 세상에선 가장 큰 소리인 0db보다 12db가 작은 소리라는 의미입니다.


MIDI의 127이라는 수치

MIDI 장비 혹은 가상악기 등에서 0에서127까지 사용되는 수치를 많이 봐 왔을 것입니다. 이 수치는 7비트로 표현 할 수 있는 128가지 정수단위(0 ~ 127)입니다.

MIDI라는 것 자체가 디지털로 악기 연주 정보를 전송하기 위한 용도이기 때문에 MIDI 데이터는 100% 디지털 데이터입니다. 그래서 이런 비트 단위의 규칙이 나타납니다.

보통 일반적인 작은 단위인 바이트 단위에서는 8개의 비트를 사용하는데 왜 7개의 비트만 이용할까요? 제일 앞 비트를 여러가지 다른 용도로 활용하기 위해서 입니다. 외장악기에서 뱅크 관리 시 이용하는  MSB/LSB 도 이와 관련이 있습니다.

MIDI에서 종종 보게되는 127이라는 수치는 결국 디지털 데이터의 한계로 인해 나타나게 되는 규칙입니다.


스피커와 마이크 그리고 오디오 인터페이스

소리는 귀로 듣는 아날로그이고 소리는 컴퓨터에 사용하는 디지털 데이터입니다. 이 둘은 무엇인가가 변환해 주지 않으면 사람이나 컴퓨터가 인지 할 수 없습니다. 소리에 있어서 아날로그와 디지털을 잇는 역활은 ADC/DAC가 담당합니다. 흔히 오디오 인터페이스라고 이야기 하는 장비의 핵심 부품입니다.

ADC(Analog to Digital Converter)는 아날로그 소리 파형을 PCM형식 등의 디지털 데이터로 바꾸기 위한 장치입니다. 마이크나 케이블로 연결된 전자기타, 신디사이저 등은 소리를 아날로그로 전송하지만 이 ADC를 이용하여 디지털 데이터 바꿀 수 있습니다.

DAC(Digital to Analog Converter)는 디지털 파형 데이터를 아날로그 소리 파형으로 바꾸는 장치입니다. 이 장치는 디지털 소리 파형을 다른 아날로그 장비로 전송하거나 스피커 혹은 헤드폰 등으로 출력하기 위해 사용됩니다.

오디오 인터페이스에 따라 소리 성향을 논하시는 분들이 많습니다. 이는 아날로그와 디지털을 전환시키는 과정 자체가 워낙 들쭉날쭉이라 그렇습니다. 앞서 이야기 한 대로 아날로그는 그 수치를 정확하게 잴 수가 없기 때문에 연산 자체도 어느 정도 비슷하다 판단되는 시점으로 조정하게 됩니다. 그 결과 ADC/DAC 칩셋의 특징이 발생합니다. 칩 마다 그리고 제조사 마다 변환된 소리나 데이터가 다르다는 의미입니다.

오디오인터페이스를 이용해 녹음을 할 때 너무 큰 소리로 녹음을 하게 되면 잡음이 발생합니다. 이는 앞서 이야기 한 대로 최대 소리 크기(0db)를 제약하는 디지털의 특성 상 큰 소리가 나오면 그 큰 소리의 수치를 최대 수치로 잘라버리(clip)게 되고 그로 인해 파형의 특징이 변질되기 때문에 발생하는 현상입니다.


케이블 안과 밖에 세상

컴퓨터를 구성하는 케이블과 음악을 하기 위한 케이블은 그 종류가 굉장히 다양합니다. 단지 이 케이블들 중 특성은 아날로그냐 디지털이냐로 크게 구분 할 수 있습니다.

보통 전자기타 등에 연결하는 TS 케이블은 아날로그 수치를 전기 파형으로 전송하기 위한 케이블입니다. 이 케이블은 2~3개의 전선으로 구성되지만 주변 전기적 신호에 간섭이 발생하여 왜곡될 수도 있기에 이 왜곡을 방지하기 위한 실드(껍질)가 두껍습니다.

오디오인터페이스와 컴퓨터를 연결하는 케이블, HDD 등을 연결하는 케이블은 아날로그 케이블에 비해 그 모양과 크기가 다양합니다만 특징이 있다면 가늘은 케이블을 여러개 묶어서 사용한다는 점입니다.

이 두 케이블의 차이는 아날로그 데이터를 전송하느냐 디지털 데이터를 전송하느냐로 구분됩니다. 아날로그는 앞서 이야기한 간섭에 의한 왜곡 문제를 최대한 줄이는데 초점이 맞추어져 있습니다.

하지만 디지털 케이블은 조금 다릅니다. 당연히 전기 신호가 흐르는 장치이니 왜곡이 발생합니다만, 디지털의 특징 즉 On과 Off를 상반된 파형으로 최대한 분산시켜서 약간의 간섭이 있어도 이 수치를 변경시킬 수준의 왜곡은 잘 발생하지 않습니다. 그래서 실드가 두껍지 않고 가늘을 케이블을 여러개로 묶는 형태가 일반적입니다.

디지털 케이블로 전송되는 데이터가 왜곡된다고 표현하는 건 잘못 된 표현입니다. 디지털은 이 경우 데이터가 틀렸다 혹은 손실되었다 라고 표현합니다. 수 많은 디지털 데이터 전송 체계는 이런 틀리는 경우를 걸러내기 위한 연구가 많이 되었고 소프트웨어적인 보완도 많이 되어 있기 때문에 디지털 케이블로 전송되는 데이터는 왜곡이 없다고 보면 됩니다. 대신 틀린 데이터가 전송되면 이를 걸러내고 다시 전송받는 형태로 보완되어 있습니다.


아날로그 같은 소리의 표현

아날로그 신디사이저는 전기의 신호 흐름 자체가 파형이 되는 형태로 여러 가지 전기적 제어를 이용해 소리를 만들어 내는 악가입니다. 아날로그 악기의 특징은 역시 비정확성이고 그래서 매번 연주 할 때 마다 소리가 약간씩 틀어지기도 합니다. 물론 이 자체가 아날로그 사운드의 매력이 되기도 합니다.

하지만 아날로그 방식의 전자악기는 여러가지 비효율성적인 면이 있습니다. 예를 들자면 전기적인 계산이 아니라 전류와 전압을 직접 합치거나 빼는 방식을 이용하기 때문에 별도의 부품이 많이 필요하고 고장도 잦습니다.

현재 많이 쓰이는 디지털 방식의 신디사이저는 모든 신호 계산 대신 소리를 디지털로 계산합니다. 그리고 최종 계산된 데이터를 DAC 혹은 DAW로 전송합니다. 정확성이 모토인 만큼 아날로그 특유의 느낌은 없지만 그 정확함 또한 또다른 매력이 되기도 합니다.

아날로그 복각이라는 표현 또한 존재하는데 현재 많이 이용되는 아날로그 모델링 신디사이저 소프트웨어가 대표적입니다. 아날로그 악기 특유의 신호 왜곡을 디지털로 에뮬레이션(흉내)하는 방식이지요.

ES 2이든 Massive이든 FM8 이든 아날로그 프로퍼티가 존재하는데 바로 'Tune을 매번 조금씩 무작위로 바꿈으로써 아날로그의 특성을 디지털로 부여하는 기능' 입니다.

신디사이저 뿐만이 아닙니다. 과거에 인기가 좋았던 수 많은 아날로그 음악 장비들 (EQ, 컴프레서 등) 또한 복각 형태의 소프트웨어가 존재합니다. 아날로그의 비정확성에 의해 발생하는 장비 각 특유의 특징을 소프트웨어로 흉내내는 것이지요.

아시는 분은 아시겠지만, 아날로그 장비는 같은 회사의 같은 모델의 제품 간에도 소리가 조금씩 다르다고 합니다. 아날로그의 비정확성과 그로 인한 매력... 재미있지요.


정리

아날로그는 무제한과 비정확성의 특징이 있습니다. 디지털은 제한과 정확성의 특징이 있습니다. 이 핵심만 알면 됩니다. 이 둘의 차이를 이해한다면 둘을 구분짓는 건 간단합니다. :-)

댓글 없음:

댓글 쓰기