android - 基于语音(噪音)强度级别的语音识别?

标签 android voice-recognition

我想构建一个 android 应用程序,它可以识别我的声音,将其转换为文本,并显示我刚刚说的 toast 。我可以通过使用一个按钮来为我启动语音识别器来做到这一点。但现在我想让它只根据我的声音工作。

该应用程序应触发语音识别器并仅在我开始说话时才开始听我说话,而在感觉到安静时应停止收听。就像会说话的汤姆应用程序的功能一样。它在那里记录了声音,但我想使用语音识别器来识别它。像这样的事情:

if(no silense)
   Launch Recognizer
else if(silence)
   Stop Recognizer
Show toast

主要问题是,在启动语音识别器之前,我如何感知用户是否在说话。有什么方法可以感知噪音强度..??

其次,有没有办法在后台启动语音识别器...??

是否可以在后台服务中检测到音频信号(有人开始说话),然后立即启动语音识别器来识别语音。

最佳答案

大多数语音识别器已经有一个端点来检测语音的开始和结束。端点通常尝试读取环境噪声级别以确定静音基线并调整信噪比。但是,如果输入噪声电平发生变化,它可能会触发终结者的讲话开始。如果一直用灵敏的麦克风收听,终结者也可能会接听旁边说话的人,而不是你。

因此,使用语音按钮是一种很好的做法,可以在您希望讲话时进行通知。试图让识别器一直倾听可能不是您想要做的,或者应该留给研究人员。

关于android - 基于语音(噪音)强度级别的语音识别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11002930/

相关文章:

android - 如何根据当前位置设置正确的纬度和经度

android - 不使用 ROW_ID 更新 SQL 数据库

java - 如何在非 Activity 类中使用 Activity 方法?当我尝试使用上下文时我的程序崩溃

java - PocketSphinx Android 演示运行时异常

android - 语音搜索对话框准备接受输入时的音频信号?

android - ViewPager fragment 在重新加载时消失

android - 创建自定义 ActivityResultContract 以请求位置权限

html - Chrome的HTML5语音识别API实现中的语言代码是什么?

android - 非常简单的语音/语音识别算法

android - 电话事件和语音命令的监听器