0

我目前正在编写的应用程序需要 SpeechRecognition 非常敏感,这意味着发音中的轻微错误可能会导致错误。从我现在使用的情况来看,即使我说“pactice”而不是“practice”,它仍然会将其识别为“practice”,这是我绝对不想要的。我只想知道有没有办法让它更敏感?如果是这样,如何?

我现在拥有的代码:

    sr = SpeechRecognizer.createSpeechRecognizer(this);
    sr.setRecognitionListener(new SListener());
    srIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    srIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
    srIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,
            this.getPackageName());
    srIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 3);
4

2 回答 2

1

您将任务委派给 androids 的SpeechRecognizer,因此您无能为力。无论如何,我认为谷歌在这方面做得很好。

但是你有两个选择: *优化文本结果(好主意) *制作你自己的识别器但是我认为它太复杂了!

祝你好运!

于 2013-08-04T14:53:59.370 回答
0

正如已经建议的那样,如果你想优化它,你将不得不编写自己的语音识别代码。这可以使用matlab完成,但这并不容易。我最近使用 MATLAB 制作了一个孤立的单词识别软件。根据我从中学到的知识,如果您希望它“非常敏感”,则必须具有非常小的采样帧和非常高的采样频率。当然,从 Matlab 移植到 Android 很痛苦,但如果你想尝试一下,看看这个。我发现它真的很有用。http://www.mathworks.in/company/newsletters/articles/developing-an-isolated-word-recognition-system-in-matlab.html

于 2013-08-05T10:27:15.093 回答