我必须开发一个应用程序,我必须在其中使用麦克风收听声音。并且每当检测到烟雾警报声时,应用程序必须通知用户有火灾警报。为此,我正在考虑两种可能的解决方案
1 :) 使用 Speech To Text 识别器将烟雾警报声音转换为文本并存储该文本。并且在下一次收到烟雾警报声时,相同的 Speech To Text 识别器会将其转换为相关文本,如果该文本与存储的文本匹配,那么我认为它是警报声。
2:)存储报警声音,并通过比较波形将记录的声波与存储的声音匹配。这只是我的假设,因为我不是这些领域的专家。
到目前为止,我已经收集到这种声音匹配技术是通过audio fingerprinting
即每个音频都有一个不同的指纹来完成的,如果我们能够匹配两个音频的指纹,那么它们被认为是相同的。
为此,我最近发现了以下链接
http://www.royvanrijn.com/blog/2010/06/creating-shazam-in-java/
http://masl.cis.gvsu.edu/2012/01/25/android-echoprint/
https://code.google.com/p/musicg/
这似乎更接近我的问题的解决方案。我仍在努力掌握所有这些,但大家的任何帮助都将受到广泛赞赏。