테마 선택

📚 지식 노트

AI·하드웨어·주변기기·게임·컴퓨터 시스템·이론 컴퓨터 과학·수학·개발과 운영·보안·응용 분야에 대해 알아 두면 좋은 내용을 정리한 노트다. 위에서 분야를 고르고 아래에서 노트를 고른다.

컴퓨터 음악

소리는 공기의 떨림이고, 컴퓨터에게는 숫자의 줄이다. 배음과 평균율 같은 음악의 물리에서 시작해, 신시사이저가 소리를 만드는 방식, 악기끼리 말을 주고받는 MIDI, 곡을 짜는 DAW와 트래커, 이펙트, 음악을 알아듣는 음악 정보 검색과 생성형 AI 음악까지를 직접 계산한 그림으로 따라간다.

목차 (14)
  1. 소리의 물리: 진동·주파수·배음
  2. 음높이와 평균율
  3. 디지털 오디오
  4. 합성 방식
  5. ADSR 엔벌로프
  6. 오실레이터와 필터로 소리 만들기
  7. MIDI: 악기들의 공용어
  8. DAW와 플러그인
  9. 시퀀서와 트래커
  10. 이펙트: 딜레이·리버브·컴프레서
  11. 음악 정보 검색
  12. 알고리즘 작곡과 생성형 AI 음악
  13. 저작권 개요
  14. 핵심 자료

소리의 물리: 진동·주파수·배음

소리는 공기 압력이 빠르게 오르내리는 파동이다. 1초에 몇 번 떨리는지가 주파수(Hz)이고, 귀는 이를 음높이로 듣는다. 떨림의 폭은 크기로, 떨림의 모양은 음색으로 들린다. 같은 라 음을 피아노와 바이올린으로 내도 다르게 들리는 것은 모양이 다르기 때문이다.

악기 줄이나 관 속 공기는 한 주파수로만 떨지 않는다. 가장 낮은 기본음 f와 함께 2f, 3f, 4f … 정수배의 배음이 동시에 울리고, 배음마다 크기가 다르다. 어떤 주기적인 모양이든 사인파 여럿의 합으로 나눌 수 있다는 것이 푸리에 분석이고, 배음 크기의 목록이 곧 음색의 지문이다. 파형을 주파수 성분으로 나누는 원리는 신호 처리 노트에 있다.

110Hz와 배음 여덟 개를 더한 톱니파 한 주기와 배음 크기 막대한 주기 파형(배음 8개의 합)점선 = 기본음 110Hz 하나만배음 크기(n번째 = 1/n)110220330440550660770880Hz사각파는 홀수 배음만, 사인파는 기본음 하나뿐이다
110Hz(라, A2)에 크기 1/n인 배음을 일곱 개 더 얹으면 톱니파 모양이 된다. 신시사이저의 기본 파형인 톱니·사각·삼각파는 배음 구성이 서로 다른 출발점이다.

배음 구성은 주파수 분석기로 직접 볼 수 있다. 이 사이트의 스펙트럼 분석기에 목소리나 악기 소리를 넣으면 기본음 위로 배음이 사다리처럼 늘어선다. 마이크·스피커 쪽 하드웨어는 오디오 노트에 있다.

음높이와 평균율

음높이는 주파수의 비로 들린다. 주파수가 두 배면 한 옥타브 위의 "같은 음"으로 들리고, 3:2는 완전 5도, 5:4는 장3도로 어울려 들린다. 문제는 이 깔끔한 비들로 12음을 정하면 조를 바꿀 때 어긋난다는 것이다. 지금 대부분의 악기와 소프트웨어가 쓰는 12평균율은 옥타브를 똑같은 비율 12개로 나눠, 반음 하나를 21/12 ≈ 1.0595배로 정했다. 대신 5도는 순정 3:2보다 약 2.0센트 낮고, 장3도는 5:4보다 약 13.7센트 높다(센트는 반음의 100분의 1). 어느 조로든 자유롭게 옮겨 갈 수 있는 대가로 조금씩 모두 어긋나게 한 셈이다.

기준음은 A4 = 440Hz다. 국제표준화기구가 1955년 권고로 받아들였고 1975년 ISO 16이 되었다. 다만 모두가 따르지는 않아, 오케스트라나 시대 악기 연주에서는 다른 기준음을 쓰기도 한다. MIDI 번호로는 A4가 69, 가운데 도(C4)가 60이고, 번호 n의 주파수는 440 × 2(n−69)/12로 계산한다. 가운데 도는 261.63Hz, 피아노의 가장 낮은 라(A0, 21번)는 27.5Hz다.

C4부터 C5까지 건반 열세 개와 각 음의 평균율 주파수C4261.63D4293.66E4329.63F4349.23G4392.00A4440.00B4493.88C5523.25C#4277.2D#4311.1F#4370.0G#4415.3A#4466.2반음마다 × 2^(1/12) ≈ 1.0595 · 12번 곱하면 정확히 2배(한 옥타브) · 단위 Hz
C4부터 C5까지 열세 음의 평균율 주파수(A4 = 440Hz 기준, 계산값). 검은건반 쪽 수치는 위에 적었다. C5는 C4의 정확히 두 배다.

디지털 오디오

컴퓨터는 연속된 파형을 일정한 간격으로 잰 숫자의 줄로 저장한다. 1초에 몇 번 재는지가 샘플링 레이트, 한 번 잰 값을 몇 비트로 적는지가 비트 깊이다. 샘플링 레이트의 절반(나이퀴스트 주파수)까지만 담을 수 있고, 그보다 높은 성분은 낮은 주파수로 접혀 들어가는 에일리어싱이 된다. 비트 깊이가 깊을수록 반올림 오차, 곧 양자화 노이즈가 작아진다. 원리와 증명은 신호 처리 노트에서 다루므로 여기서는 음악 쪽 숫자만 본다.

사인파를 16번 샘플링해 3비트로 양자화한 계단과 CD 형식의 용량·동적 범위한 주기를 16번 재고 3비트(8단계)로 반올림점 = 잰 값, 굵은 선 = 저장되는 값, 차이 = 양자화 노이즈CD 형식44,100Hz × 16비트 × 2채널= 초당 176,400바이트동적 범위(이론값)16비트98 dB24비트146 dB
3비트(8단계)로 반올림한 사인파. 단계가 거칠수록 원래 파형과 계단의 차이(양자화 노이즈)가 커진다. 오른쪽의 동적 범위는 사인파 기준 이론값(6.02 × 비트 + 1.76dB)이다.

음악 CD는 44,100Hz, 16비트, 2채널 PCM이다. 압축 없이 초당 176,400바이트, 1분이면 약 10.6MB다. 녹음·제작 단계에서는 여유를 두려고 24비트(또는 부동소수점)와 48kHz 이상을 흔히 쓰고, 마지막에 배포 형식으로 바꾼다. 신호를 32비트 부동소수점으로 처리하면 중간에 0dBFS를 넘어도 잘리지 않아, 많은 DAW가 내부 계산을 부동소수점으로 한다. 이 사이트의 음량 측정은 완성된 음원의 음량을 LUFS로 잰다.

24비트로 만든 곡을 16비트로 내보낼 때는 그냥 아랫자리를 자르지 않고 디더(dither)를 건다. 아주 작은 잡음을 일부러 섞은 뒤 줄이면, 잘림 때문에 신호를 따라 생기는 일그러짐이 고른 잔잡음으로 바뀌어 페이드아웃 끝자락 같은 작은 소리가 덜 거칠다. 비트 깊이를 줄이는 마지막 단계에서 한 번 거는 것이 보통이다(iZotope: What is dithering). 반대로 0dBFS를 넘은 값은 정수 형식에서 위가 잘리는 클리핑이 되므로, 내보내기 전에 마지막 단의 최고 레벨을 0dBFS 아래로 둔다.

합성 방식

신시사이저는 녹음 없이 숫자 계산으로 소리를 만든다. 방식마다 "음색을 무엇으로 조절하는가"가 다르다.

  • 감산 합성: 배음이 풍부한 톱니·사각파를 필터로 깎아 음색을 만든다. 손잡이 몇 개로 직관적으로 다룰 수 있어 아날로그 신시사이저의 기본이 되었다. 아래 단계 그림에서 직접 따라간다.
  • 가산 합성: 사인파 여러 개를 배음마다 크기를 정해 더한다. 원리상 어떤 음색이든 만들 수 있지만 조절할 값이 너무 많다.
  • FM 합성: 한 오실레이터(변조기)로 다른 오실레이터(반송파)의 주파수를 빠르게 흔든다. 반송파 fc 둘레에 fc ± k·fm 측파대가 생겨, 사인파 두 개만으로 종·금속성 소리처럼 배음이 복잡한 음색이 나온다(440Hz를 110Hz로 흔들면 220·330·440·550·660Hz …). 스탠퍼드의 존 차우닝이 연구했고, 1980년대 야마하 DX7로 널리 퍼졌으며 게임기와 PC 사운드 칩에도 들어갔다.
  • 웨이브테이블: 한 주기짜리 파형 여러 장을 표로 두고, 읽는 위치를 시간에 따라 옮겨 음색을 변하게 한다.
  • 샘플링: 실제 악기를 녹음한 조각을 음높이에 맞게 속도를 바꿔 재생한다. 진짜 같은 대신 메모리를 많이 쓰고, 음마다 여러 세기로 녹음해 둬야 자연스럽다.
감산, 가산, FM, 웨이브테이블, 샘플링 합성의 흐름 비교감산많이 깎는다톱니·사각파필터깎인 음색가산하나씩 쌓는다사인파 여러 개모두 더하기배음 직접 설계FM주파수를 흔든다변조기 110Hz반송파 440Hz220~660Hz 측파대웨이브테이블표를 훑는다파형 표 여러 장읽는 위치 이동변하는 음색샘플링녹음을 튼다녹음한 소리속도·음높이 조절실제 악기 소리
다섯 가지 합성 방식의 흐름. 가운데 칸(색칠)이 음색을 바꾸는 핵심 손잡이다. 실제 신시사이저는 이들을 섞어 쓴다.

이 밖에 줄·관·막의 물리 방정식을 직접 푸는 물리 모델링, 아주 짧은 소리 알갱이 수천 개를 뿌리는 그래뉼러 합성도 있다.

ADSR 엔벌로프

음색이 같아도 소리가 시간에 따라 어떻게 커지고 사라지는지에 따라 악기가 다르게 들린다. 피아노는 치는 순간 가장 크고 점점 줄고, 오르간은 누르는 동안 같은 크기를 유지한다. 신시사이저는 이 모양을 엔벌로프로 정한다. 가장 흔한 것이 네 값으로 된 ADSR이다.

  • 어택(A): 건반을 누른 뒤 최대치까지 오르는 시간.
  • 디케이(D): 최대치에서 서스테인 레벨까지 내려오는 시간.
  • 서스테인(S): 누르고 있는 동안 머무는 레벨(시간이 아니다).
  • 릴리스(R): 건반을 뗀 뒤 0까지 사라지는 시간.
어택, 디케이, 서스테인, 릴리스 네 구간으로 된 엔벌로프 곡선↓ 건반 누름건반 뗌 ↓10.60ADSR0.00.20.40.60.81.01.2초 · 어택 50ms, 디케이 200ms, 서스테인 0.6, 릴리스 400ms
ADSR 곡선(계산값). 어택이 짧으면 타악기처럼, 길면 현악기처럼 부드럽게 시작한다. 같은 엔벌로프를 음량이 아니라 필터의 차단 주파수에 걸면 음색이 시간에 따라 변한다.

오실레이터와 필터로 소리 만들기

감산 합성의 기본 회로는 세 덩어리다. 파형을 만드는 오실레이터(VCO), 배음을 깎는 필터(VCF), 시간에 따라 크기를 바꾸는 앰프(VCA)이고, 엔벌로프와 느린 오실레이터(LFO)가 이들의 손잡이를 자동으로 돌린다. 필터의 핵심 값은 차단 주파수와, 차단 주파수 근처를 솟게 하는 공진(레조넌스)이다.

톱니파 오실레이터에 저역 통과 필터를 걸고 차단 주파수를 바꿀 때 파형과 배음이 바뀌는 단계 그림파형(한 주기)배음 크기050010001500Hz차단 880Hz차단 330Hz점선 = 필터 전 파형
1 / 4

오실레이터: 110Hz 톱니파. 배음이 110Hz의 정수배마다 1/n 크기로 있어 밝고 거친 소리다. 감산 합성의 재료다.

오실레이터 → 필터 → 엔벌로프. 같은 톱니파에서 필터의 차단 주파수만 바꿔 음색이 어떻게 변하는지 본다. 파형과 배음 크기는 모두 계산값이다.

이 사이트의 레트로 SFX는 같은 구조로 8비트풍 효과음을 만든다. 파형을 고르고 음높이를 미끄러뜨리고 엔벌로프를 짧게 잡으면 점프·코인·폭발 소리가 된다. 브라우저에서는 Web Audio API의 오실레이터·필터·게인 노드를 이어 붙여 똑같이 짤 수 있다.

디지털 오실레이터에는 함정이 하나 있다. 톱니파·사각파의 날카로운 모서리는 배음이 끝없이 이어진다는 뜻이라, 표본을 그대로 계산해 그리면 나이퀴스트 주파수를 넘는 배음이 아래로 접혀 들어와(에일리어싱) 음높이와 상관없는 쇳소리가 난다. 높은 음일수록 심하다. 그래서 신시사이저는 나이퀴스트 아래의 배음만 더해 만든 대역 제한 파형을 쓴다. Web Audio 규격도 오실레이터의 실제 파형이 에일리어싱을 막으려고 수학적 정의와 다를 수 있다고 적고, 같은 이유로 왜곡(웨이브셰이퍼) 노드에 2배·4배 오버샘플링을 둔다.

MIDI: 악기들의 공용어

MIDI는 소리가 아니라 "어떤 음을 얼마나 세게 눌렀다"는 연주 정보를 주고받는 약속이다. 1983년 여러 제조사가 함께 MIDI 1.0을 발표했고, 덕분에 한 회사의 건반으로 다른 회사의 음원 모듈을 칠 수 있게 되었다. 메시지는 바이트 몇 개다. 맨 앞 비트가 1인 상태 바이트가 종류와 채널(16개)을 알리고, 맨 앞 비트가 0인 데이터 바이트가 값(0~127)을 싣는다. 노트 온은 1001nnnn 다음에 건반 번호와 세기(velocity)가 온다.

노트 온 메시지 세 바이트의 비트 구조와 직렬 전송 시간상태 바이트1001 00000x90노트 온 · 채널 1데이터 10011 11000x3C건반 60 (C4)데이터 20110 01000x64세기 100맨 앞 비트가 1이면 상태, 0이면 데이터 바이트다(데이터 값은 0~127).상태 바이트의 앞 4비트 1001이 노트 온, 뒤 4비트가 채널이다(0000 = 채널 1).5핀 DIN 직렬선: 31,250보, 바이트마다 시작·정지 비트를 붙여 10비트320 µs320 µs320 µs노트 온 1번 = 3바이트 = 960 µs → 10음 화음은 약 10ms에 걸쳐 차례로 도착
채널 1에서 가운데 도를 세기 100으로 누른 노트 온(계산값). 원래의 5핀 DIN 직렬선에서 이 세 바이트는 960µs가 걸린다.

원래의 5핀 DIN 선은 31,250보 직렬 통신이고, 바이트마다 시작·정지 비트를 붙여 10비트를 보낸다. 바이트 하나에 320µs라, 많은 음을 한꺼번에 보내면 미세한 시간차가 생긴다. 지금은 대부분 USB나 블루투스로 같은 메시지를 보낸다.

MIDI 2.0은 2020년에 소개되었다. MIDI Association은 이를 1.0을 대체하는 것이 아니라 확장하는 규격으로 설명한다. 장치끼리 서로 무엇을 할 수 있는지 묻고 합의하는 MIDI-CI(Capability Inquiry), 새 패킷 형식 UMP(Universal MIDI Packet)를 바탕으로 채널 메시지의 해상도를 높이고 음 하나하나를 따로 다듬는 메시지를 더했다. 장치 종류별 동작 규칙(프로파일)과 설정값을 주고받는 방법(프로퍼티 익스체인지)도 정했고, 1.0과의 상호 변환을 높은 우선순위로 둔다. 핵심 규격은 2023년 6월에 갱신되었다.

MIDI 바깥에는 OSC(Open Sound Control)가 있다. 2002년 1.0 규격이 나온, 컴퓨터·신시사이저·멀티미디어 장치 사이의 메시지 규약이다. 특정 전송 수단에 묶이지 않지만 패킷 하나를 UDP 데이터그램 하나로 보내는 것이 자연스러운 짝이고(TCP 같은 스트림이면 길이를 앞에 붙인다), /synth/1/cutoff 같은 주소와 32비트 정수·실수·문자열 인자를 담는다. MIDI처럼 정해진 번호(채널·컨트롤 번호, 7비트 값)에 맞출 필요 없이 주소 이름을 직접 짓고 실수 값을 그대로 보낼 수 있어, 음악 프로그램끼리나 음악 프로그램과 다른 미디어 장치를 네트워크로 이을 때 쓴다.

DAW와 플러그인

DAW(디지털 오디오 워크스테이션)는 녹음·편집·작곡·믹싱을 한 프로그램에서 하는 작업대다. 시간 축 위에 트랙을 쌓고, MIDI 트랙에는 피아노 롤로 음표를 그리고, 오디오 트랙에는 녹음한 소리를 둔다. 각 트랙의 신호는 이펙트를 거쳐 믹서에서 음량과 좌우 위치(팬)를 맞춘 뒤 마스터 트랙으로 모인다.

MIDI와 오디오 트랙이 악기·이펙트 플러그인을 거쳐 믹서와 마스터로 모이는 DAW 신호 흐름악기(소리 만들기)이펙트(인서트)MIDI 트랙피아노 롤의 음표악기 플러그인EQ · 리버브오디오 트랙녹음한 보컬이미 소리라 바로컴프레서MIDI 트랙드럼 패턴샘플러딜레이믹서음량·팬마스터플러그인 규격: VST(Steinberg, Windows·macOS 등), AU(Apple, macOS·iOS). 같은 플러그인을 여러 DAW에서 쓴다.
DAW 안의 신호 흐름. MIDI 트랙은 악기 플러그인에서 비로소 소리가 되고, 오디오 트랙은 이미 소리라 이펙트로 바로 간다.

악기와 이펙트는 대개 플러그인으로 끼운다. 1996년 Steinberg가 만든 VST, Apple이 macOS·iOS의 Core Audio에 둔 AU(Audio Units)가 대표 규격이라, 같은 플러그인을 여러 DAW에서 쓴다. DAW는 오디오를 작은 블록(버퍼)으로 나눠 플러그인에 넘기는데, 버퍼가 작으면 건반을 누른 뒤 소리가 날 때까지의 지연이 줄지만 CPU가 블록을 제시간에 못 채우면 소리가 툭툭 끊긴다. 버퍼 하나의 지연은 버퍼 크기 ÷ 샘플링 레이트다. 48kHz에서 64샘플이면 1.33ms, 256샘플이면 5.33ms, 1,024샘플이면 21.33ms이고, 실제 왕복 지연은 입력·출력 버퍼와 변환기 지연이 더해져 이보다 길다. 녹음·연주할 때는 버퍼를 작게, 플러그인을 많이 건 믹싱 때는 크게 두는 이유다. 실시간 오디오 처리가 일반 프로그램보다 까다로운 이유다.

시퀀서와 트래커

시퀀서는 "언제 어떤 음을" 적어 두었다가 차례로 연주시키는 장치다. DAW의 피아노 롤이 시간을 가로로 그린다면, 트래커는 시간을 세로로 내려가는 표로 그린다. 줄마다 채널별로 음·악기 번호·효과 명령을 글자로 적고, 재생 위치가 위에서 아래로 내려가며 연주한다. 1987년 아미가용 Ultimate Soundtracker에서 이름이 나왔고, 데모신과 게임 음악, 칩튠 문화와 함께 자랐다.

채널 셋, 여덟 줄짜리 트래커 패턴과 한 줄의 재생 시간채널 1 · 사각파채널 2 · 삼각파채널 3 · 노이즈줄00C-5 01 ···C-3 02 ···K 03킥01··· ·· ······ ·· ······ ·· ···02E-5 01 ······ ·· ···H 03하이햇03··· ·· ···G-3 02 ······ ·· ···04G-5 01 ······ ·· ···S 03스네어05··· ·· ······ ·· ···H 03하이햇06E-5 01 ···C-3 02 ······ ·· ···07D-5 01 ······ ·· ···H 03하이햇◀ 재생 중125 BPM, 한 박 = 4줄 → 한 줄 = 60 ÷ (125 × 4) = 0.12초칸 = 음 · 악기 번호 · 효과(비브라토·음 미끄러짐 등). 빈칸은 앞 음이 계속 울린다
채널 셋짜리 트래커 패턴(예시). 125 BPM에서 한 박을 4줄로 나누면 한 줄은 0.12초다. 음을 숫자 대신 C-5 같은 글자로 적고, 빈칸이면 앞 음이 계속 울린다.

이 사이트의 칩튠 메이커는 레트로 SFX에서 만든 효과음을 악기로 삼아 곡을 짜는 도구이고, 루프 스테이션은 짧은 구간을 녹음해 겹쳐 쌓는다. 옛 게임기의 사운드 칩처럼 채널 수가 적으면 사각파·삼각파·노이즈 채널을 나눠 맡기고, 빠른 아르페지오로 화음을 흉내 내는 것이 칩튠의 전형이다.

이펙트: 딜레이·리버브·컴프레서

이펙트는 이미 만든 소리를 가공한다. 대부분 몇 가지 기본 연산의 조합이다.

  • 딜레이: 신호를 일정 시간 늦춰 원음에 섞는다. 출력 일부를 다시 입력으로 되먹이면(피드백) 메아리가 점점 작아지며 되풀이된다. 템포에 맞추는 것이 보통인데, 4분음표 길이는 60,000 ÷ BPM ms라 120 BPM에서 500ms, 점8분음표는 그 4분의 3인 375ms다.
  • 리버브: 방 안에서 소리가 벽에 수없이 부딪혀 생기는 잔향을 흉내 낸다. 짧은 딜레이와 필터를 여러 개 엮는 알고리즘 방식과, 실제 공간에서 잰 충격 응답을 신호에 컨볼루션하는 방식이 있다.
  • 컴프레서: 문턱(threshold)을 넘은 소리를 비율(ratio)만큼 눌러 크고 작은 소리의 차이를 줄인다. 4:1이면 문턱 위로 4dB 커질 때 출력은 1dB만 커진다. 줄인 만큼 전체를 다시 올리면(메이크업 게인) 작은 소리가 잘 들린다. 지나치면 소리가 납작해진다.
피드백 딜레이의 메아리 크기와 4:1 컴프레서의 입출력 곡선딜레이 375ms · 피드백 50%원음−3375−9750−151125−211500−271875ms · 막대 위 숫자는 dB, 메아리마다 약 6dB씩 준다컴프레서 4:1, 문턱 −18dB−6 → −15dB−360입력(dB) →문턱 위로 4dB 들어오면 1dB만 오른다
왼쪽은 피드백 50% 딜레이의 메아리(계산값). 피드백이 0.5면 메아리마다 약 6dB씩 준다. 오른쪽은 문턱 −18dB, 4:1 컴프레서의 입출력 곡선이다.

EQ(특정 주파수 대역 올리고 내리기), 코러스·플랜저(아주 짧은 딜레이 시간을 흔들기), 디스토션(파형을 일부러 잘라 배음 더하기)도 같은 재료로 만든다.

음악 정보 검색

음악 정보 검색(MIR)은 컴퓨터가 음악을 "알아듣게" 하는 분야다. 템포·박자·조성·화음을 알아내고, 장르를 분류하고, 악기별로 소리를 나누고, 비슷한 곡을 추천한다. 그 첫걸음이 온셋, 곧 소리가 새로 시작된 순간을 찾는 것이다. 스펙트럼이 갑자기 커지는 시점을 고르고, 온셋 사이 간격이 어떤 값에 몰리는지 보면 템포가 나온다. 실제 템포 추정기는 간격을 하나하나 세는 대신 온셋 세기 곡선의 자기상관으로 반복 주기를 찾고, 박자가 두 배·절반으로 헷갈리는 문제를 따로 다룬다.

타격 시각 여덟 개의 간격과 중앙값으로 추정한 120 BPM 박자 격자온셋(소리가 시작된 순간) 감지 결과0.500.490.510.500.520.480.50초박자 격자간격을 줄 세우면 0.48 · 0.49 · 0.50 · 0.50 · 0.50 · 0.51 · 0.52중앙값 0.50초 → 60 ÷ 0.50 = 120 BPM
사람이 친 듯 조금씩 흔들린 타격 여덟 번. 간격의 중앙값 0.50초에서 120 BPM을 얻는다. 중앙값은 한두 번 크게 어긋난 간격에 휘둘리지 않는다.

시끄러운 카페에서 몇 초 녹음으로 곡 이름을 알려 주는 오디오 지문도 MIR의 대표적인 성과다. Shazam의 방식을 설명한 Avery Wang의 논문은 휴대폰 마이크로 노이즈와 함께 녹음한 짧은 조각으로 백만 곡 넘는 데이터베이스에서 곡을 찾는다고 적었다. 핵심은 소리 전체가 아니라 노이즈에 강한 특징만 남기고, 그 특징을 해시 열쇠로 만들어 색인에서 바로 찾는 것이다. 이 사이트의 검색과 추천 노트의 역색인과 같은 발상이다.

스펙트로그램 봉우리를 짝지어 해시를 만들고 녹음 조각과 맞춰 오프셋을 찾는 단계 그림곡(데이터베이스)0123456789가로 = 시간 칸, 세로 = 주파수 칸열쇠 17개녹음 조각(5칸)01234실선 = 곡에 있는 열쇠점선 = 없는 열쇠오프셋별로 맞은 열쇠 수01234563→ 곡의 4번 칸부터 녹음한 것
1 / 4

곡의 스펙트로그램에서 주변보다 확 튀는 봉우리만 남긴다(10개). 음량이 바뀌거나 노이즈가 섞여도 봉우리 자리는 잘 안 변한다. 별자리처럼 보여 constellation map이라 부른다.

오디오 지문(Shazam 방식의 발상). 소리 전체를 비교하는 대신 봉우리 짝을 열쇠로 만들어 색인에서 찾고, 시간 어긋남이 한 값에 몰리는지로 판정한다. 봉우리 배치는 설명을 위해 만든 예다.

알고리즘 작곡과 생성형 AI 음악

규칙이나 확률로 곡을 만드는 시도는 컴퓨터보다 오래되었다. 컴퓨터 위에서는 문법 규칙, 유전 알고리즘, 그리고 마르코프 연쇄가 오래 쓰였다. 마르코프 연쇄는 "지금 음 다음에 어떤 음이 올 확률"만 배워서, 그 확률대로 다음 음을 하나씩 뽑는다. 배운 곡의 분위기는 흉내 내지만 지금 음 하나만 보므로 긴 구조(반복되는 후렴, 마디의 흐름)를 만들지 못한다.

도, 레, 미 세 음 사이의 전이 확률을 화살표로 나타낸 마르코프 연쇄67%33%50%50%25%50%25%도레미배운 멜로디: 도 레 미 도 미 레 도 레 미 미 레 도 · 선 굵기 = 확률
열두 음짜리 도레미 멜로디에서 센 전이 확률(계산값). 도 다음에는 레가 3분의 2, 미가 3분의 1이다. 이 그래프를 따라 무작위로 걸으면 비슷한 느낌의 새 멜로디가 나온다.

요즘의 생성형 AI 음악은 이 "다음을 예측하기"를 훨씬 긴 문맥으로 늘렸다. 오디오를 작은 토큰으로 압축한 뒤 트랜스포머로 다음 토큰을 예측하거나, 노이즈에서 시작해 조금씩 소리를 다듬는 확산 모델로 글 설명에서 바로 노래를 만든다. 원리는 생성 모델 노트에 있다. 기술이 빨리 좋아지는 만큼, 무엇으로 학습했는지와 만든 결과물의 권리가 누구에게 있는지가 다음 절의 쟁점이 된다.

저작권 개요

노래 한 곡에는 권리가 여러 겹 있다. 멜로디와 가사, 곧 곡에는 작사가·작곡가의 저작권이 있고, 그 곡을 실제로 녹음한 음원에는 음반 제작자의 권리가, 연주와 노래에는 실연자의 권리가 따로 붙는다(한국 저작권법에서는 뒤의 둘을 저작인접권이라 부른다). 그래서 남의 곡을 새로 연주하는 커버와, 남의 음원을 잘라 쓰는 샘플링은 닿는 권리가 다르다.

곡, 녹음, 실연에 각각 붙는 권리와 커버·샘플링이 닿는 권리를 나타낸 개념도곡작사·작곡저작권작사가·작곡가녹음(음원)그 녹음 자체저작인접권음반 제작자연주·노래실제 연주저작인접권가수·연주자노래 한 곡의 권리셋이 따로 있고주인이 다를 수 있다쓰는 방식 → 허락이 필요한 쪽(●)다른 사람의 곡을 새로 연주(커버)음원 일부를 잘라 내 곡에 넣기(샘플링)직접 만든 곡을 직접 녹음개념도일 뿐 법률 판단이 아니다. 계약·나라·사용 방식에 따라 달라진다.
한 곡에 겹친 권리와 쓰는 방식별로 닿는 쪽(개념도). 실제 허락 절차는 권리를 맡은 단체·계약에 따라 다르다.

AI로 만든 음악에서는 두 질문이 따로 있다. 학습에 남의 음악을 써도 되는가, 그리고 AI가 만든 결과물을 누가 권리로 보호받는가다. 나라마다 논의와 소송이 진행 중이며, 미국 저작권청은 AI와 저작권 보고서를 여러 부로 나눠 내고 있고 2025년 1월의 2부가 생성형 AI 산출물의 저작권 보호 문제를 다룬다. 한국의 제도와 상담 창구는 한국저작권위원회가 안내한다.

이 절은 개념을 정리한 것이고 법률 조언이 아니다. 실제로 곡을 내거나 남의 소리를 쓸 때는 해당 권리 단체나 전문가에게 확인해야 한다.

핵심 자료

샘플링·필터·푸리에 변환의 원리는 신호 처리 노트, 생성형 음악 모델의 바탕은 생성 모델 노트에 있다.

자료종류요지링크
Julius O. Smith III 온라인 교재무료 교재DFT의 수학, 디지털 필터, 물리 모델링 합성, 스펙트럼 오디오 처리 네 권을 무료로 공개한다. 음악용 신호 처리의 표준 참고서다.Stanford CCRMA
MIDI 규격 모음규격MIDI 1.0과 MIDI 2.0(MIDI-CI, UMP) 규격 문서의 목록. 일부 상세 규격은 회원 가입 뒤 내려받는다.MIDI Association
Summary of MIDI 1.0 Messages규격 요약노트 온·오프, 컨트롤 체인지 등 채널 메시지의 상태 바이트와 데이터 바이트 배치를 한 표로 보여 준다.MIDI Association
Web Audio APIW3C 규격브라우저의 오디오 그래프. 오실레이터, 필터(BiquadFilterNode), 딜레이, 컴프레서 노드로 이 노트의 합성·이펙트를 그대로 짜 볼 수 있다.W3C
An Industrial-Strength Audio Search Algorithm논문Shazam의 별자리 해시 방식. 스펙트로그램 봉우리 짝을 열쇠로 써서 노이즈 속 짧은 녹음으로도 곡을 찾는다.Avery Wang (PDF)
Copyright and Artificial Intelligence정부 보고서미국 저작권청의 AI 보고서. 2부(2025년 1월)가 생성형 AI 산출물의 저작권 보호 문제를 다룬다.U.S. Copyright Office