android - 配置 Android 语音识别器中的话语长度和停顿

标签 android speech-recognition speech-to-text

我有 android 的语音转文本 API 可以对手机说话并将其转换为文本。默认情况下,如果用户停止对着麦克风讲话,API 会假定用户已结束讲话并返回输入语音中的文本。

对于我的应用程序,用户在连续句子之间可能会有很长的停顿。如何将 Android 的语音转文本 API 配置为仅在我要求时才考虑语音结束,而不是在说话者在句子之间稍作停顿时才考虑语音结束?谢谢!

这是我当前的实现,只要用户在句子之间稍作停顿,它就会将语音转换为文本:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode) {
    case RESULT_SPEECH: {
        if (resultCode == RESULT_OK && null != data) {

            ArrayList<String> text = data
                    .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);

            txtText.setText(text.get(0));
        }
        break;
    }

    }
}

最佳答案

API 有 3 个额外功能

但请注意,API 还表示“根据识别器的实现,这些值可能没有效果”,因此您只需使用您正在使用的实现进行测试它们是否有任何效果。 (我自己没有做过这个测试,所以如果您对此答案添加评论以报告您的测试结果,那就太好了。)

关于android - 配置 Android 语音识别器中的话语长度和停顿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19308184/

相关文章:

android - 如何在 PopupWindow 中为 EditText 启用选择标记?

iphone - 语音到 iPhone 的文本 API?

Azure Batch 转录 : Error when downloading the recording URI. 状态代码:冲突(下载失败)

speech-recognition - 获取 WAV 文件转录以与 Sphinx4 一起使用

android - 水平线性渐变与android

android - 解析 XML 文件时出现非法参数异常

java - 为什么我得到这个线性布局的空值

audio - 说话人识别

linux - HTK:HCompV ReadString:字符串太长

ios - 如果用户停止说话,如何自动停止语音识别