next up previous
Next: 6.5 岡田 卓・平野 裕輝『クラドニ図形』 Up: 6 2009年度卒研 Previous: 6.3 中村 優介『ギターの音のFourier解析』

6.4 山田 祐二『ギターの音のFourier解析』

楽器の音の例としてギターの音、 楽器以外の音の例として音叉の音、りん鈴の音を 離散Fourier変換 (Fourier級数展開) して調べてみました。

ギターの一本の弦を鳴らして、音名をコンピューターに答えさせるにはどうした ら良いか、同じことを和音 (chord) でやるとどうか? というのを解くべき問題として与えました (最初からそう言ったわけではなく、進行具合を見て、 それくらいが適当かと判断しました。 それまでは微分方程式と関連づけようと画策していました… なお、もともと和音と言い出したのは中村君です。)。

音名の判定についてですが、完璧な解答は難しいのかな、 というのが現時点での感想です。 最初は素朴に、離散Fourier変換して、ピークを調べれば、 音高が分かるだろう、くらいに考えていました。 しかし、やってみると、 基本周波数と考えられるピークが一番高いとは限らないことがすぐに分かりました。 次に思い付いたのは、 ピークを高い方から3つ4つくらいとって、 その中で一番周波数の低いものを音高とする、というルールです。 しかしこれも、基本周波数と考えられるピークよりも低い周波数に、 ベスト4に位置するピーク (ノイズ?) が紛れ込んでしまう、ということがあり、 完璧ではありません。 すると、最大値を基準にして、 レベルがある程度 (具体的にいくら?) 以下のピークは無視してしまって、 残ったもので一番低い周波数の低いものを音高にするというルールにすべきか? さらに ``missing fundamental'' という現象があることを 知るにいたって、 人間の感覚を相手にする限り、完璧な解答はないだろう、 大抵の場合にもっともな答を出す方法を見つける、 くらいに目標を下げるべきだ、と考えています。

和音については、 (当然やる前から気づくべきではあるけれど) 次の事実に気づきました。 基本周波数 $ f_1$ $ 2$ の冪乗倍である $ f_2$ , $ f_4$ , $ f_8$ , $ \dots$ 以外の倍音の周波数 $ f_3$ , $ f_5$ , $ f_6$ の音高は、ソ、ミ、ソ。 これは続けると音律の話に行きつくものですね。

もう少し時間があれば、色々考えて試行錯誤できたと思いますが、 時間切れでした。

山田君は、先輩である松山君がやった作業の多くを自動化しました。 Mathematica の使いこなしについても、 自分で色々調べて自分なりに解決したところが多く、 研究室として得るところが多かったです。 レポートに載っているプログラムは、 コーディング上は拙いところもありますが、 アルゴリズムは自力で考えたもので、その点は高く評価できます。

レポートは、 http://nalab.mind.meiji.ac.jp/~mk/labo/report/open/2009-yamada.pdfで公開しています。


next up previous
Next: 6.5 岡田 卓・平野 裕輝『クラドニ図形』 Up: 6 2009年度卒研 Previous: 6.3 中村 優介『ギターの音のFourier解析』
桂田 祐史
2015-12-24