[Top Page / 톱 페이지] > [음악 혼잣말] > ["음색"에 관련한 수학적 거짓말적(?)고찰 - 준비편 -] > [부록 : 음색 스펙트럼 계산술]

[Japanese / Nihongo](JPN) [Korean / Han-gug-eo](KOR)

← 본문에

음색 스펙트럼 계산술(音色 spectrum 計算術)

인문계인 여러분, "금단의 장소"에 어서오십시오(바보). 여기에서는 음색 스펙트럼 산출 방법을 설명 하고 싶다고 생각합니다. (수학적으로는 "푸리에 변환(Fourier transform)"의 한 가지입니다).

최초에…이 페이지에서는 수식을 많이 사용합니다. 내용을 이해하기 위해서는, 미분(微分) 적분(積分)에 관한 기초적인 지식, 더욱이 삼각함수(三角函數)(sin(사인, 정현함수(正弦函數)), cos(코사인, 여현함수(餘弦函數)))에 관한 지식(일반각(一般角)에 확장하기, "덧셈 정리(定理)"등을 포함함)이 필요합니다. 또 각도는 "호도(弧度)"( "라디안(radian)"을 사용하는 각도 표현. 180도를 "π"라고 표기.)으로 표기합니다.

추가 주의. "함수(函數)"는 보통

y =f (x )

라고 표기하지만, 이 페이지에서는

x =f (t )

라고 표기합니다. 이 페이지에서는 "음파(音波)"를 고찰합니다. 음파에서는 독립 변수(獨立變數)는 시간(時間,time)이기 때문에, " t "를 사용하는 것이 어울리다고 생각했기 때문입니다. 하여간 이 페이지는 음악에서는 매우 멀게 헤어진 분위기에 차고 있습니다. 각오해 주세요! (^^;)

(그 위에... 이 페이지에서는 學術論文風으로 漢字를 많이 사용합니다...이 글과 같이. 다만 한자만 쓰면 한글로 어떤 발음하는지 알 수 없으므로(저를 포함한다) 한글(한자)란 서식을 사용합니다.(웃음))

그럼 출발 ... 전에, 삼각함수(三角函數)의 미분 적분(微分積分)을 복습(復習)해 놓습니다. 삼각함수(三角函數)의 미분 적분(微分積分) 공식(公式)은 이하 수식(數式)로 나타내는 바와 같습니다. 단, 상수(常數) a 는 영(零,0)는 아닌 상수입니다.

(sin(at))' = a(cos(at)), (cos(at))' = -a(sin(at)), ∫cos(at)dt=(1/a)sin(at)+[적분 상수], ∫sin(at)dt=-(1/a)cos(at)+[적분 상수] ... 數式(1)/수식(1)

그럼 본론에 돌입(突入)(!?)합니다. 우리들이 다루는 함수(函數) x = f (t ) 는 이하에 쓰는 조건이 성립하기로 가정합니다.

상기 조건은 복잡하게 보이지만 우리들이 음악에서 사용하는 음파(音波)의 대부분은 상기 조건을 만족합니다.

구체적으로 설명하면,

에서 발생되는 음성은, 대체로 시간 t 의 연속하는 더구나 매끄러운 함수입니다.

더욱이,

소리를 발생하는 순간에 타격음(打擊音)이 혼입하는 점과 시간이 경과하면 음이 감쇠(減衰)하는 점을 제외하면, 위의 조건을 대개 만족합니다. 지금이후는 상기 조건이 성립한다고 가정해 계산할 수 있습니다. 타악기(打樂器)에서도 목금, 첼레스타(celesta) 등이 발생한 소리는 (감쇠(減衰)가 이르지만) 이들에 준하고 생각할 수 있습니다(※각주1). 향후 실시하는 계산에서는, 함수 f(t)는 상기 조건이 만족되기로 하겠습니다.

그런데 상기 조건이 만족되는 파형(波形)에서는, 이하와 같은 급수전개(級數展開)가 가능합니다.

f(t)=C[0]+Σ(n=1,∞){a[n]cos(ωt)+b[n]sin(ωt)}, (ω=2π/T) ...數式(2)/수식(2)

이것이, "푸리에 변환(Fourier變換)"중, "푸리에 급수(Fourier級數)"라고 불리는 공식(公式)입니다. T 가 주기(周期)이어, 1 / T 는 진동수(振動數)입니다. 그리고, 이 "수식2"에 등장하는

a1, a2, a3, ..., an, ..., b1, b2, b3, ..., bn, ...

를 "푸리에 계수(Fourier係數, Fourier Coefficient)"라고 합니다.

실은 푸리에 계수를 계산하면, 주파수 스펙트럼(周波數spectrum)을 계산할 수 있는 것입니다. 그 이유를 설명하려고 합니다. 수식(2)를 변형하면,

f(t)=C[0]+Σ(n=1,∞)√{(a[n]^2+b[n]^2)sin(nωt+φ[n])}, (단, φ[n]=arctan(b[n]/a[n]) (a[n]≠0),φ[n]=π/2 (a[n]=0)) ... 數式(3)/수식(3)

라고 됩니다. 첨자 1,2,3,...,n "제○ 배음"의 "○"입니다. 그리고, sin(...)부분은 순음(純音)(기음(基音)·배음(倍音)) 진동(振動)을 표현합니다. 그러므로, 첨자n 을 포함하는 √부분은 "순음(純音)의 진폭(振幅)"= "순음의 크기"를 표현합니다. √부분에는 an bn만이 있습니다. 그로, 수식(2)에 등장하는 an bn을 계산하면, 기음(基音)과 배음(倍音)의 크기가 판명하는 것입니다. n 을 횡축(橫軸)으로 설정하고, 제n 배음(倍音)의 크기√를 종축(縱軸)으로 설정하면, 주파수(周波數) 스펙트럼 그래프를 작성할 수 있습니다.

[스펙트럼 구성 방법 예(Spectrum_example.gif, 2.08KB)]

그럼, 이 계수 an , bn과 상수 C0을 어떻게 계산하는 것인가요? 우선 준비를 합니다. 이하의 공식을 확인해 주십시오. ( p q 는 자연수(自然數)입니다.)

∫(t=0,T)cos(pt)cos(qt)dt = 0 (p≠q), =T/2(p=q),∫(t=0,T)sin(pt)sin(qt)dt = 0 (p≠q), =T/2(p=q), ∫(t=0,T)cos(pt)sin(qt)dt = 0 ...數式(4)/수식(4)

이 공식을 증명하는 것은 생략합니다만 삼각함수(三角函數)의 미분 적분(微分積分) 공식와 덧셈 정리를 사용하면 증명할 수 있습니다.

그럼 an을 계산합시다. 수식(2) 양변(兩邊)에서 cospωt를 곱하고, 양변을 적분(積分)합니다. "합의 적분은 적분 합(合의 積分은 積分의 合)"라고 하는 속담...아니고, 정리를 사용하고 수식을 변형합니다.(←필독주의(※각주2)가 있습니다.)

[a[n]을 계산중 (Eq5.gif,2.28KB)] ...數式(5)/수식(5)

수식(4) 제1식과 제3식을 참조해 주십시오. 수식(5) 우변(右邊)에 있는 적분(積分)은, 적분되는 함수(函數)가 "cos pωt cos pωt "인 항(項)이외는 모두 "0"인 것을 압니다. 그러므로

[a[n]을 계산중(Eq6.gif, 1016 bytes)] ...數式(6)/수식(6)

p n 으로 치환(置換)해 양변(兩邊)에서 2/T 를 곱하고 이 양변을 교환(交換)하면,

a[n] =(2/T)∫(t=0,T)f(t)cos(nωt)dt ...數式(7)/수식(7)

이렇게 하면, an가 계산됐습니다!

다음은 bn입니다. 수식(2) 양변(兩邊)에서 sin pωt 를 곱하고, 양변을 적분(積分)합니다.

[b[n]을 계산중(Eq8.gif,2.29KB)] ...數式(8)/수식(8)

수식(4) 제2식과 제3식을 참조하면 수식(5) 우변(右邊)에 있는 적분(積分)은, 적분되는 함수(函數)가 "sin pωt sin pωt "인 항(項) 이외는 "0"입니다. 그러므로,

[b[n]을 계산중(Eq9.gif, 1021 bytes)] ...數式(9)/수식(9)

p n 으로 치환(置換)해 양변(兩邊)에서 2/T 를 곱하고 이 양변을 교환(交換)하면,

b[n] =(2/T)∫(t=0,T)f(t)sin(nωt)dt ...數式(10)/수식(10)

bn가 계산됐습니다!

상수(常數) C0도 계산하려고 하여요. (단, 음파(音波)를 분석(分析)할 때는 C0은 무시하는 것이 보통입니다. C0은 음파의 질김이나 음색에는 무관계입니다.) 수식(4) 양변(兩邊)을 적분(積分)하고,

[C[0]을 계산중(Eq11.gif, 1.67KB)] ...數式(11)/수식(11)
그러므로,
C[0] = (1/T)∫(t=0,T)f(t)dt ...數式(12)/수식(12)

anbn (n = 1,2,3,…)을 사용해 √(a[n]^2 + b[n]^2)을 계산하여 n = 1,2,3,...의 순서대로 늘어놓으면 주파수(周波數) 스펙트럼이 완성합니다. 즉, 푸리에 변환(變換)이 완료합니다.

현실에는, "음파 파형(波形)이 x = f (t )라고 하는 수식은 아니고, "시간(t )대 진동 변위(振動變位) (x (t ))"의 수치표(數値表)로 제시된다"

라고 하는 경우도 많습니다. (이 페이지에 다루고 있는 음색 분석도 이것입에요.) 이 경우에서는 적분(積分)은 합(合)으로 옮겨집니다. 상세한 설명은 생략하지만, an , bn 은 이하로 나타내는 바와 같이 계산됩니다. (각주3)

a[n]=(1/π)Σ(k=1,M){cos(2πnk/M)}, b[n]=(1/π)Σ(k=1,M){cos(2πnk/M)} ...數式(13)/수식(13)

더우기,M 는 1주기(周期)에 포함되는 데이타수, X ( k )는, k 번째에 있는 데이타의 값을 의미 합니다. 이 식을 사용하고 an , bn 을 계산하는 것은, MS-Excel으로 대표되는 듯한 "표계산 소프트"를 사용해 실행할 수 있습니다. 한가한 사람(?)은 여러가지 파형으로 시험해 봐 주십시오.(^^)

이상, "음색 스벡트럼 계산술"입니다. 음악 사이트라고 생각되지 않는 수식 듬뿍이라고 한 내용이었습니다만, 음악과 수학이 깊은 관계를 조금 보이고 싶다고 생각했습니다. 최후까지 봐 주신 것, 감사합니다. "←본문에"라고 하는 항목에서 본래의 페이지로 시세회복 주십시오.




※각주1 : 음계(音階,scale)를 연주할 수 있는 타악기에는 "팀파니(Timpani)"가 있지만 기재하지 않았습니다. 실은, 팀파니와 같은 "북",즉, 2차원 막(膜) 진동은 푸리에 변환만에서는 유감이지만 해석할 수 없는 것입니다. (이 동그라미 표 ●를 선택하면 본문에 돌아갑니다.)

※각주2 :(필독주의!) 무한 급수(無限級數)로는, 이 정리는 성립하지 않는 경우가 있습니다. 단, 이 페이지로 기재하는 "구분적 연속(區分的連續)인 함수를 푸리에 급수 전개(Fourier級數展開)하는 경우"에는, 가산(加算) 조작과 적분(積分) 조작 순서를 교환할 수 있습니다. (이 동그라미 표 ●를 선택하면 본문에 돌아갑니다.)

※각주3 : 이와 같이 유한(有限) 갯수 데이터부터 푸리에 변환을 계산하는 것을 "DFT(Discrete Fourier Transformation, 이산 푸리에 변환(離散Fourier變換))"이라고 합니다. (이 동그라미 표 ●를 선택하면 본문에 돌아갑니다.)



(일본어 원문 2003년 6월 23일, 한국어역 2004년 7월 26일)

← 본문에

[Back]"음악 혼잣말" 목차에 돌아감

의견 감상등 e-mail혹은 게시판에서 부탁드립니다.


[Top]Return to Top Page / 톱 페이지에