더북(TheBook)

표준 오디오 기본적인 출력 추상화에 대한 마지막 예로서 stdaudio 모듈을 살펴보자. stdaudio 모듈을 이용하면 사운드를 재생, 조작, 합성할 수 있다. 음악 파일을 조작하기 위해 컴퓨터를 활용해본 기억이 있을 것이다. 이제는 그런 일을 하는 프로그램을 작성하는 것이다. 이와 함께 컴퓨터 과학과 과학 컴퓨팅의 중요 활용 분야 중 하나인 디지털 신호 처리(digital signal processing)의 기반이 되는 개념도 알아보겠다. 여기에서는 흥미로운 주제에 대해 수박 겉핥기 정도로 설명하지만, 기반 개념은 놀라울 정도로 간단하다.

'라'음(A) 사운드는 분자의 진동(엄밀히 말하면 고막의 진동)을 느끼는 감각이다. 따라서 진동을 알아야 사운드를 이해할 수 있다. 가장 간단히 설명할 수 있는 음은 중간 ‘도’음 아래 있는 ‘라’이다. ‘라’음은 그저 사인 곡선으로서 초당 440번 진동하는 음이다. sin(t) 함수는 2𝜋 주기로 반복되므로, 초 단위인 t에 대해 sin(2𝜋t × 440) 함수를 그리면 초당 440번 진동하는 곡선을 만들 수 있다. 기타 줄을 튕기거나 트럼펫을 불거나 조그만 스피커를 진동시키든 ‘라’음에서는 이 사인 곡선이 이 사운드의 핵심 부분이다. 주파수는 헤르츠(hertz)(초당 사인 곡선의 반복 수) 단위로 측정한다. 주파수를 두 배로 하거나 반으로 줄이면 같은 음계를 한 옥타브 올리거나 내린다. 예를 들어 880헤르츠는 한 옥타브 위의 ‘라’음, 110헤르츠는 두 옥타브 아래의 ‘라’음이다. 참고로 사람은 20에서 20,000헤르츠 사이의 사운드를 들을 수 있다. 사운드의 진폭(y)은 볼륨에 해당한다. 여기서는 -1과 1 사이에 곡선을 그리고 사운드를 녹음하거나 재생하는 장치는 이 그래프의 배율을 조절한다고 가정한다. 그리고 볼륨 손잡이를 조정하는 것은 진폭을 조정한다.

▲ 그림 1.5.12 음계, 주파수, 파형

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.