如何从录制的声音中获取PCM数据以进行傅里叶分析

时间:2013-03-28 16:39:35

标签: c++ fft wav pcm frequency-analysis

我一直在研究c ++代码,它会接收声音并输出它的核心频率,就像吉他调音器一样。我可以生成自己的随机正弦波,并从文本文件中成功执行FFT,该文件只是幅度与时间的关系。我只是不知道如何从麦克风或声音文件中生成可用的数据。

是否有一种简单的方法来对声音进行采样并让它在幅度与时间的文本文件中输出数据?

我已经研究了WAV文件格式以及各种块的工作原理,但它有点高于我的水平。任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

如果您可以确保您的WAV是单声道,未压缩,16位并且以已知的采样率,您可以跳过WAV / RIFF /任意标头或将其吸入,就好像它是样本一样(不应该如果文件很长,会影响你的FFT结果。

除此之外,未压缩的WAV不是一种非常复杂的格式。通过一些更多的努力,你将解析它。