オーディオ wav ファイル (楽器 - ヴァイオリンなど) を入力として与えたいのですが、すべての周波数トーンを検出し、再生された順にテキスト シーケンスを更新したいと考えています。周波数値を取得するには、一定の間隔で fft スペクトルを使用する必要があると思います。進め方を教えてください。
質問する
434 次
1 に答える
3
これは非常に難しい問題であり、あらゆる種類の使用可能な結果を得るには、信号処理に関する十分な知識が必要です。FFT が良い出発点であることは間違いありませんが、ここにある他の投稿や Web 上の論文を読む必要があります。「ピッチ推定」で検索してください。「ピッチ検出」または「音楽転写」。複雑なサウンドが、関連する周波数 (「高調波」) の多数の正弦波で構成されていることと、FFT のピークを取得しても必ずしもピッチが得られるとは限らないことを理解する必要があります (一部の楽器では、基本波が周波数 (つまりピッチ) は最大のピークではありません。
ピッチ検出に関するウィキペディアのページは、良い出発点となります。自己相関法と高調波和スペクトルに関するいくつかの論文を読むことをお勧めします。
于 2013-03-19T09:44:29.950 に答える