0

私は、ギターチューナーのように、サウンドを取り込み、そのコア周波数を出力する C++ コードに取り組んできました。独自のランダム化された正弦波を生成し、振幅と時間だけのテキスト ファイルから FFT を正常に実行できます。マイクまたはサウンドファイルから使用可能なデータを生成する方法がわかりません。

サウンドをサンプリングして、データを振幅対時間テキスト ファイルに出力する簡単な方法はありますか?

私は WAV ファイル形式とさまざまなチャンクがどのように機能するかを調べましたが、それは私のレベルを少し上回っています。どんな助けでも本当に感謝しています。

4

1 に答える 1

0

WAV がモノラル、非圧縮、16 ビット、既知のサンプル レートであることを確認できる場合は、WAV/RIFF/その他のヘッダーをスキップするか、サンプルであるかのように吸い込むことができます (FFT には影響しません)。ファイルが長い場合は多くの結果が得られます)。

それ以外は、非圧縮 WAV はそれほど複雑な形式ではありません。もう少し努力すれば、それを解析できます。

于 2013-03-28T16:49:13.683 に答える