我正在尝试分析mp3文件中的音乐。我想获得有关节拍、音高和其他音乐特征的信息。如何获取此数据?有没有开源软件可以给我提供这些信息,或者更好的是,有一个库?
有没有人能给我一个提示,告诉我该怎么做或者从哪里开始找?谢谢。
发布于 2011-01-20 10:59:10
LibMAD是一个开源的mp3解码器库,运行得非常好。这将为您获取要修改的“原始”数据。要获得音高和其他一些“特征”,你需要深入数学。
音高本质上是声音的频率。这可以使用FFT“即时”完成(实际上是在数据块中)。Pythons numpy有快速傅立叶变换函数(如果你有原始数据的话)。可以在here.中找到c++中的快速傅立叶变换库
快速傅立叶变换背后的一些“数学”可以在here找到
Tempo也可以通过对原始数据应用一些二阶低通滤波器,然后对数据进行FFTing来计算。数字滤波器也在上面链接的dspguide中讨论。
祝你好运,这是一些好东西,但如果你还没有准备好的话,会有很多数学运算。
发布于 2011-01-20 10:24:52
考虑一下ChucK音乐编程语言http://chuck.cs.princeton.edu/doc/examples/#uana中的单元分析器
发布于 2011-01-20 10:31:51
大胆将会有所帮助。如果你想在你的程序中使用它们,你可以查看它们的源代码。http://audacity.sourceforge.net/download/source
注意:首先,请下载audacity,检查它是否包含您需要的所有内容。
https://stackoverflow.com/questions/4742889
复制相似问题