我想构建一个 android 应用程序,它可以识别我的声音,将其转换为文本,并显示我刚刚说的 toast 。我可以通过使用一个按钮来为我启动语音识别器来做到这一点。但现在我想让它只根据我的声音工作。
该应用程序应触发语音识别器并仅在我开始说话时才开始听我说话,而在感觉到安静时应停止收听。就像会说话的汤姆应用程序的功能一样。它在那里记录了声音,但我想使用语音识别器来识别它。像这样的事情:
if(no silense)
Launch Recognizer
else if(silence)
Stop Recognizer
Show toast
主要问题是,在启动语音识别器之前,我如何感知用户是否在说话。有什么方法可以感知噪音强度..??
其次,有没有办法在后台启动语音识别器...??
是否可以在后台服务中检测到音频信号(有人开始说话),然后立即启动语音识别器来识别语音。
最佳答案
大多数语音识别器已经有一个端点来检测语音的开始和结束。端点通常尝试读取环境噪声级别以确定静音基线并调整信噪比。但是,如果输入噪声电平发生变化,它可能会触发终结者的讲话开始。如果一直用灵敏的麦克风收听,终结者也可能会接听旁边说话的人,而不是你。
因此,使用语音按钮是一种很好的做法,可以在您希望讲话时进行通知。试图让识别器一直倾听可能不是您想要做的,或者应该留给研究人员。
关于android - 基于语音(噪音)强度级别的语音识别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11002930/