1

私は、音符 F2 のきれいな繰り返し波形であるファイルを取りました (これは、仮想ピアノで F2 を演奏し、ウェーブ ファイルを演奏し、ピアノで比較することによって推測しました)。保存した wav ファイルの wavread を使用して信号の fft を行ったところ、F2 の正しい周波数から 1 オクターブ離れた 176.4 Hz のピーク周波数が得られました。

今回は物理的なピアノから録音された別の音を分析したところ、まったく同じピーク周波数が得られました。これはどのように可能ですか?MATLAB が複数のファイルのピーク周波数をメモリに保存することは可能ですか? もしそうなら、どうすればこの問題を解決できますか?

PS 曲全体、つまり多くの音符を含む wav ファイルを分析すると、多くのピークが得られ、すべてに同じグラフを使用していないことが確認されました。

4

1 に答える 1

1

Matlab の FFT のエラーではありません。

音楽のピッチはピーク周波数とは異なります。それは心理音響現象です。人間が単一の音楽ピッチとして聞く音には、多くの周波数ピークが含まれる可能性があり、最も強いスペクトル周波数ピークは、完全に異なるピッチ クラスを中心とする、および/または知覚されるピッチよりも高いオクターブにある倍音である可能性があります。聴覚学や音知覚の神経心理学などの分野でこのトピックを扱った本があります。音楽の物理学に関する本は、なぜピアノがこの豊かで複雑な周波数スペクトル コンテンツを作成するのかを説明するかもしれません。

ピッチを見つけるには、FFT だけでなく、ピッチ検出/推定アルゴリズムを使用する必要があります。これらのキーワードで検索してください。

于 2013-03-06T16:24:30.107 に答える