어떤 두 음은 왜 편하고, 어떤 두 음은 왜 거슬릴까?
도와 솔을 같이 치면 편안하고, 도와 바로 옆 도#을 같이 치면 귀에 거슬립니다. 그냥 귀에 익어서일까요? 그런데 소리 속에 숨은 '배음'이 서로 얼마나 부딪치는지만 계산해도 도-솔, 도-파 같은 간격에서 편안한 골이 저절로 나타난다는 설명이 있습니다. 더 이상한 것은, 배음이 없는 맑은 '삐' 소리로 바꾸면 도-솔이 더는 특별하지 않게 된다는 점입니다. 두 번째 음을 천천히 올리며 직접 보고 들어 보세요.
모델은 이렇게 움직입니다
- 악기 소리 하나는 기본 진동수(여기서는 가운데 도, 261.63Hz)와 그 2배, 3배, 4배… 되는 배음이 겹친 것입니다. 배음은 높을수록 조금씩 약해집니다(k번째 배음의 세기 0.88k−1, 이 프로젝트가 정한 값). 배음 수를 1로 하면 배음 없는 맑은 소리(순음)가 됩니다.
- 진동수가 아주 가까운 두 소리가 겹치면 세기가 커졌다 작아졌다 울렁입니다(맥놀이). 아주 가까우면 느리게 울렁이고, 조금 더 떨어지면 빠르게 떨려 가장 거칠게 들리며, 충분히 떨어지면 거칠지 않습니다. 이 모양은 사람에게 두 순음을 들려준 실험에서 잰 곡선을 따른 식으로 계산합니다.
- 두 음의 거칠기는 낮은 음의 배음 하나와 높은 음의 배음 하나로 만든 모든 짝의 거칠기를 더한 값입니다. 한 옥타브 안에서 가장 거친 곳을 100으로 맞춰 보여 줍니다.
- 재생하면 두 번째 음이 같은 음에서 출발해 한 옥타브 위(높은 도)까지 반음의 20분의 1씩 올라갑니다. 아래 그래프는 지나온 곳까지만 그려집니다. '같은 설정, 다른 음색'을 누르면 배음의 세기를 무작위로 바꾼 다른 악기 소리로 해 봅니다(진동수는 그대로 정수배).
직접 돌려보기
① 두 음을 합친 소리의 모양
위 칸은 아주 짧은 순간을 크게 늘려 본 파형입니다. 파랑은 낮은 음(도), 주황은 높은 음, 검은 선은 둘을 합친 소리예요. 진동수 비가 단순하면 초록 점선마다 같은 모양이 되풀이됩니다. 아래 칸은 4분의 1초 동안 소리의 크기가 어떻게 흔들리는지(울렁임)를 보여 줍니다. 울렁임이 빠르고 들쭉날쭉할수록 거칠게 들려요.
② 음을 올리며 잰 거칠기
가로는 두 번째 음의 높이(낮은 음은 늘 도), 세로는 거칠기입니다. 곡선은 음이 올라온 곳까지만 그려지고, 초록 점은 지나오며 찾은 '편한 골'과 그 자리에 가까운 단순한 진동수 비예요. 다 올라간 뒤에는 곡선을 눌러 그 간격으로 옮겨 볼 수 있습니다.
③ 반음 간격마다 거칠기 비교
피아노 건반의 반음 간격 13개마다 거칠기를 막대로 세웠습니다. 음이 그 자리를 지나야 막대가 생기고, 지금까지 가장 편한 세 간격은 초록입니다. 배음 수를 1로 바꿔 순위가 어떻게 뒤집히는지 보세요.
④ 배음 수에 따라 생기는 편한 골의 수 (미리 계산한 집계)
지금 음색에서 배음 수를 1부터 10까지 바꿔 가며 한 옥타브 안의 편한 골(같은 음 제외)을 세어 미리 계산해 둔 집계입니다. 배음이 많아질수록 골이 늘어나는지 보세요.
이 결과가 말하는 것, 말하지 않는 것
말하는 것:
- 배음이 많은 악기 소리에서는 진동수 비가 단순한 간격(도-솔 3:2, 도-파 4:3)은 편하고, 반음처럼 가깝거나 비가 복잡한 간격은 거칠어요. 기본값에서 도-솔은 16, 도-도#은 96이었어요.
- 두 음의 배음끼리 아주 가까우면 맥놀이로 부딪쳐 거칠어지는데, 비가 단순하면 배음들이 딱 겹쳐 부딪칠 짝이 줄어요. 그래서 3:2에서는 합친 파형이 낮은 음 2번 진동마다 같은 모양으로 돌아와요.
- 그렇다면 편한 두 음을 찾을 땐 진동수 비가 단순한 자리(3:2, 4:3, 5:4)부터 보면 돼요. 다만 배음 많은 소리에서 그렇고, 배음 없는 맑은 소리는 충분히 떨어지기만 하면 편했어요(도-시 0).
상세 설명
말하는 것: 기본값(배음 6개, 음색 1)에서 반음 간격의 거칠기는 같은 음 2, 높은 도(옥타브) 1, 도-솔 16, 도-라 29, 도-파 33으로 낮았고, 도-레 68, 도-도# 96으로 높았습니다. 음을 한 옥타브 올리는 동안 찾은 편한 골은 6개로, 6:5, 5:4, 4:3, 3:2, 5:3, 2:1의 단순한 진동수 비 자리였습니다. 이 가운데 3:2(도-솔)의 골이 옥타브 다음으로 깊었습니다(13.8). 배음의 세기를 무작위로 바꾼 다른 음색 5개에서도 골은 같은 비의 자리에 생겼습니다(한 음색에서는 6:5의 골이 사라져 5개). 반대로 배음이 없는 맑은 소리(배음 1개)에서는 반음 1.4개쯤 떨어진 곳이 가장 거칠고 그보다 넓어지면 거칠기가 줄어들 뿐 골이 하나도 없었습니다. 이때 도-시는 0, 도-솔은 6으로 도-시가 오히려 더 편했습니다. 배음 수를 늘리면 골의 수는 1개일 때 0개, 3개일 때 2개, 6개일 때 6개, 10개일 때 10개로 늘었습니다.
말하지 않는 것:
- 이 모델은 두 음이 귀에서 부딪치는 '거칠기' 하나만 계산해요. 어떤 화음을 좋아하는지에는 익숙함·문화·곡의 맥락도 함께 작용한다는 설명이 있지만, 이 시뮬레이션은 그쪽을 보여 주지 않아요.
- 어떤 음정이나 곡이 더 좋다고 가리지 않아요. 거친 소리가 나쁜 소리는 아니고 음악은 일부러 거친 소리를 쓰기도 해요. 숫자는 이 프로젝트가 정한 배음 세기와 기준음에 따라 달라지는 예시예요.
- 실제로 확인하려면 순음과 악기 소리로 같은 간격을 들려주고 거칠게 느끼는 정도를 물어봐야 해요. 이 모델의 거칠기 식은 두 순음을 들려준 실험에서 나온 곡선에 기대고 있어요.
상세 설명
말하지 않는 것: 이 실험은 두 음이 귀에서 얼마나 '부딪치는지'를 한 가지 식으로 단순하게 계산한 이 프로젝트의 모델이고, 숫자는 예시입니다. 실제로 어떤 화음을 좋아하는지에는 익숙함, 문화, 음악 속 앞뒤 맥락이 함께 작용한다는 설명이 있지만 이 모델은 그쪽을 다루지 않습니다. 또 이 모델은 어떤 음정이나 곡이 더 좋다고 가리지 않습니다. 소리가 거칠다는 것은 나쁘다는 뜻이 아니고, 음악은 일부러 거친 소리를 쓰기도 합니다. 결과는 이 프로젝트가 정한 배음 세기(0.88k−1), 기준음(가운데 도), 실내에서 들리는 울림이 없는 이상적인 사인파에 의존합니다.
이론적 근거와 구현 메모
- 모델의 뿌리: 진동수 비가 단순할수록 잘 어울린다는 생각은 아주 오래되었고(흔히 피타고라스 학파에 돌려집니다), Helmholtz(1863)는 배음끼리의 맥놀이가 거친 느낌을 만든다고 설명했습니다. Plomp & Levelt (1965), "Tonal consonance and critical bandwidth", J. Acoust. Soc. Am. 38은 두 순음의 간격에 따라 사람들이 느끼는 어울림을 재어, 아주 가까운 간격에서 가장 거칠고 넓어질수록 편해지는 곡선을 보고했습니다. Sethares (1993), "Local consonance and the relationship between timbre and scale", J. Acoust. Soc. Am. 94는 이 곡선을 식으로 맞추고 배음의 짝을 모두 더해 음색마다 거칠기 곡선을 그렸습니다.
- 핵심 가정과 수식: 진동수 x < y, 세기 a, b인 두 사인파의 거칠기는
min(a,b)·(e−3.5·s·(y−x) − e−5.75·s·(y−x)),s = 0.24 / (0.0207·x + 18.96)로 계산합니다(Sethares의 식을 따름). 낮은 음 배음 i와 높은 음 배음 j의 모든 짝(i, j = 1…N)을 더해 두 음의 거칠기로 삼고, 0~1200센트(한 옥타브)에서 가장 거친 곳을 100으로 나눠 보여 줍니다. 1센트 = 반음의 100분의 1입니다. - 이 프로젝트의 단순화: 같은 음 안의 배음끼리 생기는 거칠기는 빼고 두 음 사이의 몫만 봅니다. 배음 세기 0.88k−1, 기준음 261.63Hz, '편한 골'의 기준(양옆 40센트 안에서 가장 낮고 양옆보다 3 이상 낮은 곳)은 이 프로젝트가 정했습니다. 소리의 크기, 방의 울림, 음이 이어지는 흐름, 익숙함과 문화는 넣지 않았습니다.
- 이론값과 시뮬레이션: 배음 6개에서 찾은 골은 316, 386, 498, 702, 884, 1200센트로, 단순한 비 6:5(315.6), 5:4(386.3), 4:3(498.0), 3:2(702.0), 5:3(884.4), 2:1(1200)의 자리와 1센트 안에서 맞았습니다. 피아노의 반음 자리(평균율)는 이 비에서 2~16센트 떨어져 있어, 도-솔(700센트)의 거칠기 16은 골 바닥 13.8보다 조금 높습니다. 배음이 1개면 가장 거친 곳이 142센트였습니다. 모두
node tools/validate-harmony.js의 출력입니다. - 더 읽을거리: William A. Sethares, 『Tuning, Timbre, Spectrum, Scale』, Springer (음색과 음계의 관계, 거칠기 곡선). Plomp & Levelt (1965), 위의 논문. Hermann von Helmholtz, 『On the Sensations of Tone』(독일어 원서 1863).
- 곡선은 0~1200센트를 1센트 간격으로 미리 계산하고, 재생은 5센트씩 올라가며 지나온 곳까지만 그립니다. 골은 지나온 곳에서 오른쪽 40센트까지 확인된 뒤에야 표시합니다. 다른 음색은 시드 난수(mulberry32)로 2번째 이후 배음의 세기를 0.15~1에서 뽑습니다(같은 번호면 같은 음색).
- 소리는 Web Audio의 사인파 발진기로 두 음 × 배음 수만큼 만들어 냅니다. 버튼을 눌렀을 때만 나고, 소리를 낼 수 없는 환경에서는 조용히 넘어갑니다. 검증은
node tools/validate-harmony.js로 할 수 있습니다.