본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Computer Science

디지털 오디오 기초: 표본화부터 입체 음향까지

작성 2026. 10. 31.추가
목차13개 항목
출처와 참고

고려사이버대학교 「졸업세미나」(2024-2학기) 강의 중 권오상 교수의 「사운드 처리기술」 특강 내용을 바탕으로 정리했다.

소리는 물체의 진동이 공기의 압력을 흔들어 만든 파동이다. 컴퓨터가 소리를 다룬다는 것은 이 연속적인 파형을 숫자로 바꿔 저장하고, 고치고, 다시 파형으로 되돌리는 일이다.

소리의 세 요소

요소물리량들리는 것메모
주파수1초에 파형이 반복되는 횟수 (Hz)높낮이사람이 듣는 범위는 대략 20Hz20kHz, 가장 예민한 구간은 16kHz
진폭기준선에서 파형 꼭대기까지의 크기세기데시벨(dB)로 표현
파형기본음에 섞인 배음(고조파)의 구성음색같은 높이·세기라도 피아노와 바이올린이 다르게 들리는 이유

귀는 소리 크기의 차이보다 비율에 반응한다. 그래서 크기를 로그로 잰다. 음압 레벨은 20 × log10(P / P0) dB이고, P0는 사람이 겨우 들을 수 있는 기준 음압이다. 음압이 10배가 되면 20dB 올라간다.

아날로그를 디지털로: 세 단계

flowchart LR
  mic["마이크"] --> lpf1["저역 통과 필터"] --> adc["ADC: 표본화 → 양자화 → 부호화"] --> dsp["편집·저장(DSP)"]
  dsp --> dac["DAC"] --> lpf2["저역 통과 필터"] --> spk["스피커"]

1. 표본화 (Sampling)

일정한 간격으로 파형의 값을 찍는다. 1초에 찍는 횟수가 표본화율(sampling rate, Hz)이다. 높을수록 원음에 가깝지만 데이터가 늘어난다.

나이퀴스트 정리: 원래 신호를 되살리려면 그 신호의 최고 주파수의 2배보다 높게 표본화해야 한다. 그보다 낮으면 높은 주파수가 낮은 주파수로 둔갑하는 에일리어싱이 생긴다. 그래서 ADC 앞에 표본화율의 절반보다 높은 성분을 미리 잘라 내는 저역 통과 필터를 둔다.

용도표본화율재현 가능한 최고 주파수
전화 음성8kHz4kHz
음악 CD44.1kHz22.05kHz (가청 한계 20kHz를 넘는다)
영상·방송48kHz24kHz

2. 양자화 (Quantization)

찍은 값을 몇 단계로 나눠 표현할지 정한다. 표본 하나에 쓰는 비트 수가 양자화 비트(bit depth)다. 8비트는 256단계, 16비트는 65,536단계다. 실제 값과 가장 가까운 단계의 차이가 양자화 잡음으로 남고, 비트가 하나 늘 때마다 표현할 수 있는 음량 범위(다이내믹 레인지)가 약 6dB 넓어진다.

3. 부호화 (Encoding)

표본화·양자화한 값을 정해진 형식의 비트열로 기록한다. 그대로 쓰면 크기 때문에 보통 이 단계에서 압축한다.

파일 크기 계산

크기(비트) = 표본화율 × 양자화 비트 × 채널 수 × 시간(초)

예계산결과
CD 음질 1분 (44.1kHz, 16bit, 스테레오)44,100 × 16 × 2 × 60 ÷ 8약 10.6MB
영상용 1분 (48kHz, 24bit, 스테레오)48,000 × 24 × 2 × 60 ÷ 8약 17.3MB
전화 음질 1분 (8kHz, 8bit, 모노)8,000 × 8 × 1 × 60 ÷ 8약 480KB

CD 음질의 비트레이트는 44,100 × 16 × 2 = 1,411.2kbps다. 스트리밍 음원이 128320kbps라는 것은 원본을 411분의 1로 줄였다는 뜻이다. 650MB짜리 CD 한 장에 무압축으로 1시간 남짓밖에 못 담는 이유도 여기서 나온다.

부호화 방식

방식원리쓰임
PCM양자화한 값을 그대로 기록한다. 압축 없음CD, WAV
DPCM이웃 표본과의 차이만 기록한다. 소리는 연속적이라 차이가 작다
ADPCM차이가 크면 단계를 크게, 작으면 촘촘하게 조절해 DPCM의 약점을 보완한다. 최대 4:1 정도로 줄인다ITU-T G.721(32kbps 음성)
μ-law / A-law작은 소리에 단계를 더 많이 주는 비균일 양자화. 사람이 작은 소리의 변화에 더 예민한 것을 이용한다전화(G.711). 북미·일본은 μ-law, 유럽 등은 A-law
MP3, AAC사람이 못 듣는 성분을 버리는 손실 압축. 큰 소리 옆의 작은 소리가 묻히는 마스킹 효과를 이용한다MP3는 MPEG-1 오디오 레이어 3, AAC는 그 후속

전화망에서 G.711이 쓰이는 방식은 VoIP와 SIP·RTP에, 지각 부호화의 일반 원리는 데이터 압축에 있다.

파일 포맷

분류포맷특징
무압축WAV, AIFFPCM 그대로. 편집 원본용
무손실 압축FLAC, ALAC원본을 비트 단위로 복원할 수 있다. 보통 절반 정도로 준다
손실 압축MP3, AAC, Opus작다. 원본으로 되돌릴 수 없다. Opus는 WebRTC의 필수 코덱이다

디지털 오디오와 MIDI

구분디지털 오디오MIDI
담는 것소리의 파형 자체어떤 악기로 어떤 음을 언제, 얼마나 세게 칠지에 대한 연주 정보
크기크다아주 작다 (3분 곡이 몇 KB)
소리 품질녹음한 그대로재생하는 쪽의 음원(신시사이저, 사운드 폰트)에 달렸다
사람 목소리담을 수 있다담을 수 없다

MIDI는 원래 전자 악기와 컴퓨터가 연주 정보를 주고받는 통신 규약이다. 악보에 가깝다고 보면 된다.

입체 음향

서라운드

모노(1채널)에서 스테레오(2채널)를 거쳐, 청취자를 둘러싼 여러 스피커로 공간감을 내는 서라운드로 발전했다. 5.1채널은 스피커 5개와 저음 전용 서브우퍼 1개(0.1)다. 청취자가 스피커 배치의 중심에 있어야 효과가 제대로 난다.

머리가 방향을 알아내는 단서

단서뜻
양 귀 시간차 (ITD)소리가 가까운 쪽 귀에 먼저 닿는다
양 귀 세기차 (ILD)가까운 쪽 귀에서 더 크게 들린다. 머리가 고주파를 가리기 때문이다
귓바퀴·머리의 반사위아래, 앞뒤 방향을 구분하게 해 준다

이 단서를 수학적으로 담은 것이 머리 전달 함수(HRTF) 다. 무반향실에서 양 귀에 마이크를 단 더미 헤드를 두고 여러 각도에서 소리를 틀어 녹음한 뒤, 각도별로 소리가 어떻게 바뀌는지를 함수로 만든다. 평범한 소리에 원하는 방향의 HRTF를 적용하면 헤드폰으로도 그 방향에서 들리는 것처럼 느껴진다. 특정 공간의 울림(직접음, 초기 반사음, 잔향)까지 재현하려면 그 공간에서 측정한 공간 전달 함수를 함께 쓴다.

게임과 VR은 청취자와 음원의 위치가 계속 바뀌므로, 위치를 실시간으로 계산해 HRTF를 바꿔 적용한다. 웹에서도 Web Audio API의 PannerNode에 panningModel = "HRTF"를 지정하면 같은 방식으로 3D 음향을 낼 수 있다.

const ctx = new AudioContext();
const panner = new PannerNode(ctx, { panningModel: "HRTF", positionX: 2, positionZ: -1 });
source.connect(panner).connect(ctx.destination); // 오른쪽 앞에서 들리는 소리

정리

  • 소리는 주파수(높낮이), 진폭(세기, dB), 파형(음색)으로 나뉜다.
  • 디지털화는 표본화(나이퀴스트: 최고 주파수의 2배 초과) → 양자화(비트 수 = 정밀도) → 부호화 순서다.
  • 파일 크기는 표본화율 × 비트 × 채널 × 시간이고, CD 음질은 1,411.2kbps다.
  • 차이를 기록하는 ADPCM, 작은 소리에 촘촘한 μ-law·A-law, 마스킹을 이용하는 MP3·AAC가 크기를 줄인다.
  • 입체 음향은 양 귀의 시간차·세기차를 담은 HRTF로 만든다.

관련 노트: VoIP와 SIP·RTP, 데이터 압축, 그래픽스 렌더링 기초

댓글

GitHub 계정으로 댓글을 남길 수 있어요.