2

我正在尝试分析 mp3 文件中的音乐。我想获取有关速度、音高和其他音乐特征的信息。我怎样才能得到这些数据?是否有开源软件可以为我提供这些信息,或者更好的是一个库?

谁能给我一个提示,告诉我该做什么或从哪里开始寻找?谢谢。

4

4 回答 4

1

LibMAD是一个运行良好的开源 mp3 解码器库。这将为您提供要修改的“原始”数据。要获得音高和其他一些“特征”,您需要深入研究数学。

音高本质上是声音的频率。这可以使用 FFT 即时完成(实际上是在数据块中)。Pythons numpy有 fft 函数(如果你有原始数据)。可以在此处找到 c++ 中的 fft 库。

FFT 背后的一些“数学”可以在这里找到

还可以通过对原始数据应用一些二阶低通滤波器然后对数据进行 FFT 来计算速度。数字滤波器也在上面链接的 dspguide 中进行了讨论。

祝你好运,它是一些好东西,但如果你还没有准备好的话,会涉及很多数学问题。

于 2011-01-20T02:59:10.173 回答
0

考虑 ChuckK 音乐编程语言中的单元分析器:http: //chuck.cs.princeton.edu/doc/examples/#uana

于 2011-01-20T02:24:52.400 回答
0

大胆会有所帮助。如果你想在你的程序中使用它们,你可以查看它们的源代码。http://audacity.sourceforge.net/download/source

注意:首先请下载 audacity 以检查它是否拥有您需要的一切。

于 2011-01-20T02:31:50.620 回答
0

如果您不知道从哪里开始,我建议您购买 sound forge 或其他一些已经有算法的专业编辑程序。如果你真的下定决心,那就拿出你的物理书,因为那是它的来源。找到声音的整体音高是一种微积分转换。可以在脉冲响应滤波器和一些 AI 的帮助下找到有关声音的其他信息,例如速度。除非你真的很专注,否则就买一个编辑器。

更新:如果你真的想去,这里是一个很好的资源。

于 2011-01-20T02:31:50.993 回答