是否有可能使SpeechRecognition更敏感?

时间:2013-08-04 13:57:44

标签: android speech-recognition speech

我正在编写的应用程序需要SpeechRecognition非常敏感,这意味着发出的轻微错误可能会导致错误。从我现在使用的,即使我说“pactice”而不是“练习”,它仍然认为它是“练习”,我绝对不想要。我只是想知道是否有办法让它更敏感?如果是这样,怎么样?

我现在的代码:

    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);

2 个答案:

答案 0 :(得分:1)

您将任务委派给机器人'SpeechRecognizer,因此您无法再执行任何操作。无论如何,我认为Google正在做很好的工作。

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

祝你好运!

答案 1 :(得分:0)

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