Chapter 13

선율과 알고리즘 작곡

선율(melody)은 시간 축 위에 놓인 음높이들의 수열입니다. 공학의 언어로 바꾸면 (음높이, 시작 시각, 길이) 세 값으로 된 이산 시계열이고, 그래서 시계열에 쓰는 도구, 곧 차분, 히스토그램, 상관, 스펙트럼, 확률 모델, 제약 탐색을 그대로 쓸 수 있습니다. 이 장에서는 선율을 측정하고 변형하고 생성해 봅니다. 사람이 쓴 선율이 왜 '선율답게' 들리는지 숫자로 확인하고, 그 숫자를 뒤집어 기계가 선율을 쓰게 합니다.

선율은 시계열이다

악보에서 선율 한 줄을 떼어 내면 남는 것은 음표의 목록입니다. 각 음표는 음높이 \(p_i\)(MIDI 번호, 16장), 시작 시각 \(o_i\)(박 단위), 길이 \(d_i\)로 기술됩니다. 리듬은 11장에서 다뤘으니, 이 장은 주로 음높이 쪽, 그중에서도 이웃한 음 사이의 변화에 집중합니다.

$$\mathcal{M} = \{(p_i,\, o_i,\, d_i)\}_{i=1}^{N}, \qquad \Delta_i = p_{i+1}-p_i, \qquad c_i = \operatorname{sgn}(\Delta_i) \in \{-1, 0, +1\}$$
\(\Delta_i\): 음정열(Interval Sequence), 반음 단위. 음정열은 이조(transposition)에 대해 불변이다. 모든 \(p_i\)에 상수를 더해도 \(\Delta_i\)는 그대로다. \(c_i\): 윤곽(Contour). 음정의 크기까지 버리고 방향만 남긴 것으로, 음정열보다도 더 거친 불변량이다.

윤곽을 문자로 적은 것이 파슨스 코드(Parsons Code)입니다. 데니스 파슨스(Denys Parsons)는 1975년 『The Directory of Tunes and Musical Themes』에서 첫 음을 *, 이후 음을 올라감 U, 내려감 D, 반복 R로 적어 약 1만 5천 개의 클래식 주제를 사전처럼 찾게 했습니다. 정보량은 음당 \(\log_2 3 \approx 1.58\)비트에 불과하지만 16음 정도면 대부분의 곡이 구별됩니다(\(3^{15} \approx 1.4\times10^7\)). 허밍으로 곡을 찾는 QBH(Query by Humming, Ghias et al. 1995)의 초기 시스템이 바로 이 표현을 썼습니다. 사람이 흥얼거릴 때 음정은 틀려도 방향은 대체로 맞기 때문입니다.

그림 13-1. 베토벤 「환희의 송가」(교향곡 9번, 1824) 첫 악구(다장조로 옮김)의 피아노 롤. 가로는 시간(박), 세로는 음높이. 위에는 각 음의 파슨스 기호, 막대 사이에는 음정 \(\Delta_i\)(반음)를 적었다. 14개 음정 중 도약(3반음 이상)은 한 번도 없다.
SIMULATOR

피아노 롤 편집기와 선율 통계

예제
길이(8분음표 칸)
텍스트(음이름:박)
파슨스 코드—
동음 / 순차 / 도약—
평균 |음정|—
음역—
도약(≥5) 후 반전—
격자를 클릭하면 음이 생기고, 누른 채 오른쪽으로 끌면 길어집니다. 있는 음을 다시 클릭하면 지워집니다(한 번에 한 음만 울리는 단선율). 세로 칸은 고른 음계의 두 옥타브라서, 음계를 바꾸면 같은 그림이 다른 선법으로 다시 읽힙니다(장조 → 도리안 → 5음음계). 아래 그래프는 음정 히스토그램(−12…+12 반음)으로, 보라는 순차(±1–2), 청록은 도약입니다. 해볼 것: ① 예제 곡들과 '무작위'의 히스토그램 모양 비교. ② 무작위 선율에서 도약 몇 개를 순차로 고쳐 가며 소리가 어떻게 '노래다워'지는지 듣기. 텍스트 형식은 E4:1 D4:0.5 r:0.5(음이름:박, r은 쉼표)이고, 고쳐서 '불러오기'로 되돌릴 수 있습니다.

걸음과 도약: 선율의 통계

세계 여러 지역의 민요와 성가를 대량으로 세어 보면 놀랄 만큼 일관된 규칙성이 나옵니다. 데이비드 휴런(David Huron)은 『Sweet Anticipation』(2006)에서 이를 다섯 가지로 요약했습니다.

경향내용근거
음높이 근접 (Pitch Proximity)작은 음정이 큰 음정보다 훨씬 흔하다. 음정 크기의 분포는 대략 지수적으로 감소한다.Vos & Troost 1989, 여러 민요 말뭉치
순차 하행 (Step Declination)작은 음정은 내려가는 쪽이, 큰 음정은 올라가는 쪽이 많다.Vos & Troost 1989
순차 관성 (Step Inertia)순차 진행 뒤에는 같은 방향으로 계속 가는 경우가 약간 더 많다.Huron 2006
선율 회귀 (Melodic Regression)음역 가장자리에 있는 음 다음에는 가운데 쪽으로 돌아오는 음이 온다. 큰 도약 뒤의 '반전'은 대부분 이것으로 설명된다.von Hippel & Huron 2000
선율 아치 (Melodic Arch)악구는 평균적으로 올라갔다가 내려오는 아치 모양이다.Huron 1996, 에센 민요 말뭉치 6천여 곡

음악 이론에는 오래전부터 "큰 도약 뒤에는 반대 방향으로 순차 진행해 빈 곳을 메운다"는 갭–필(Gap-fill, Meyer 1973) 규칙이 있었습니다. 폰 히펠과 휴런(2000)은 이 현상의 상당 부분이 작곡가의 의도 없이도 생긴다는 것을 보였습니다. 선율의 음이 평균 \(\mu\), 표준편차 \(\sigma\)인 음역(tessitura) 안에서 무작위로 뽑힌다고만 가정해도, 큰 도약은 대개 음을 음역 가장자리로 데려가므로 다음 음은 확률적으로 가운데 쪽, 즉 반대 방향에 놓이게 됩니다.

$$P(\text{반전} \mid p_i,\ p_{i-1}<p_i) \;=\; P(p_{i+1} < p_i) \;=\; \Phi\!\left(\frac{p_i-\mu}{\sigma}\right) \qquad (p_i > \mu,\ \text{독립 정규 가정})$$
\(\Phi\): 표준정규 누적분포. 음이 평균보다 \(1\sigma\) 위에 있으면 다음 음이 아래일 확률은 84%다. 앞선 음에서 상승해 도착했을 때 이 하행은 방향 반전이다. 현재 음만 고정하고 이전·다음 음을 독립적으로 뽑으면 반전 확률은 2F(1−F)이며 F=Φ((pᵢ−μ)/σ)다. 도약 크기와 무관하게 '어디에 도착했는가'가 반전을 예측한다는 것이 이 모델의 핵심이며, 실제 말뭉치에서 음역 중앙을 가로질러 도약한 경우에는 반전 경향이 크게 약해진다는 것이 그 증거였다.

아래 표는 이 장에서 쓰는 공유 저작물 다섯 곡의 음정을 이 페이지의 스크립트가 직접 센 결과입니다. 표본은 작지만 '순차가 대부분'이라는 경향은 분명합니다.

곡음 수동음순차(1–2)도약(3–4)큰 도약(≥5)평균 |Δ|
엔지니어의 눈으로 순차 비율이 높다는 것은 음높이 시계열의 1차 차분이 작은 값에 몰려 있다는 뜻이고, 그래서 선율은 자기상관이 큰 '저역 통과된' 신호에 가깝다. 반대로 매 음을 독립적으로 뽑으면(백색 잡음) 차분 분포가 넓게 퍼지고, 귀에는 선율이 아니라 무작위 음표 나열로 들린다. 7절에서 이 직관을 스펙트럼으로 정량화한다.

조성 위계와 키 찾기

장조 선율에서 12개 음이 모두 같은 대접을 받지는 않습니다. 크룸핸즐과 케슬러(Krumhansl & Kessler 1982)는 탐침음 실험(Probe-tone Paradigm)으로 이를 측정했습니다. 먼저 장조를 확립하는 짧은 맥락(음계나 종지)을 들려주고 이어서 12개 반음 중 하나를 들려준 뒤, 그 음이 맥락에 "얼마나 잘 맞는지"를 1–7점으로 평가하게 했습니다. 평균 점수가 아래의 조성 프로파일입니다.

그림 13-2. 크룸핸즐–케슬러 프로파일(1982). 가로는 으뜸음에서 잰 반음 수. 장조: 으뜸음(6.35) > 딸림음(5.19) > 가온음(4.38) > 버금딸림음(4.09) > 나머지 음계음 > 음계 밖의 음. 으뜸화음 1·3·5음이 꼭대기를 이루는 조성 위계(Tonal Hierarchy)다.
반음01234567891011
장조6.352.233.482.334.384.092.525.192.393.662.292.88
단조6.332.683.525.382.603.532.544.753.982.693.343.17

크룸핸즐–슈뮤클러 키 찾기 알고리즘(Krumhansl–Schmuckler Key-finding, Krumhansl 1990)은 이 프로파일을 템플릿으로 씁니다. 선율의 음높이 클래스별 총 길이를 12차원 벡터 \(\mathbf{x}\)로 만들고, 프로파일을 12가지로 회전시킨 24개 템플릿(장조 12, 단조 12) 각각과의 피어슨 상관을 구해 최댓값의 조를 고릅니다. 정합 필터(matched filter) 또는 템플릿 매칭과 같은 발상입니다.

$$r_{k} = \frac{\sum_{i=0}^{11}(x_i-\bar x)(y_{k,i}-\bar y)}{\sqrt{\sum_i (x_i-\bar x)^2\,\sum_i (y_{k,i}-\bar y)^2}}, \qquad y_{k,i} = K\big[(i-k) \bmod 12\big], \qquad \hat k = \arg\max_k r_k$$
\(K\): 장조 또는 단조 프로파일, \(k\): 후보 으뜸음. 길이 가중치를 쓰는 이유: 오래 울린 음이 조성 판단에 더 큰 영향을 준다는 지각 실험 결과를 반영한다.
SIMULATOR

크룸핸즐–슈뮤클러 키 찾기

예제 곡 재생(들으며 판정)
가중치
판정한 조—
2위—
음 개수 / 총 길이—
건반(또는 A–K 키)을 누르면 누른 시간만큼 해당 음높이 클래스에 쌓입니다. 위 막대는 입력 히스토그램, 회색 점은 1위 조의 프로파일(크기 맞춤)입니다. 아래는 24개 조의 상관계수 \(r\)로, 위 줄이 장조, 아래 줄이 단조이며 5도권 순서로 놓았습니다(같은 세로줄이 나란한조). 예제 곡을 재생하면 듣는 동안 판정이 어떻게 바뀌는지 보입니다. 해볼 것: 다–미–솔만 누르면 C 장조, 여기에 G♯을 넣으면 A 단조 쪽으로 넘어가는지. '흰 건반 무작위'에서 C 장조와 A 단조의 \(r\)이 얼마나 비슷한지.
한계 이 방법은 음의 순서를 보지 않는다. 같은 음들을 섞어도 결과가 같다. 그래서 나란한조(C 장조/A 단조)처럼 음 집합이 같은 조를 구별하는 데 약하고, 짧은 구간에서는 흔들린다. 템펄리(Temperley 1999, "What's Key for Key?")는 프로파일을 수정하고 조 전환에 벌점을 주는 동적 계획법으로 정확도를 높였다. 실제 MIR(음악 정보 검색) 시스템은 오디오의 크로마 벡터(chroma)에 같은 템플릿 매칭을 쓰거나, 은닉 마르코프 모델·신경망으로 시간 맥락을 함께 본다.

동기와 그 변형

긴 곡도 대부분 몇 개의 짧은 동기(Motif)를 변형해 짜 맞춘 것입니다. 베토벤 교향곡 5번 1악장은 네 음짜리 '짧–짧–짧–길' 동기 하나로 500마디 가까이를 끌고 갑니다. 변형은 음높이–시간 평면 위의 기하 변환으로 정확히 정의됩니다.

$$T_n:\ p \mapsto p+n, \qquad I_c:\ p \mapsto 2c-p, \qquad R:\ (p_i,d_i) \mapsto (p_{N+1-i},\,d_{N+1-i}), \qquad A_s:\ d_i \mapsto s\,d_i$$
\(T_n\): 이조(transposition), \(I_c\): 음 \(c\)를 축으로 한 전위(inversion, 음정 부호 반전), \(R\): 역행(retrograde, 시간 반전), \(A_s\): 확대(\(s=2\), augmentation)·축소(\(s=\tfrac12\), diminution). \(\{P, I, R, RI\}\)는 합성에 대해 닫혀 있고 각 원소가 자기 역원인 클라인 4원군을 이룬다(\(I\circ I = R\circ R = P\), \(I\circ R = R\circ I = RI\)). 12음 기법의 '12×12 행렬'은 이 군에 이조 12개를 곱한 48개 형태를 표로 만든 것이다.
그림 13-3. 음높이–시간 평면에서 본 네 가지 형태. 전위는 가로축(음높이 축)에 대한 대칭, 역행은 세로축(시간 축)에 대한 대칭, 역행전위는 180° 회전이다. 음정열 \(\Delta\)로 쓰면 \(I\)는 부호 반전, \(R\)은 순서를 뒤집고 부호 반전, \(RI\)는 순서만 뒤집기다.

조성 음악에서는 반음 단위의 정확한 전위보다 음계 안에서의 전위가 더 자연스럽게 들립니다. 장3도(4반음)를 위로 뛰는 동기를 음계 안에서 전위하면 3도 아래로 가되 그 3도는 장3도일 수도 단3도일 수도 있습니다. 음계 도수 \(s_i\)로 바꿔 \(s \mapsto 2s_0 - s\)를 하는 셈입니다. 반복 진행(Sequence)은 동기를 음계 도수 몇 칸씩 옮겨 가며 되풀이하는 것으로, 바로크 음악의 단골 기법입니다.

SIMULATOR

동기 변형기: P · T · I · R · RI · 확대 · 축소 · 반복 진행

동기
변형 기준
한 줄씩 듣기
원형 음정열—
전위 음정열—
조성 / 전위 축—
각 줄이 하나의 변형입니다(왼쪽 라벨). 같은 색 막대 묶음을 귀로 비교해 보세요. 전위와 역행은 그림으로는 대칭이 뚜렷하지만 귀로는 원형과 '같은 동기'로 잘 들리지 않는 경우가 많습니다. 리듬이 함께 뒤집히는 역행은 특히 그렇습니다. 반대로 이조와 반복 진행은 바로 알아듣습니다. 반음 기준 이조는 반음 음정열을 보존합니다. 음계 안의 반복 진행은 도수 간격·윤곽을 보존하지만 C–E–G→D–F–A처럼 반음 간격은 +4,+3에서 +3,+4로 바뀔 수 있습니다. '건반으로 새 동기 녹음'을 켜고 건반을 누르면 동기를 새로 입력합니다(최대 8음, 누른 시간을 16분음표 단위로 양자화). '음계 안' 기준에서 음계 밖의 음(예: B–A–C–H의 B♭)은 바로 아래 음계음에 반음 변화가 붙은 것으로 처리합니다.

악구: 질문과 대답

동기가 단어라면 악구(Phrase)는 문장입니다. 고전 시대 선율의 가장 흔한 틀은 두 가지입니다.

형식구조(마디)끝맺음예
악절 (Period)앞악구 4 + 뒷악구 4앞: 반종지(V에서 멈춤, '질문') · 뒤: 정격종지(V→I, '대답')환희의 송가 첫 8마디, 반짝반짝 작은 별
악문 (Sentence)기본 동기 2 + 반복 2 + 전개 4전개부에서 동기를 쪼개 가속한 뒤 종지베토벤 피아노 소나타 1번 첫머리
두도막 / 세도막a a′ b a′ (각 4마디)b에서 대조, 마지막 a′에서 정격종지환희의 송가 16마디 전체, 달빛 아래
a1–4마디 · 끝음 D(2음) a′5–8마디 · 끝음 C(1음) b9–12마디 · 대조, 딸림음 G a′13–16마디 · 끝음 C(1음) 질문 → 대답 (악절) 이탈 → 귀환 반종지 (… V) 정격종지 (V → I) V에 머묾 정격종지 (V → I) a와 a′는 처음 3마디가 같고 마지막 마디만 다르다. 끝음 하나(레 vs 도)가 '열림'과 '닫힘'을 가른다.
그림 13-4. 「환희의 송가」 16마디의 악구 구조. 같은 재료가 끝음만 바꿔 질문과 대답이 된다. 이 구조는 피아노 롤 편집기(1절)의 '환희의 송가' 예제에서 끝 두 음을 바꿔 직접 확인할 수 있다.

알고리즘 작곡의 관점에서 악구 구조는 장거리 의존성입니다. 8마디 뒤의 음이 지금의 음과 같아야 한다는 제약은 다음 절의 마르코프 체인처럼 바로 앞 몇 음만 보는 모델로는 표현되지 않습니다. 그래서 실용적인 생성 시스템은 '구조(a a′ b a′)를 먼저 정하고 각 칸을 채운다'는 계층적 방식을 쓰거나, 긴 문맥을 보는 모델(어텐션 기반 Music Transformer, Huang et al. 2018)을 씁니다.

마르코프 체인으로 선율 만들기

"다음 음은 바로 앞의 \(n\)개 음에만 의존한다"고 가정한 확률 모델이 \(n\)차 마르코프 체인(Markov Chain)입니다. 정보 이론을 음악에 처음 적용한 시도들(Pinkerton 1956, "Information Theory and Melody"; Brooks et al. 1957)이 바로 이것이었고, 같은 해 힐러와 아이작슨의 「일리악 모음곡」(Illiac Suite, 1957)은 컴퓨터가 마르코프 체인과 대위법 규칙으로 쓴 최초의 곡으로 기록됩니다.

$$\hat P(x_t = j \mid x_{t-n}^{t-1} = \mathbf{c}) = \frac{C(\mathbf{c}, j)}{\sum_{j'} C(\mathbf{c}, j')}, \qquad P_T(j\mid\mathbf c) \propto \hat P(j\mid\mathbf c)^{1/T}$$
\(C(\mathbf c, j)\): 학습 선율에서 문맥 \(\mathbf c\) 다음에 \(j\)가 나온 횟수(최대우도 추정). \(T\): 온도. \(T\to0\)이면 항상 가장 흔한 다음 음(결정적), \(T=1\)이면 학습 분포 그대로, \(T>1\)이면 분포가 평평해져 의외의 음이 늘어난다.

모델이 얼마나 '예측 가능한' 선율을 만드는지는 엔트로피율(Entropy Rate)과 퍼플렉서티(Perplexity)로 잽니다. 생성 과정의 정상 엔트로피율은 생성 전이·백오프가 만드는 정상 문맥 분포로 가중해야 합니다. 이 실험의 표시는 학습 문맥 빈도로 가중한 조건부 엔트로피라서 온도 변경 후 정상 엔트로피율과 자동으로 같지는 않습니다. 퍼플렉서티 \(2^H\)는 "매 음마다 평균 몇 개의 후보 중에서 고르는 것과 같은가"로 읽습니다.

$$H = -\sum_{\mathbf c} \pi(\mathbf c) \sum_j P(j\mid\mathbf c)\log_2 P(j\mid\mathbf c), \qquad \mathrm{PP} = 2^{H}$$
\(\pi(\mathbf c)\): 문맥 \(\mathbf c\)의 출현 빈도. 상태 수가 \(S\)이면 \(n\)차 모델의 전이표는 \(S^n\times S\) 칸이다. \(S=8,\ n=3\)이면 4,096칸인데 동요 한 곡은 수십 개의 음뿐이라 대부분의 칸이 0이다. 이것이 희소성이고, 그 결과 고차 모델은 학습 곡을 거의 그대로 베낀다(Brooks et al. 1957이 이미 관찰한 현상).
SIMULATOR

n차 마르코프 선율 생성기

차수 n
상태 / 관측된 문맥—
0 아닌 칸 비율—
학습 문맥 가중 조건부 엔트로피 (온도 T)—
학습 곡과 같은 5음 조각—
위: 전이 행렬 히트맵. 행은 문맥(1차면 바로 앞 음), 열은 다음 음이고, 진할수록 확률이 큽니다. 재생 중에는 지금 쓰인 문맥 행과 고른 열이 강조됩니다. 아래: 생성된 선율. 해볼 것: ① 1차 → 3차로 올리며 '학습 곡과 같은 5음 조각' 비율이 치솟는 것(과적합) 확인. ② 온도를 0 근처로 내리면 같은 고리를 맴도는 것, 3 가까이 올리면 학습 곡의 색채가 흐려지는 것. 모델: 음높이와 리듬을 따로 학습합니다(음높이는 n차, 음 길이는 1차 체인). 학습에 없던 문맥에 도달하면 한 차수 낮은 모델로 물러납니다(백오프). 선율 시작은 학습 곡 하나의 첫 n음입니다.
희소성과 평활화 학습에 없던 전이는 확률이 정확히 0이 되어 영원히 생성되지 않는다. 언어 모델에서 쓰는 라플라스(add-one) 평활화, 굿–튜링 추정, 카츠 백오프(Katz 1987), 크네저–나이 평활화가 모두 이 문제를 다룬다. 음악에서는 상태를 음높이 대신 음정이나 음계 도수로 바꾸면 이조 불변성 덕분에 같은 데이터로 훨씬 많은 전이를 볼 수 있다. Conklin & Witten(1995)의 다중 관점 모델(multiple viewpoint)은 이런 여러 표현의 예측을 섞어 엔트로피를 낮췄다.

랜덤 워크와 1/f 선율

보스와 클라크(Voss & Clarke 1975, Nature 258)는 바흐에서 비틀스, 라디오 방송까지 여러 음악의 음량과 음높이 변동을 분석해, 그 파워 스펙트럼이 넓은 대역에서 \(1/f\)에 가깝다고 보고했습니다. 그리고 1978년 JASA 논문에서 백색·\(1/f\)·\(1/f^2\) 잡음으로 만든 선율을 청취자에게 들려주었더니 \(1/f\) 선율이 가장 '음악적'이라는 평가를 받았다고 했습니다. 백색은 너무 무작위하고, 브라운(\(1/f^2\))은 너무 단조롭게 헤맨다는 것입니다.

$$S(f) \propto \frac{1}{f^{\beta}}: \quad \beta=0\ \text{(백색)},\quad \beta=1\ \text{(분홍, 1/f)},\quad \beta=2\ \text{(브라운, 랜덤 워크)}$$
랜덤 워크 \(x_t = x_{t-1} + \varepsilon_t\)는 백색 잡음을 적분한 것이므로 전달함수 \(|H(f)|^2 \propto 1/f^2\)이다. \(1/f\)는 그 중간으로, 모든 시간 척도(옥타브 대역)에 같은 에너지를 가진다. 짧게 보면 들쭉날쭉하고 길게 보면 흐름이 있는 성질이다.

\(1/f\) 수열을 만드는 가장 유명한 방법은 마틴 가드너가 1978년 Scientific American 칼럼에 소개한 보스의 주사위 알고리즘입니다. 주사위 \(K\)개를 두고, 2진 카운터의 \(k\)번째 비트가 바뀔 때마다 \(k\)번째 주사위를 다시 굴려 합을 출력합니다. 느린 주사위는 긴 시간 척도의 변동을, 빠른 주사위는 짧은 척도의 변동을 담당합니다. 매 단계 주사위 하나만 굴리도록 개선한 것이 보스–매카트니(Voss–McCartney) 알고리즘입니다.

$$x_t = \sum_{k=0}^{K-1} r_k\!\left(\left\lfloor t/2^{k}\right\rfloor\right), \qquad (\text{원 Voss 방식: 인수가 바뀐 모든 행 갱신})$$
\(r_k(\cdot)\): 독립 균일 난수열(값이 바뀔 때만 새로 뽑음). \(\operatorname{ctz}\): 2진수 끝자리 0의 개수(count trailing zeros). 위 합산식의 각 행은 \(2^k\)마다 갱신된다. 이 실험의 McCartney 개선 방식은 t≥1에서 k=ctz(t)의 한 행만 갱신하며, 해당 행의 갱신 간격은 \(2^{k+1}\)이다. 유한 K에서 최고 행을 제한하고 별도 백색 난수를 더한다. 이 계단 신호들의 스펙트럼을 옥타브마다 하나씩 겹쳐 쌓으면 \(K\)옥타브 범위에서 \(1/f\)에 근사한다.
SIMULATOR

백색 · 브라운 · 1/f · 평균 회귀 선율

생성 과정
스펙트럼 기울기 −β—
1-지연 자기상관 ρ(1)—
순차(±1도) 비율—
도약 후 반전—
위: 생성된 48음 선율(음계 도수, 두 옥타브). 왼쪽 아래: 같은 과정으로 만든 256음 수열 128개의 평균 주기도(log–log)와 직선 맞춤 기울기, 회색 점선은 기울기 0·−1·−2 기준선. 오른쪽 아래: 평균 자기상관. 모델: 백색=매 음 독립 균일, 브라운=±2도 이내 걸음의 랜덤 워크(음역 경계에서 반사), 1/f=보스–매카트니 주사위 6개 + 매 음 바뀌는 주사위 1개, 평균 회귀=AR(1) \(x_t-\mu = 0.7(x_{t-1}-\mu)+\varepsilon_t\). 해볼 것: '도약 후 반전' 비율을 비교해 보세요. 의도된 규칙이 없는 백색 잡음에서도 반전 비율이 높게 나옵니다. 2절의 '선율 회귀' 설명 그대로입니다. 반사 경계가 있는 브라운 잡음은 저주파에서 스펙트럼이 평평해집니다(유한 음역의 효과).
주의: 과장된 신화 "음악은 1/f다"는 주장은 이후 여러 차례 다듬어졌다. 기울기는 장르·곡·측정량(음높이, 음정, 음량)에 따라 0.5–1.5 사이로 퍼지고, 1/f 스펙트럼은 '좋은 선율'의 필요조건도 충분조건도 아니다. 스펙트럼은 2차 통계일 뿐이라 조성·리듬·악구 구조를 전혀 담지 못한다. 그래도 "적당한 상관 길이"라는 직관을 수치로 보여 준 고전으로서 의미가 크다.

제약 기반 선율 생성

확률 모델은 '무엇이 그럴듯한가'를 배우지만, 작곡 규칙의 상당수는 '무엇을 하면 안 되는가'로 주어집니다. 이런 규칙은 제약 충족 문제(Constraint Satisfaction Problem, CSP)로 쓰면 자연스럽습니다.

$$\text{find } \mathbf p \in D_1\times\cdots\times D_N \quad \text{s.t.} \quad \bigwedge_{j} C_j(\mathbf p) = \text{true}, \qquad \text{선호: } \max_{\mathbf p} \sum_i \log w(\Delta_i)$$
\(D_i\): \(i\)번째 음의 후보 음높이(정의역). \(C_j\): 제약. 예) 음계음만, 강박에는 화음 구성음, 도약은 \(L\)반음 이하, 큰 도약 뒤 반대 방향 순차, 끝음은 으뜸음. \(w(\Delta)\propto e^{-|\Delta|/\lambda}\): 2절의 통계를 반영한 '작은 음정 선호' 가중치. 탐색 공간은 \(|D|^N\)(예: \(8^{20}\approx10^{18}\))이지만, 앞에서부터 음을 정하며 제약을 어기는 순간 되돌아가는 백트래킹은 대부분의 가지를 일찍 잘라 낸다.
SIMULATOR

코드 진행 위의 제약 기반 선율 생성기

탐색 노드 / 되돌림—
규칙 위반(전체 7규칙 기준)—
순차 비율—
생성 버튼을 누르세요.
4마디 코드 진행 위에 8분음표 격자의 선율을 생성합니다(리듬은 마디마다 정해진 틀 중에서 무작위). 세로로 옅게 칠한 칸이 그 마디의 화음 구성음입니다. 켠 제약만 탐색에 쓰지만 '규칙 위반'은 언제나 7개 규칙 모두로 셉니다. 제약을 하나씩 끄고 생성하면 빨간 음(위반)이 늘어나는 것이 보이고 들립니다. 특히 ①을 끄면 음계 밖의 음이, ②를 끄면 반주와 부딪히는 강박 음이 생깁니다. 모델: 무작위 순서 깊이 우선 탐색 + 작은 음정 가중치(\(\lambda\)=2.5반음), 노드 상한 40,000. 반주는 일렉트릭 피아노 화음.

대위법: 규칙을 제약으로

두 개 이상의 독립된 선율을 동시에 엮는 기술이 대위법(Counterpoint)입니다. 요한 요제프 푹스(J. J. Fux)의 『파르나소스로 가는 계단』(Gradus ad Parnassum, 1725)은 주어진 정선율(Cantus Firmus)에 대선율을 붙이는 연습을 다섯 '류'(species)로 단계화했고, 하이든·모차르트·베토벤이 모두 이 책으로 공부했습니다. 1류 대위법(음표 대 음표)의 규칙은 거의 그대로 제약 목록입니다.

규칙공학적 해석
수직 음정은 협화음(1, 3, 5, 6, 8도와 그 복음정). 2성부에서 완전4도는 불협화로 취급각 열의 단항 제약: \((p^{cp}_i - p^{cf}_i) \bmod 12 \in \{0,3,4,7,8,9\}\)
처음은 완전협화(1·5·8도), 끝은 1도나 8도경계 조건
연속 5도·연속 8도 금지이웃 열의 이항 제약: 두 성부가 같은 완전음정을 유지한 채 함께 움직이면 독립성이 사라진다(두 선이 한 선으로 융합된다)
은복 5도·8도(같은 방향으로 움직여 완전음정에 도착) 금지이항 제약: 방향 부호 \(\operatorname{sgn}\Delta^{cp} = \operatorname{sgn}\Delta^{cf}\)이면서 도착 음정이 완전음정이면 위반
반진행을 선호, 같은 불완전협화음(3도·6도)의 병진행은 3번까지소프트 제약(점수)
선율 안에서 증4도·7도·옥타브 초과 도약 금지, 도약 뒤 반대 방향 순차단일 성부의 이항·삼항 제약

왜 연속 5도가 금지일까요? 6장에서 본 것처럼 완전5도와 8도는 배음이 많이 겹쳐 두 음이 하나로 융합되어 들립니다. 이 상태를 유지한 채 함께 움직이면 귀는 두 선율이 아니라 '음색이 두꺼운 한 선율'을 듣습니다. 휴런(2001, "Tone and Voice")은 대위법 규칙의 대부분이 청각 장면 분석(auditory scene analysis)에서 성부의 지각적 독립성을 최대화하는 조건으로 유도된다는 것을 보였습니다.

SIMULATOR

2성 1류 대위법 검사기와 자동 작곡

    오류 / 경고—
    반진행 / 병진행 / 사진행 / 사행—
    자동 작곡 탐색 노드—
    회색 막대는 푹스의 D 도리안 정선율(D–F–E–D–G–F–A–G–F–E–D)입니다. 각 열을 클릭해 그 위에 대선율 음을 놓으세요(같은 칸을 다시 누르면 지움). 열 아래 글자는 수직 음정(P=완전, M=장, m=단)이고, 빨간 테두리는 오류, 노란 테두리는 경고입니다. C♯5 줄은 종지 직전의 이끎음(무지카 픽타)용입니다. '자동 작곡'은 오류 규칙을 하드 제약으로, 반진행·순차·불완전협화를 선호 점수로 쓰는 무작위 백트래킹 탐색입니다. 해볼 것: 예시 해답의 둘째 음 C5를 B4로 바꿔 연속 5도를 만들고 들어 보기. 두 성부가 하나로 붙어 들리는지.

    카논과 돌림노래: 시간 이동한 복사본

    카논(Canon)은 한 선율을 일정 시간 \(\tau\) 늦춰(필요하면 음정 \(n\)만큼 옮겨) 다른 성부가 그대로 따라 하는 형식입니다. 끝없이 되풀이되는 카논이 돌림노래(Round)입니다.

    $$v_j(t) = T_{jn}\big[v_0(t - j\tau)\big], \qquad j = 0, 1, \dots, J-1$$
    신호처리로 보면 같은 신호에 지연을 걸어 더하는 빗살 필터(comb filter)의 음악 버전이다. 돌림노래가 성립하려면 \(\tau\) 간격으로 자른 선율 조각들이 동시에 울려도 협화해야 한다. 「자크 형제」는 2마디 조각 네 개가 모두 으뜸화음(도–미–솔)을 펼친 모양이라 \(\tau\)=2마디로 겹치면 박 위의 음들은 거의 늘 화음이 맞고, 부딪히는 것은 셋째 조각의 8분음표 경과음(솔–라–솔–파)이 대부분이다. 바흐의 「골드베르크 변주곡」은 3번째 변주마다 1도, 2도, …, 9도 음정의 카논을 배치한, 이 제약 문제의 극한 풀이다.
    SIMULATOR

    돌림노래 플레이어: 자크 형제

    지금 울리는 화음—
    불협 순간 비율—
    전체 길이—
    각 성부(색)가 선율을 두 번 부르며 τ박씩 늦게 들어옵니다(악기와 좌우 위치도 다르게). τ=4박(1마디) 단위 기준선이 세로선입니다. '불협 순간 비율'은 모든 성부가 함께 울리는 구간을 8분음표마다 잘라 단2·장2·증4·단7·장7도 쌍이 하나라도 있는 비율입니다(여러 성부에서는 완전4도를 협화로 셈). 해볼 것: τ를 8박(2마디)에서 2·3·6박으로 바꿔 불협 비율이 어떻게 변하는지, 이조를 +7(5도 카논)로 바꾸면 어떻게 되는지 들어 보세요.

    핵심 정리

    1. 선율은 \((p_i, o_i, d_i)\)의 시계열이다. 음정열 \(\Delta_i\)는 이조 불변, 윤곽(파슨스 코드 U/D/R)은 그보다 더 거친 불변량으로 검색(QBH)에 쓰인다.
    2. 실제 선율은 작은 음정이 압도적이고(음높이 근접), 큰 도약 뒤에는 반전이 잦다. 반전의 상당 부분은 유한 음역에서의 평균 회귀로 설명된다(von Hippel & Huron 2000).
    3. 조성 위계는 탐침음 실험으로 측정된 크룸핸즐–케슬러 프로파일로 요약되고, 음높이 클래스 길이 히스토그램과 24개 회전 프로파일의 상관 최대값이 크룸핸즐–슈뮤클러 키 판정이다.
    4. 동기 변형은 음높이–시간 평면의 기하 변환이다. \(\{P,I,R,RI\}\)는 클라인 4원군이고, 조성 음악에서는 음계 도수 위의 전위·반복 진행이 자연스럽다.
    5. n차 마르코프 체인은 학습 선율의 국소 통계를 재현한다. 차수를 올리면 전이표가 희소해져 학습 곡을 베끼고(과적합), 온도는 엔트로피를 조절한다. 악구 같은 장거리 구조는 담지 못한다.
    6. 백색(β=0)·1/f(β=1)·브라운(β=2) 잡음 선율은 상관 길이가 다르다. 1/f가 '중간'의 성질을 갖지만, 스펙트럼은 2차 통계일 뿐 조성과 구조는 따로 필요하다.
    7. 작곡 규칙(음계, 강박 화음음, 도약 제한, 종지)과 대위법 규칙(연속 완전음정 금지 등)은 제약 충족 문제로 정식화되고, 백트래킹 탐색과 선호 가중치로 풀 수 있다.

    확인 퀴즈

    "도 도 솔 솔 라 라 솔"(반짝반짝 작은 별 첫머리)의 파슨스 코드는?

    첫 음은 *, 도→도 반복 R, 도→솔 U, 솔→솔 R, 솔→라 U, 라→라 R, 라→솔 D. 음정의 크기(7반음, 2반음)는 사라지고 방향만 남는다.

    음정열이 [+2, +2, −4]인 동기의 역행전위(RI) 음정열은?

    전위 I는 부호를 뒤집어 [−2, −2, +4], 역행 R은 음의 순서를 뒤집으므로 음정열의 순서를 뒤집고 부호도 뒤집는다. RI = R(I)는 [−2,−2,+4]의 순서를 뒤집고 부호를 다시 뒤집어 [−4, +2, +2]. 결국 RI는 원형 음정열의 순서만 뒤집은 것이다.

    크룸핸즐–케슬러 장조 프로파일에서 으뜸음 다음으로 높은 값을 갖는 음은?

    6.35(으뜸음) 다음은 5.19(딸림음), 그다음이 4.38(가온음), 4.09(버금딸림음)이다. 이끎음은 음계음이지만 2.88로 낮다. 맥락이 끝난 직후의 '안정감' 평가이므로, 해결을 요구하는 이끎음은 낮게 평가된다.

    상태가 8개(한 옥타브 음계음)인 3차 마르코프 체인의 전이표는 모두 몇 칸인가?

    문맥이 8³ = 512가지, 각 문맥마다 다음 상태 8가지이므로 512 × 8 = 4,096칸이다. 수십 음짜리 학습 곡으로는 대부분이 0으로 남는다(희소성). 그래서 고차 모델은 학습 곡을 그대로 재생하는 경향이 생긴다.

    보스–매카트니 알고리즘으로 만든 수열의 파워 스펙트럼 기울기(log–log)에 가장 가까운 것은?

    주기 2^k로 바뀌는 계단 신호를 옥타브마다 하나씩 더해 옥타브당 같은 에너지를 만든다. 이것이 1/f(분홍) 잡음의 정의다. −2는 랜덤 워크(적분된 백색 잡음), 0은 백색이다.

    2성 1류 대위법에서 정선율 D4→E4 위에 대선율 A4→B4를 놓았다. 무엇이 문제인가?

    A4/D4와 B4/E4는 모두 완전5도(7반음)이고 두 성부가 같은 방향으로 함께 움직였다. 이것이 금지된 연속(병행) 5도다. 두 음이 융합된 채로 움직여 성부의 독립성이 사라진다.