我想记录一次狗吠,保存文件并与包含不同类型吠声(警告吠声、哭泣吠声等)的几个文件进行比较。
我怎样才能进行比较以获得匹配?在此类应用程序中要遵循什么流程?
感谢您的小费。
我想记录一次狗吠,保存文件并与包含不同类型吠声(警告吠声、哭泣吠声等)的几个文件进行比较。
我怎样才能进行比较以获得匹配?在此类应用程序中要遵循什么流程?
感谢您的小费。
您的问题没有简单的答案。但是,对于初学者,您可能会研究音频指纹识别的工作原理。这篇论文是 shazam 的创建者写的一个很好的开始:
http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf
我不确定这种方法对狗吠的效果如何,但那里有一些概念可能会被证明是有用的。
要研究的另一件事是 FFT 的工作原理。这是我为音高跟踪编写的代码教程,这是使用 FFT 的一种方法。您正在更多地关注音调和音高如何与给定狗的共振峰结构相互作用。因此,您要导出的参数可能包括基本音高(仅此一项就足以区分呜呜声和其他类型的树皮),以及基本音高与高次谐波的比率,这将有助于确定树皮的攻击性(我我在这里猜测一下):
http://blog.bjornroche.com/2012/07/frequency-detection-using-fft-aka-pitch.html
最后,您可能想对基本的语音识别和语音处理进行一些研究,因为会有一些重叠。维基百科可能足以让您入门。
编辑:哦,此外,一旦您确定了一些用于比较的参数,您将需要一种方法来将您的多个参数与具有多个参数的声音数据库进行比较。我认为 shazam 文章中的技术行不通。您可以尝试的一件事是Logistic Regression。还有其他选择,但这可能是最简单的。
我会查看 Google 的开源 lib musicg API:http ://code.google.com/p/musicg/
它是 Java,所以它可以在 Android 中运行,它提供了两个音频文件的相似度指标。