我尝试获取有关mp3格式音乐文件的频率特性的信息。
如何用c++从mp3文件中获取频率?fftw库使用的是什么数据?
发布于 2017-05-23 13:22:48
这将是一个两步的过程,首先,您需要在C++程序中将mp3文件读取到您喜欢的数据结构中。大多数mp3文件都是立体声格式,这意味着您将有两个数组/向量,每个通道一个。FFTW也分两步工作,首先你创建一个计划,描述你的数据,FFT点的数量,反向/正向FFT方向等。在下一步,你使用这个计划和你的输入数据来计算频率转换。然后,您可以从FFTW获取结果浮点/双精度复数组的幅值响应。链接到FFTW tutorial http://www.fftw.org/fftw2_doc/fftw_2.html
话虽如此,你不需要手动完成这些步骤,有许多开源音乐信息检索库可以为你做到这一点,比如Marsyas。您还可以使用诸如PortAudio之类的音频库来获取音频数据,并通过将数据馈送到诸如openvsip或LiquidDSP之类的信号处理库来获得所需结果
https://stackoverflow.com/questions/44125411
复制相似问题