首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android如何检测烟雾警报声

Android如何检测烟雾警报声
EN

Stack Overflow用户
提问于 2014-05-14 14:31:02
回答 1查看 1.1K关注 0票数 3

我必须开发一个应用程序,在那里我必须听声音使用麦克风。当检测到烟雾警报声音时,应用程序必须通知用户有火灾警报。为此,我考虑了两种可能的解决方案

1:)使用语音到文本识别器将烟雾报警声音转换为文本,并存储该文本。在下一次每当收到烟雾警报声音时,相同的语音到文本识别器将其转换为相关文本,如果该文本与存储的文本匹配,则我认为这是警报声音。

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/

这似乎更接近于我的问题的解决方案,我仍然在努力掌握所有这些,但来自你们所有人的任何帮助都将受到广泛的感谢。

EN

回答 1

Stack Overflow用户

发布于 2014-05-14 14:37:31

我建议不要使用语音转文本,因为它不会将警报识别为句子/单词。

我的建议是--阅读关于DFTFFT的文章。

这是我为images(2d dft) 制作的一个丑陋的可测性设计的小例子。你可以看到算法本身是非常简单的,但在DFT的情况下,它非常慢。对于1D(声音),它应该足够快。

我的建议是-接收声音数据,通过它运行DFT/FFT,您将获得您的信号的频率。也许你可以检查高范围频率是否足够强大,以检测警报。

在您的情况下,我还会检查其他可能性,比如几秒钟的处理频率,看看它们是否与警报频率的近似值匹配。

Good reading about FFT and what's behind it.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23647190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档