Java音频比较

Java音频比较,java,android,comparison,audio,Java,Android,Comparison,Audio,我正在为音乐家创建一个Android应用程序,因为我在一个乐队里,看到我需要这样的东西,但找不到一个可以做我想做的事情,我想知道有人如何能够从麦克风中获取输入。将该输入转换为一个文件,并将其与数据库中所有预先录制的声音文件进行比较,以确定正在播放的音符或和弦。我在获取输入方面没有遇到问题,但我很困惑如何能够在频率或类似的方面将一个声音文件与另一个声音文件进行比较。我还没有找到一个能够真正帮助解决这个问题的答案,也没有找到一个处理声音比较的Java库。我知道这是一项极其艰巨的任务,但我也知道这是可

我正在为音乐家创建一个Android应用程序,因为我在一个乐队里,看到我需要这样的东西,但找不到一个可以做我想做的事情,我想知道有人如何能够从麦克风中获取输入。将该输入转换为一个文件,并将其与数据库中所有预先录制的声音文件进行比较,以确定正在播放的音符或和弦。我在获取输入方面没有遇到问题,但我很困惑如何能够在频率或类似的方面将一个声音文件与另一个声音文件进行比较。我还没有找到一个能够真正帮助解决这个问题的答案,也没有找到一个处理声音比较的Java库。我知道这是一项极其艰巨的任务,但我也知道这是可以完成的,我想尝试一下。如果有人能提供建议,一个图书馆的链接,可以做这样的事情,或者即使有人已经做了,并能告诉我如何做,我将不胜感激。感谢您的时间,任何反馈都将不胜感激

虽然我不认为我们可以像复制品一样关闭(从技术上讲,事实并非如此),但请在发布前进行搜索。您所要求的并不是特定于您的平台,而是您需要实现的算法类型

从我在这里的帖子:

见以下参考资料:

Audacity源代码中Spectrum.cpp中的第48行似乎与您想要的非常接近。他们还引用了托洛宁和卡贾莱宁的一篇IEEE论文

基本上,您需要从一些FFT开始,但它要复杂得多。我想你会发现这项任务几乎不可能完成(特别是对于整个频带、不清晰的音频输入源等),这将使这个项目不值得。心理声学,特别是扭曲的吉他,将使这非常困难


关于这个主题,这里有很多非常可靠的帖子:

虽然我不认为我们可以作为一个副本关闭(从技术上讲,它不是),但请在发布之前进行搜索。您所要求的并不是特定于您的平台,而是您需要实现的算法类型

从我在这里的帖子:

见以下参考资料:

Audacity源代码中Spectrum.cpp中的第48行似乎与您想要的非常接近。他们还引用了托洛宁和卡贾莱宁的一篇IEEE论文

基本上,您需要从一些FFT开始,但它要复杂得多。我想你会发现这项任务几乎不可能完成(特别是对于整个频带、不清晰的音频输入源等),这将使这个项目不值得。心理声学,特别是扭曲的吉他,将使这非常困难


关于这个话题,这里有很多非常可靠的帖子:

我建议你看看谷歌推出的music-gapi。这是一个用Java编写的开源库,可以与Android应用程序集成。它提供声音相似性度量


我建议您查看谷歌推出的music-g API。这是一个用Java编写的开源库,可以与Android应用程序集成。它提供声音相似性度量

可能重复的可能重复的