【问题标题】:About Android Speech recognition关于 Android 语音识别
【发布时间】:2015-10-18 08:28:09
【问题描述】:

我使用 RecognizerIntent 并实现 RecognitionListener 并实现它的所有回调方法来执行语音命令。 我尝试调整参数 EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS、EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS 和 EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS 以减少收听时间,但它似乎不起作用。 我该怎么办?

另一个问题是关于识别速度的。我的系统中只有五个语音命令。但是我每次都需要通过等待识别结果。我可以对某些东西或其他方法进行预处理以加快识别速度吗?

【问题讨论】:

  • 你似乎自相矛盾。首先你说你想要听写,然后你说你只有 5 个语音命令。
  • 对不起!我修正了这个打字错误。
  • 对于您的第一个问题,设置 EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS 会影响最短持续时间,而不是最长持续时间。
  • 您的第一个陈述是您直接使用 SpeechRecognizer 类,而您的下一个陈述表明您正在使用 Intent。能具体说一下是哪一种吗?
  • 有一个类叫VoiceInteractor,在Marshmallow中引入,大概可以在本地处理多个语音命令,但不知道这个时候能不能。

标签: android speech-recognition speech-to-text


【解决方案1】:

对于您描述的任务,使用封闭式字典 ASR 系统是有意义的,例如 pocketsphinx-android。您将能够微调语音前后的等待间隔,并在识别过程中加速解码,而不是在云端来回进行。

【讨论】:

  • 嗨@Alexander Solovets,感谢您的建议。我正在尝试使用 pocketsphinx-android 进行语音识别。我从Pocketsphinx on Android 运行另一个演示程序。能认出来就好了。但是如何使用函数调用“addKeywordSearch”设置多个关键字?我找到了Recognizing multiple keywords using PocketSphinx 的帖子,但它不起作用。
  • 我解决了。这是我的错。我调整了关键字阈值,然后它就可以运行了。
  • 但是为什么我只说一个关键词,甚至什么都没说,却输出了很多结果呢?我可以从每次识别中得到一个结果吗?很抱歉有很多问题。
  • 我认为从这一点上应该更好地在cmu sphinx forum提供部分源代码的问题。
  • 感谢您的建议。我正在论坛上寻找一些解决方案。大卫
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 2020-11-14
相关资源
最近更新 更多