当前位置: 首页 > 知识库问答 >
问题:

连续语音识别Android-无间隙

贾飞鸿
2023-03-14

我有一个实现识别侦听器(RecognitionListener)的活动。要使其连续,每次我再次启动侦听器时:

speech.startListening(recognizerIntent);

但是,它需要一些时间(大约半秒钟)才能开始,所以有半秒钟的间隙,没有人在听。因此,我怀念那段时差中所说的话。

另一方面,当我使用谷歌的语音输入时,代替键盘来口述消息——这个时间间隔不存在。意思是——有一个解决方案。

这是什么?

谢谢

共有3个答案

谭向晨
2023-03-14

有以下选项:

intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, 2000); // value to wait

intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, 2000);

这些停止了对果冻豆及以上的工作,但对ICS及以下的工作-不确定是有意的还是一个bug!

沈博涉
2023-03-14

试着看看其他几个api......

语音演示:此处有源代码,此处讨论并在CLI上操作

您可以使用全双工google api(其速率上限为每天50)

或者,如果您喜欢这个总体思路,请查看此处讨论的ibm的watson

IMO-其更为复杂,但不受限制。

富念
2023-03-14

我建议使用CMUSphinx连续识别语音。要使用google语音识别api实现连续语音识别,您可能必须求助于后台服务中的循环,这将占用太多资源并耗尽设备电池。

另一方面,Pocketsphinx的效果非常好。它的速度足够快,可以在锁定屏幕后发现关键短语并识别语音命令,而无需用户触摸设备。这一切都是离线完成的。您可以尝试演示。

如果你真的想使用谷歌的api,请看这个

 类似资料:
  • 如何使用REST API(带javascript SDK)Bing语音API实现连续语音识别? 使用do Javascript SDK示例:https://github.com/Microsoft/Cognitive-Speech-STT-JavaScript只能用麦克风转录短句

  • 我正在尝试创建一个在Android 4.2中运行连续语音识别的服务。使用此链接中的答案(Android 4.1上的Android语音识别服务 我到底做错了什么? 相关活动代码(从活动调用的静态方法,actiityContext是调用此方法的活动): 服务代码:

  • 我想在phonegap中创建应用程序,在Android和IOS中使用连续语音识别。我的应用程序应该等待用户的声音,当他/她说“下一步”时,应用程序应该更新屏幕并执行一些操作。 我发现这个插件:https://github.com/macdonst/SpeechRecognitionPlugin而且它工作得非常快。但在语音识别启动几秒钟后,语音识别器停止工作,但并没有语音。是否有任何方法或标志,如i

  • 我正在寻找一个Android语音识别库。我只需要它来理解“是/否”的答案(用不同的语言,如英语、德语、法语)。 有什么建议吗?

  • [可能重复]但我没有找到下面问题的答案。 在过去的两天里,我一直在做一些语音识别方面的研究,但我的问题没有得到答案: 是否可以将语音识别作为一项服务运行?我想实现这样的功能:虽然我的手机处于睡眠模式,但我需要拨打一个号码

  • 我知道“x-webkit-speech”能够进行某种语音识别,实际上识别效果很好。 我发现“x-webkit-语音”有利于开发Q 然而,我正在寻找的是一种在浏览器中执行连续语音识别的方法。例如,如果我在网上听到一个讲座,我想实时转录教授正在谈论的内容。 是否可以使用“x-webkit-speech”?我的感觉是,“x-webkit-speech”在检测到一段很短的静默期时会自动停止,这很烦人。我知