有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java帮助使用FFT确定音频样本的频率

我目前正在开发一个打击乐器教程项目。程序要求我能确定演奏的是什么鼓,为此我要分析鼓的录音频率,看看频率是否在给定范围内

到目前为止,我一直在使用Apache math commons实现FFT(http://commons.apache.org/math/)但我的问题是,一旦我进行了FFT,我如何使用结果数组来计算信号中包含的频率

注:我也尝试过使用自相关进行实验,但它似乎不适用于鼓套件中的样本

任何关于如何确定击鼓的帮助或其他建议都将不胜感激

编辑:自从写这篇文章以来,我发现了一个关于在java中实现FFT进行时间/频率转换的很好的在线课程Spectrum Analysis in Java


共 (1) 个答案

  1. # 1 楼答案

    当我用DFT做一个程序时,我让它为每个频率创建一个频率和振幅的数组。然后,我可以找到最大的振幅,并将其与音符进行比较,很好地掌握演奏的内容。如果你知道鼓的大致频率,你应该能够做到这一点