如何在Java中提取音频特征?

4
我的毕业论文是关于音频特征提取、分类和比较的。但我在过去六个月中一直无法提取音频特征。
我有一个可能行得通的想法:将任何格式的音频转换成pcm格式,然后从中提取带宽、零交叉率、噪声帧比、音高强度和梅尔频率倒谱系数等特征。接着,使用这些特征构建数据集,并应用各种音频分类算法。
请问如何进一步提取音频特征?谢谢。

1
信号处理并不是Java特有的,虽然显然是可能的。您可能需要考虑使用具有对您需要执行的某些功能的本地支持的不同工具集,例如傅里叶变换。也许Matlab? - Justin Morgan
Octave是一种替代方案,可能更适合学生使用。 - justin
先生,请具体说明,我是这个领域的新手。我已经尝试在Java中将任何音频格式转换为PCM格式,但进一步进行特征提取变得困难。 - AudioQuery
PCM,正如你所知,只是匹配给定位数(通常对齐在字节上)的采样频率和(非)有符号幅度的线性原始数据。您想要Java解码为PCM还是DSP预先存在的PCM? - Jé Queue
PCM作为一种未压缩格式,我认为可以帮助我提取所需的特征。因此,我想将任何音频格式转换为PCM,然后提取音频特征。 - AudioQuery
请指导是否有其他方法来提取音频特征并制作这些特征的数据集。 - AudioQuery
2个回答

6

2
这可能已经太晚了,但您真的应该看看jmir项目。它是一个用Java进行音频特征提取和分类的系统。它完全开源,并且有良好的文档说明。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接