블로그를 시작했던 이유 중 하나가 음악에 대한 내 생각을 적어 보려고 한 것이고 그 결과로 내 블로그의 첫번째 글이 Non-Linear Music ( ikipus.tistory.com/entry/Non-Linear-Music?category=190679 )이 되어 버렸다.

 

고등학교 이상의 수학적 지식이 필요한 퓨리에 급수를 도구로 음계와 음색에 대한 이야기를 해 본 것인데 수학적인 이야기를 최소화 하려다 보니 (사실 수식 입력하기가 귀찮아서) 수학적 배경 지식이 없는 상태에서 자세히 읽어 내기는 사실 어렵다. 어느 분이 좀 자세히 써 달라는 요청이 있어서 언젠가는 자세히 쓰겠다고 약속을 했었는데 10년이 훌쩍 지나가 버린 듯 하다. 그 약속을 지키고자 글을 쓰긴 하는데 음악에 대한 이야기는 거의 안 나오고 80% 이상이 수학에 대한 이야기로 채워질 듯 하다.

 

------------------------------------------------------------------------------------------------

 

나도 수학을 잘하지는 못하고 여기를 찾은 여려분들도 수학에 능통하지는 못할 것이란 전제하에, 중학교 수준에서 출발하려 하며 삼각함수부터 이야기를 시작해 볼까 한다.

 

중학교 때 삼각함수는 기하학 수준에서 배우는데 이공계 쪽으로 진학을 하면 거의 전가의 보도처럼 사용되는 도구가 된다. sin과 cos은 길이를 가진 어떤 직선이 X축과 Y축에 투영된 길이를 의미한다. 중학교 때에는 기하학 수준에 논의되던 삼각함수는 삼각형 내각의 합인 180도를 넘어가지 않지만 고등학교 때에는 X-Y 평면상에서 원운동을 논하기 위한 수단으로 이용되면서 (아무도 그런 배경을 알려주지는 않지만) 180도를 넘어 무한대 각도를 대상으로 확장된다.

 

 

COS은 길이 L의 직선이 X-Y 평면에서 회전할 때 직선이 X축에 투영된 길이를 의미하고 SIN은 같은 직선이 Y축에 투영된 길이를 의미한다. 즉 sin, cos의 차이는 돌아가는 막대기를 어디에서 보느냐에 있다.

 

 

 

 

소리는 공기 분자가 운동량을 받아 밀도 변화를 일으켜 귀의 고막에 압력 변화를 가하고 이로 인한 고막의 진동이 전기적 신호로 변환되어 뇌로 전달되는 것이다. 힘을 가해 소리 굽쇠를 진동 시키면 주변 공기 밀도를 변화시키는 파형이 발생하는데 파형이 사인파 형태라면 일정한 크기의 힘이 반시계 방향으로 회전하고 있다고 생각할 수 있다.

 

일정한 크기의 힘이 반시계 방향으로 실제로 도는지 안 도는지는 사실 알 수 없으며 여기에서는 관심사항도 아니다. 다만 파형이 사인파 형태라면 이를 근거 삼아 역으로 어떤 회전하는 힘의 Y축 투영분이 파형으로 나타난다고 해석해도 실제를 다루는데에는 아무 문제가 없다.

 

내가 알기에 소리 굽쇠의 파형은 거의 완벽한 사인파 형태라고 알고 있으므로 소리굽쇠를 예로 들어 이야기를 해 보자. 어떤 공간에 소리 굽쇠를 울리면 공기의 압력 변화가 사인파 형태로 변화하면서 귀의 고막을 진동시키는 것으로 소리를 전달한다. 공기 변화의 주기가 초당 440번 변화한다면 즉 주파수가 440Hz라면 소리의 높낮이가 '라' 음정으로 들리게 된다. 이때 소리 굽쇠는 일정한 길이를 가진 힘이 반시계 방향으로 초당 440바퀴 도는 것으로 모델링 할 수 있다. 참고로 소리의 크기가 줄어드는 것은 길이가 줄어드는 것으로 모델링 된다. (음정이 일정하면 초당 회전수는 일정하다) 

 

목욕탕이나 동굴 등의 폐쇄된 공간에서 소리 굽쇠를 울리면 최단 거리로 귀에 전달되는 파장이 있고 벽에 반사되어 긴 거리를 돌아서 귀에 전달되는 파장이 있다. 소리는 여러 개의 파장이 약간의 지연을 거치며 합쳐져 귀에 전달된다. 이 때에도 합쳐진 파장의 주파수는 원래 파장을 유지한다. 즉 440Hz '라' 음정 소리를 내면 그 음정은 동굴이든 벌판이든 집안이든 음악당이든 상관없이 440Hz '라' 음정으로 내 귀에 전달된다.

 

벽에 반사되어 늦게 전달된 파장이 원래 파장과 합쳐지더라도 주파수가 유지된다는 것은 아래 그림을 보면 직관적으로 이해할 수 있다. 다만 합쳐진 파형은 파장 간 각도 차이에 따라 작아지거나 커질 수도 있다.

 

 

아래와 같이 대수적으로 전개를 해 봐도 합쳐진 파형의 주파수는 유지된다는 것이 확인된다. (잘 모르는 삼각함수 공식을 어거지로 찾아가며 알아본 탓에 마무리 결론이 마음에는 안 들지는 않지만 어쨌든 각속도가 동일하고 위상각이 다른 2개의 Sinusoidal 함수의 합은 각속도가 일정하다는 결론을 내기에는 부족하지 않다)

 

목욕탕에서 들리는 소리가 울리듯이 들리는 것은 소리 파형이 사방 팔방에서 부딪치며 시차를 두고 귀에 전달될 때 뇌는 그것을 울리는 듯하게 느끼기 때문이다. 좌/우 2개의 눈으로 입체감을 느끼는 것과 마찬가지로 지연되어 전달된 소리도 입체감을 느끼게 한다.

 

소리 굽쇠의 소리가 여러 경로를 통해 귀에 전달되는 것은 아래 그림과 같이 여러 개의 회전하는 힘에서 발생시키는 사인파형이 각각 시지연 되면서 귀에 전달되는 것으로도 생각할 수 있다.

 

 

음향기기의 공간계 효과는 이러한 형태를 전자기기를 통해 구현한 것으로 파형 신호를 아래 그림과 같이 일정 시간 지연 시키면서 신호 출력에 합류시킨다.

 

 

아래 그림 같은 딜레이 구성은 아마도 훨씬 괴상하고 기기묘묘한 소리를 낼 수 있을 것이다.

 

 

------------------------------------------------------------------------------------------------

 

지금까지는 주파수가 동일한 파형들의 합에 대해서 이야기 했었다. 이제는 주파수가 정수배로 달라지는 파형들의 합에 대한 이야기를 해 볼까 한다. 즉 퓨리에 급수를 가지고 음향에 대해 논해 보고자 한다.

 

그 전에 삼각함수의 합성 공식을 먼저 언급할까 한다. 고딩 때 배우는 삼각함수 공식 중 하나로 다음과 같은 공식 있다.

위 공식에서 tan(θ)=b/a이다. 이 식의 의미는 길이를 가진 직선이 X-Y 좌표 원점 중심에서 회전 할 때 Y 축에 투영되는 길이는 서로 다른 2개의 길이를 가진 직선의 회전으로 분해할 수 있다는 것이다. 이 분해 과정에서 위상각 θ를 제거하는 효과를 가진다. θ가 제거된다는 것에 어리둥절 할 수 있는데 θ 값에 따라 a와 b의 값은 변한다. 다만 a와 b의 기하 평균은 동일한 값을 유지된다.

 

가령 아래 그림에서 왼쪽 원의 반지름 길이로 빙글 빙글 돌아가는 막대의 Y축 투영 길이는 (파란색 선) 같은 각속도로 회전하는 a 길이 막대의 Y축 투영 길이와 b 길이 막대의 X축 투영 길이의 합이 된다. 빙글 빙글 돌고 있는 어떤 순간에서든 3개의 막대가 같은 각속도로 돌기만 한다면 해당 관계가 성립한다. 아래 그림의 순간에서 왼쪽 원의 막대기가 Y축에 투영된 길이(파란색 막대의 길이)는 b가 된다. 그림을 가만 보고 있으면 θ가 45도인 경우 a와 b의 길이는 동일해야 하며 그 길이는 root( (a^2+b^2)/2) 임을 직관적으로 알아 볼 수 있다.

 

 

이제 퓨리에 급수에 대해 알아 보기로 하자.

 

어떤 임의의 주기를 가지는 파형이 있다고 생각해 보자. 그 파형이 수식으로 표현 될 수 있을지 없을지 모르지만 아무튼 그 파형을 나타내는 함수를 f(t)라고 해 보자. 300년 전쯤 프랑스의 "퓨리에" 라는 다소 이상한 이름을 가진 귀족(남작)이 밥 먹고 할 일이 없었던지 "무슨 파형이든지 그 파형이 주기적인 파형이라면 사인파의 합으로 나타낼 수 있을거야" 라는 엉뚱한 생각을 한다. 이런 엉뚱한 생각을 수식으로 나타낸 것이 이렇다.

시그마 기호 안의 수식은 삼각함수 합성공식에서 봤던 asinx+bcosx 의 형태임을 알 수 있다. 즉 시그마항은 각속도가 정수배인 sin(nx+θn) 파형들의 합이다. 다른 언어로 써 보자면 이 수식은 각각의 길이를 가지는 여러 직선들이 (가장 느리게 돌아가는 직선의 각속도에 대한) 정수배 속도로 회전 할 때 각 회전의 Y 축에 투영된 크기들의 합으로 임의의 주기 파형을 나타낼 수 있음을 뜻한다.

 

글로 써 놓으니 길고 장황하지만 같은 내용을 그려 놓은 아래 그림을 보면 간단한 내용이다. 다만 원운동을 하는 막대기의 갯수가 무한대라는 단서가 붙기는 하는데 인간이 감지할 수 있는 주파수 대역은 한정되어 있으므로 소리를 다룰 때 고려해야 할 원운동 하는 막대기의 갯수는 분명 유한하다. 이 때 an과 bn을 구하는 일반적인 수식을 정의 할 수 있다면 푸리에 남작의 엉뚱한 생각은 수식으로 볼 때 틀린 이야기는 아니게 된다.

 

 

"무슨 파형이든지 그 파형이 주기적인 파형이라면 각속도가 서로 정수배인 사인파들 합으로 나타낼 수 있을 것 같다" 라는 가정에서 그림과 같이 퓨리에 급수를 도출하는 것은 그리 어렵지 않다. 위 그림에 명시된 퓨리에 급수는 사실 결론이 아니라 가정을 수식으로 써 놓은 것에 불과하다. 문제는 그 가정이 맞느냐는 것인데 다시 그 가정을 전제로 하는 수식 전개를 통해 an과 bn 계수들을 구하는 일반식을 도출할 수 있다면 가정과 결론이 꼬리를 물면서 애초의 가정이 수학적으로 참이 된다. 자칫하면 동어반복에 의한 순환 오류에 빠지기 딱 좋은 이런 논리를 뭐라고 부르는지는 모르겠는데 수학 분야에서 은근 많이 사용하는 접근법이다.

 

그래서 교과서에서는 퓨리에 급수를 먼저 선언부터 해 놓고 그 선언을 준수하면서 an과 bn의 계수를 구하는 수식 전개에 많은 부분을 할애한다. 가정에 의한 결론을 먼저 내 놓고 그 결론으로 다시 가정을 도출하여 꼬리를 무는 방식에 익숙하지 않으면 난무하는 수식을 따라가기가 쉽지 않다. 참고로 퓨리에 적분도 이런 방식으로 전개된다.  아무튼 남들 하는대로 계수를 구하는 방법에 대한 다소 지루해 보이는 수식을 따라가 보자.

 

 a0를 구할 수 있는 식을 알아 보자

 

 

 

a1을 구할 수 있는 식을 알아 보자

 

 

b1을 구할 수 있는 식을 알아 보자

 

 

cos, sin과 적분기호가 난무하고 보기에도 겁나는 무한 수열이 등장하니 엄청나게 복잡해 보이지만 각속도가 정수배인 cos, sin 함수의 곱을 적분하면 0가 된다는 것만 알고 있으면 너무나도 간단한 계산이다. 알고 싶은 항(an항 또는 bn)의 삼각함수를 f(t)에 대해 곱하고 적분하면 관심 있는 항을 제외한 나머지는 모두 0으로 계산되어 한방에 없어지고 내가 알고 싶은 항만 제곱형태로 남는다. cos, sin의 제곱에 대해 주기 T에 대한 적분은 각속도가 어찌 되었든 모두 (T/2)로 떨어진다는 것만 알면 쉬운 계산이 된다. ( 두 함수를 곱하여 적분했을 때 0가 되면 두 함수의 관계는 직교한다고 정의된다. 각속도가 정수배인 cos, sin 이 서로 직교 함수라는 증명은 여기에서는 하지 않는다. 솔직히 말하자면 나도 잘 모른다)

 

각속도가 뭐가 되든 cos 제곱 또는 sin제곱의 0~T 구간에 대한 적분값이 T/2가 되므로 an, bn을 구하는 방법은 동일한 절차를 거친다. 따라서 최종적으로 퓨리에 급수 및 급수의 계수를 구하는 수식은 다음과 같다.

 

 

가정과 결론이 꼬리를 무는 논리 구조를 다시 한번 음미해 보자. 아래 그림의 논리 구조를 보면 다들 이게 무슨 뚱딴지 같은 소리냐고 할 것이다. 위의 복잡해 보이는 수식 전개 과정은 이런 논리 구조를 가지고 있다. 따라서 아래 그림이 뚱딴지 같아 보이면 수식을 백날 봐도 이해할 수가 없다. 이 논리 전개 구조를 전혀 모르고 수식 전개만을 따라간 것으로 퓨리에 급수의 증명을 이해했다고 여긴다면 굉장한 오해를 할 가능성이 높다.  이런 논리 구조를 따져 보는 것은 수식 전개에 대한 이해 능력과는 아무 상관도 없으며 어쩌면 살아가는데 있어 굉장히 유용한 철학적인 내용일 수도 있다.

 

 

퓨리에 급수 자체는 가정이다. "주기적인 파형은 각속도가 서로 정수배인 사인파들 합으로 나타낼 수 있다" 라는 가정을 수식으로 표현한 것에 불과하다. 가정 단계의 퓨리에 급수 수식을 가만 살펴 보면 해당 수식이 선언이 아닌 가정일 수 밖에 없는 이유는 an과 bn을 정할 수 있는 규칙을 정하지 않았기 때문이다. 위에서 잔뜩 언급했던 수식 전개의 논리 흐름 뼈대를 그림으로 그려 보면 다음과 같다.

 

 

"A(f(t))이면  B(퓨리에 급수)이다" 라는 가정을 놓고 어쩌고 저쩌고 수식을 전개해 봤더니 가정 단계의 B에서 정해지지 않았던 an 계수와 bn 계수가 f(t)와 상관 관계를 가지는 "B(퓨리에 급수)는 A(f(t)) 이다" 라는 결론이 도출된다. an과 bn을 저런 식으로 구하면 모든 f(t)에 대해 퓨리에 급수가 성립한다는 것이 수식적으로 보장되는 것이다. 이렇게 가정과 결론이 서로 꼬리를 물면 맞는 것이 되어 버린다.

 

저런 패턴의 논리 전개는 사기꾼들이 잘 쓴다. 전개 과정을 복잡하게 하는 것으로  오류를 감추거나 "A이면 B다"라고 가정해 놓고 은근슬쩍 결론을 "A이면 B다" 라며 우기는 식이다. 대개 설명이 장황하고 말이 많으면 십중팔구는 거짓말이다.

 

동어반복처럼 보이는 저 논리를 어떻게 받아 들어야 할 지는 주의가 필요하다. "A이면 B다"라는 가정이 저런 식으로 증명되었다는 것은 그 문장이 "A이면 B다"와 "B이면 A다"의 2개가 한 세트일 때만 완전성을 가진다는 것 외에는 다른 의미가 없다. 저런 논리 흐름대로 증명된 "A이면 B이다"는 그 자체로는 참/거짓을 따질 수 있는 것이 아니다. 다만 "A이면 B다"가 참이 되려면  반드시 "B이면 A이다"를 엄격히 지켜야 한다는 의미로 받아 들여야 한다.

 

지금 논하고 있는 퓨리에 급수를 예를 들자면, "주기 파형은 사인파의 합으로 구성되었다" 라는 것 그 자체로는 참/거짓을 논할 대상이 아니라는 것이다. 다만  "주기 파형은 사인파의 합으로 구성되었다" 가 참이 되게 하는 필요충분 조건은 an과 bn의 계산을 저렇게 해야 할 때 뿐이라고 생각해야 한다. 주기 파형은 사인파의 합으로 구성된 것이 진실이라고 오해 하면 안된다. 다만 an과 bn을 저렇게 계산 했을 때에는 이와 연동되어 주기 파형을 사인파의 합으로 나타낼 수 있다는 것 뿐이다.

 

가령 K란 사람이 "주기 파형은 구형파의 합으로 구성되었다"라고 주장한다고 치자. 퓨리에 급수가 참이라면 K란 사람은 거짓말을 하는 것이다. 그러나 그 주장 자체는 참과 거짓을 따질 대상이 전혀 되지 못한다. 단 주기 파형이 구형파의 합이 될 수 있는 계산 방법을 "주기 파형은 구형파의 합으로 구성되었다"라는 가정에 근거하여 내 놓으면 그 주장은 내적 완전성이 확보된 써 먹을 수 있는 이론이 되는 것이다. 잘만 찾아 보면 기존 퓨리에 급수로 해결하기 힘들었던 문제들을 다루는데 유용하게 써 먹을 수 있을지 모른다.

 

"부처님 눈에는 부처님만 보인다"는 격언과 맥을 같이 하는 논리이다.  가정과 결론이 꼬리를 무는 형태는 말의 앞 뒤를 맞추는 것과 같다. 삶이 아름답다고 여기고 그 전제에 맞는 실행을 하면 인생은 아름다워진다. 그 반대도 마찬가지다. 세상은 스스로 규정할 수 있는 것이다. 세상 모든 것이 마음 먹은 대로라는 "일체유심조" 란 말이 괜히 있는 것은 아니다. 그러나 좋은 쪽으로 꼬리 물기 하는 것 보다는 나쁜 쪽으로 꼬리 물기 하는 것이 훨씬 쉽다는 것이 함정이긴 하다. 쉬워 보이는 길에는 십중 팔구 악마가 있다.

 

아무튼 복잡해 보였지만 퓨리에 급수의 결론은 너무나도 간단한 수식이 되어 버렸다. 예전에 처음 이걸 공부했을 때 수식이 아름다울 수도 있다는 것을 처음 경험했다. (옆의 친구는 수식의 아름다움에 도취된 나를 보고 드디어 이 놈이 미쳤다고 생각했다)

 

공학에서는 퓨리에 급수를 복소평면으로 옮겨서 다루기도 한다. 곱셈 연산이 복소 평면에서는 회전으로 나타나므로 계산상의 편의가 생긴다. 허수를 다루기에 허수는 존재하지 않는 수라고 철썩 같이 믿었다가 실제 공학에서 쓰이는 것을 보면 처음에는 멘붕이 온다. 물론 여기에서는 논하지 않는다.

 

퓨리에 급수의 계수를 구하기 위해서는 임의 파형 f(t)에 sin, cos 값을 곱하여 적분을 해야 하는데 요즘 같은 Digital 환경에서는 f(t)를 수식으로 도출하지 않아도 배음의 크기를 알아 낼 수 있다. 파형이 A/D 컨버터로 샘플링 된다면 몇 번의 단순 사칙연산으로 an 계수와 bn 계수는 쉽게 구해진다. 대신 Sampling 주파수의 절반 주파수 내의 배음 크기를 구할 수 있다는 제약은 따른다. 아마도 기기가 고속화 되면서 Sampling 주파수는 가청 주파수를 커버할 수 있을만큼 충분히 커졌을 것이라 추측된다.

------------------------------------------------------------------------------------------------

 

퓨리에 급수를 보면 임의의 파형은 파형 주파수의 정수배 주파수를 가지는 사인파들의 합으로 나타낼 수 있음을 알 수 있다. 아무리 복잡한 파형이라도 주기적인 파형이기만 하면 단순한 사인파들로 분해할 수 있다. 심지어 간단하게 보이지만 최고로 복잡한 impulse 파형 (순간적으로 튀는 파형)도 사인파들의 합으로 분해 할 수 있다.

 

피아노 소리를 듣건, 바이올린 소리를 듣건, 기타 소리를 듣건, 음정을 가지고 있는 모든 소리들은 음정 주파수의 정수배 주파수를 가지는 사인파들의 합으로 구성된다. 이 때 각 개별 사인파들의 크기가 소리의 음색을 좌우한다. 음향학에서 배음이라고 하는 것은 정수배 주파수를 가지는 사인파들을 의미한다. 악기의 음색에서 배음이 풍부하다는 의미는 해당 파형을 복수의 사인파들로 분해했을 때 청력이 감지할 수 있는 유의미한 크기를 가지는 사인파의 갯수가 많다는 뜻이다.  높은 배음들이 많다는 것은 자잘하고 복잡한 파형이 될 가능성이 높다.

 

높은 음역대의 소리일수록 단순한 소리로 들리는 것은 1배음의 주파수가 높아짐에 따라 가청 주파수 내에서 유효한 배음이 적어지므로 인간이 청각으로 인지할 수 있는 범위의 파형은 단순한 사인파에 가까워지기 때문이다. 극도로 높은 음역을 내면 악기가 뭐가 되든 소리는 "삐~~~" 하는 소리로 수렴하게 된다. 가수가 돌고래 수준의 높은 음역대의 소리를 구사하는 경우 가수 특유의 음색은 크게 두드러지지 않는다.

 

위 그림에서 각 배음의 크기는 원운동을 하고 있는 막대기의 길이인 Ln이며 퓨리에 급수 an , bn 계수값의 기하 평균값이다. (이해가 가지 않는다면 앞쪽의 "삼각함수의 합성 공식"을 다시 한번 읽어 보기 바란다)

 

보통의 경우 배음이 높을수록 배음의 크기는 낮아진다. 그렇다면 어떤 악기의 음색에서 가장 큰 부분을 차지하는 것은 1배음이고 그 다음이 2배음 그 다음은 3배음 순서대로 비중이 낮아질 것이다. 그런데 2배음은 주파수가 2배인 것을 의미하므로 특정 악기로 특정 음정을 연주했을 때 동일한 악기로 그 음색과 가장 비슷한 음색을 낼 수 있는 방법은 한 옥타브 위의 음정을 연주하는 것이다. 그래서 피아노로 한 옥타브 음을 같이 쳤을 때 음색이 풍부해지는 듯한 느낌이 드는 것이다.

 

그 다음으로 비슷한 음을 치는 것은 3배음을 치는 것인데 이건 한 옥타브 위의 완전 5도를 치는 것을 의미한다. 음계상에서 완전 5도가 가장 중요한 이유가 이것이었다. 기준음정과 가장 비슷한 음정이 완전 5도인 것이다. 4배음은 두 옥타브 음이므로 2배음과 의미가 같아진다. 

 

그렇다면 배음의 크기를 조정하여 악기의 음색을 내 마음대로 할 수 있다면 어떨까? 기존에는 악기의 음색을 선택할 수가 없었으므로 여러 악기를 배치하고 화성악 이론에 따라 Arrange를 했었지만 악기의 음색을 마음대로 조정할 수 있다면 같은 음정을 내면서도 묘하게 화성을 내는 효과를 낼 수도 있을 것이다. 현대 음악에서 음색이 더욱 중요하게 부각되는 이유가 명확해진다.

 

퓨리에 급수로 소리를 분해해 보면 음계상에서 완전 5도는 3배음의 성격을 갖는다는 것이 명확해 진다. 완전 5도는 기준음의 일부분을 복사한 일종의 분신과도 같은 존재라 할 수 있다.

'자작 > 내 생각' 카테고리의 다른 글

대리코드 간 대칭성  (0) 2020.09.28
완전4도와 완전5도 간 대칭성  (1) 2020.09.24
극기복례  (0) 2020.05.27
디지털 기술은 형식을 파괴하는 경향이 있는 듯...  (0) 2015.05.27
가족 제도에 대한 단상  (0) 2013.10.18
Posted by ikipus
:

카테고리

분류 전체보기 (290)
자작 (222)
(19)
지극히_개인적인 (49)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today : Yesterday :