[컴퓨터 구조와 프로그래밍] 디지털 오디오

김두루 (FrontEnd Developer)·2022년 2월 10일
0

CS(Computer Science)

목록 보기
4/18

일반적으로 샘플링 을 하면 오디오를 디지털화할 수 있다.
이 말은 일정 시간 간격으로 신호의 진폭이나 높이를 측정한다는 뜻이다.


📒 악보 코드

일반적으로 악보를 시간에 따라 음표를 표시한 것으로 생각할 수도 있다. 하지만 악보에서는 어느 시점에 오직 한 음표만 존재하지 않는다. 실제로는 여러 음이 모여서 이뤄진 코드 가 존재한다.

위 그림의 첫 번째 코드는 G4(400Hz), B4(494Hz), D5(587Hz) 세 음으로 이뤄진다.

각 음표는 사인파이지만 코드 자체는 더 복잡한 파형이며 세 음표가 만들어내는 파를 합친것임을 알 수 있다. 귀가 좋은 사람이라면 이런 코드를 듣고 코드를 이루는 각 음을 골라낼 수 있다. 하지만 음을 제대로 들을 수 없는 사람들은 푸리에 변환 이라는 수학적 묘기를 통해 코드의 각 부분을 구분할 수 있다.


📒 필터

미디어 플레이어의 기능으로 그래픽 이퀄라이저 도 있다. 그래픽 이퀄라이저를 사용하면 입맛대로 소리를 조정할 수 있다. 그래픽 이퀄라이저는 조절 가능한 필터의 집합이다.

필터란? : 정해진 주파수를 통과시키거나 막아버리는 장치.

필터는 크게 어떤 주파수보다 낮은 주파수를 통과시키는 로우패스 와 어떤 주파수보다 높은 주파수를 통과시키는 하이패스 필터가 있다. 이 둘을 조합하면 정해진 최저 주파수와 최고 주파수 사이의 주파수를 제외한 나머지 주파수를 모두 무시하는 밴드패스 필터나 특정 주파수만 제외시키는 노치 를 만들 수 있다. 아래 그림에서 필터 에지가 날카롭지 않음을 알 수 있다. 이를 롤오프 라고 한다. (그래프가 직사각형인) 완벽한 필터는 없다.

필터는 코드에 적용할 수 있는데 아래 그림처럼 로우패스 필터를 G 메이저 코드에 적용할 수 있따. 필터를 적용하는것은 두 곡선을 곱하는 것과 같은 효과가 있다. 필터는 각기 다른 주파수의 소리 크기를 조정해준다.

스웨덴 전기 엔지니어인 해리 나이퀴스트는 신호를 제대로 잡아내기 위해서는 적어도 최고 주파수의 2배의 샘플링 비율로 샘플을 얻어야 한다는 법칙을 발견했다. 전자 회로가 이상적인 수학을 따르지 않기 때문에 결과 음질을 더 좋게 하기 위해서는 이론적인 비율보다는 더 자주 샘플링을 해야한다. 사람이 들을 수 있는 가청 주파수는 20~2만 Hz 정도이다.

이런 사실을 감안하면 40kHz 샘플링 비율로 사람이 들을 수 있는 모든 소리를 잡아낼 수 있다.

흔히 CD라고 부르는 콤팩트 디스크는 44,100Hz에 16비트로 샘플링을 한다. 이는 175KB/s 보다 약간 더 많은 시간당 데이터 비율이다.

나이퀴스트 비율에 근접해 샘플링한 신호로부터 원래의 주파수와 진폭을 재구성할 수는 있지만 위상 은 재구성할 수 없다. 위상은 시간축 위에서 약간씩 신호가 옮겨간 것이다.

위 그림에서 굵은 선으로 표시한 신호가 가는 선으로 표시한 신호보다 45도 위상이 뒤처짐을 알 수 있다.
스테레오가 아니라면 위상이 그렇게 문제가 되지 않는다. 위상차 는 왼쪽과 오른쪽 귀에 도달하는 신호 사이의 시간차로 인해 발생하며 사람은 이를 통해 공간에서 소리가 발생한 위치를 인식한다. 주파수가 높으면 귀 사이의 거리보다 파장이 더 짧기 때문에 위상차를 더 잘 알아챌 수 있다. 사람의 머리 폭이 너무 짧아서 두 귀가 거의 같은 데 붙어 있다면 위상차가 발생하지 않는다. 따라서 머리가 큰 사람은 스테레오를 더 잘 느낀다. 스테레오 사운드를 듣는 경우, 스피커에서 나오는 두 음이 만들어내는 위상차를 이미지라고 부르며, 이는 음악을 연주하는 사람이 공간상 어디에 위치하는지를 '볼 수' 있는 능력을 뜻한다. 위상이 정확하지 않으면 이미지가 탁해진다.

profile
몰입하는 개발자

0개의 댓글