![]() |
ノート/一般化調和解析(1)http://pepper.is.sci.toho-u.ac.jp/pepper/index.php?%A5%CE%A1%BC%A5%C8%2F%B0%EC%C8%CC%B2%BD%C4%B4%CF%C2%B2%F2%C0%CF%A1%CA%A3%B1%A1%CB |
![]() |
ノート/ノート
訪問者 1872 最終更新 2014-05-13 (火) 08:30:11
サンプリング周波数 44100Hz (帯域 22050Hz)
フレーム標本点数 1024点、 フレーム長 23mS
周波数解像度は、一般化調和解析の場合、どうなるだろうか? 窓付きのFFTでは、低い周波数に対して解像度が確保できない問題がある。一般化調和解析ではこれが解決されるという議論があるが、本当か?
楽曲の音階推定の場合、次々と異なる音が鳴るので、どうしてもある時間区間で区切ってその区間内の周波数成分分析を行う必要があるだろう。区間(フレーム)に切る限り、その区間超より周期が長いような波動は、分析しづらいだろう。たとえば、1区間に1周期が入っていればそれなりに分析可能と思うが、もし1区間に1/10周期しか入っていないとその1/10周期から波長を推定することになるわけで、精度が落ちるだろう。
仮に(全く根拠のない仮説だが)、一定精度を保つためには区間(フレーム)内に1/2周期が入っていることが必要だとする。すると、フレーム長が23mSであるから、これが1/2周期に当たる音波の周波数は、1/(23mS×2) = 22Hz程度だろうか?
実際に測定したデータから見てみよう。ソースはRWCのピアノデータ(wavファイル)である。それぞれの音で、最大強度スペクトルから-2.0までの強度範囲を取り、かつ11Hz以上の周波数成分のみを取っている。
51.wav (C, 523.25Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 523(12.91) | 523(12.88) | 523(12.83) | 523(12.77) | 523(12.71) | 523(12.63) |
成分2 |
もう少し時間が経つと(第11フレームから)2倍波が-2.0より大きくなる。
39.wav (C, 261.62Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 260(16.50) | 260(16.35) | 260(16.13) | 262(15.94) | 264(15.82) | 522(15.71) |
成分2 | 523(16.13) | 522(16.08) | 522(15.99) | 522(15.92) | 523(15.77) | 261(15.62) |
成分3 | 1048(14.73) | 1050(14.59) | 1051(14.49) | 1050(14.42) | 1049(14.30) | 1047(14.24) |
27.wav (C, 130.81Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 263(15.73) | 264(15.64) | 127(15.50) | 126(15.41) | 125(15.32) | 126(15.25) |
成分2 | 131(15.56) | 130(15.48) | 260(15.41) | 261(15.23) | 261(15.08) | 261(14.98) |
成分3 |
22.wav (G, 98Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 97(16.60) | 97(16.64) | 98(16.53) | 98(16.61) | 98(16.55) | 98(16.51) |
成分2 | 394(15.28) | 390(15.10) | 392(14.98) | 394(15.08) | 393(15.01) | 388(14.76) |
成分3 |
21.wav (F#, 92.5Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 92(16.39) | 91(16.25) | 92(16.24) | 92(16.24) | 92(16.09) | 93(16.05) |
成分2 | 370(15.46) | 370(15.42) | 372(15.27) | 372(15.33) | 370(15.12) | 371(15.06) |
成分3 |
ここから急に分布の形が変わり、さまざまなおかしな点が見られる。
20.wav (F, 87.31Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 354(14.40) | 356(14.31) | 355(14.33) | 354(14.20) | 354(14.05) | 352(13.83) |
成分2 | 876(14.44) | 875(14.28) | 877(14.30) | 877(14.22) | 878(14.06) | 879(14.13) |
成分3 | 263(13.81) | 265(13.80) | 268(13.82) | 270(13.80) | 270(13.74) | 268(13.73) |
成分4 | 85(13.66) | 85(13.45) | 85(13.22) | 85(12.94) | 84(12.72) | 83(12.71) |
成分5 | 610(13.32) | 610(13.17) | 611(13.00) | 610(13.83) | 434(12.27) | 434(12.39) |
成分6 | 435(12.75) | 437(12.48) | 435(12.26) | 608(12.49) | 610(12.29) |
19.wav (E, 82.41Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 253(15.81) | 244(15.91) | 241(15.94) | 241(15.83) | 244(15.83) | 246(15.62) |
成分2 | 79(15.46) | 77(15.26) | 78(15.32) | 78(15.24) | 79(15.20) | 81(15.10) |
成分3 | 162(14.62) | 163(14.27) | 166(14.26) | 171(14.19) | 165(14.46) | 167(14.58) |
成分4 | 327(14.37) | 407(14.78) | 404(14.78) | 406(14.75) | 408(14.75) | 409(14.62) |
成分5 | 414(14.70) | 330(14.49) | 331(14.41) | 329(14.38) | 328(14.31) | 329(14.40) |
成分6 | 825(14.03) | 826(14.04) | 576(13.64) |
18.wav (D#, 77.78Hz)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 163(15.57) | 160(15.53) | 149(15.32) | 148(15.18) | 156(15.02) | 163(15.26) |
成分2 | 227(14.88) | 234(14.68) | 235(15.00) | 234(14.77) | 235(14.74) | 229(14.82) |
成分3 | 85(13.69) | 75(13.66) | 90(13.66) | 80(13.60) | 77(13.62) | 89(13.45) |
念のため、純音でこの周波数領域の分析をしてみると、問題は出ていない。
正確には、周波数に端数があると、GHA分析では整数周波数を抜き取ろうとするので、残渣が生まれ、それがほかの(もっと高い)周波数生分と認識される傾向がある。しかし、レベルが低いので、足きりをすると出てこなくなる。
pure82_4Hz.wav (82.4Hz 純音)
1 2 3 4 5 6 成分1 82(20.35) 82(20.35) 82(20.34) 82(20.35) 82(20.35) 82(20.35)
レベルの低い周波数成分も書き出すと(レベル10以下は略)
1 2 3 成分1 82(20.35) 82(20.35) 82(20.34) 成分2 54(11.61) 112(11.66) 111(11.69) 成分3 108(11.14) 55(10.78) 55(10.78)
pure87_3Hz.wav (87.3Hz 純音)
1 2 3 4 5 6 成分1 87(20.35) 87(20.35) 87(20.34) 87(20.35) 87(20.35) 87(20.35)
これらから、ピアノの単音については、
ここまで分かったところで、次に2つ以上の音が鳴らされたときの音程抽出を試みる。
単純に単音を2つ加算しただけのデータを用いると、何が起こるか。
51_58.wav (ピアノ単音 C 523.25Hz G 786Hz を重畳して合成)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 523(13.71) | 523(13.80) | 523(13.85) | 521(13.95) | 521(14.04) | 522(14.09) |
成分2 | 786(13.67) | 785(13.56) | 785(13.46) | 785(13.37) | 785(13.30) | 785(13.26) |
成分3 | 1047(11.39) | 1048(11.02) |
成分3はフレーム1、2で見えているが、3以降はレベルが3.0以上下回っている。出ている場合もレベルが明らかに(2.5程度以上)低いので、区別できるだろう。
成分1のパワーが徐々に増えているのが気になる。2つの音の先頭位置がずれているのかも知れない。
51_63,wav (ピアノ単音 C 523.25Hz C 1050Hz を重畳して合成)
1 | 2 | 3 | 4 | 5 | 6 | |
成分1 | 522(10.67) | 522(10.75) | 522(10.80) | 523(10.86) | 522(10.97) | 522(11.09) |
成分2 | 1049(10.38) | 1049(10.27) | 1049(10.13) | 1050(10.00) | 1050( 9.82) | 785( 9.69) |
成分3 | 1576( 7.89) | 1576( 7.81) | 2109( 7.85) | 2110( 8.21) | ||
19( 8.14) |
オクターブ違いの音なので、高調波が重なるはずだが、レベル差を見る限りは成分1と2はほぼ同じパワーレベルになっている。重なるはずの成分2がことさら大きいことはないし、他方で成分3やそれ以下のレベルの高調波はレベルが十分に低い。
>>> 一般化調和解析(2)へ