1

単調な .wav クリップ (ピアノ) を入力し、そのクリップで演奏されるピアノの音符を表示するソフトウェアを開発しています。FFT を使用して周波数を計算していますが、22360 Hz移動したい場所などの値が得られ260 to 600 Hzます。

誰かがこれで私を助けてくれますか?

4

3 に答える 3

2

ピアノは多くの強力な高調波または倍音を出すため、FFTは多くの高周波数ビンで振幅を示す必要があります。おそらく、FFT だけでなく、ピッチ検出または推定アルゴリズムを使用する必要がありますか?

于 2012-07-11T16:44:36.003 に答える
0

あなたの問題は、十分なサンプルがないため、周波数分解能が低いことだと思います。必要なのは、より多くのサンプルを用意するか、単にゼロ パディングを行うことだけです。ここここを参照してください。それは役立つかもしれません。

于 2012-07-11T15:16:15.253 に答える
0

Hotpaw2 は、倍音の内容について重要な点を指摘しています。

ただし、必要になるもう 1 つのことは、サンプリング間隔の周波数領域のアーティファクトが結果を汚染するのを防ぐためのウィンドウ関数です。FFT の前にデータに適用されるウィンドウ関数は、基本的に信号をスムーズにフェードインおよびフェードアウトして、これを回避します。

于 2013-01-28T21:38:08.823 に答える