从RecognizerIntent中检测语言

时间:2013-08-26 16:51:50

标签: java android speech-recognition

我写这段代码:

Intent voiceSearchIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
voiceSearchIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
startActivityForResult(voiceSearchIntent, 1);

我想检测所说语句的语言。但是,当我运行意图时,它只收听英语(美国)语言:

RecognizerIntent

是否可以在泛型模式下运行Intent并检索口语句子?

非常感谢。

1 个答案:

答案 0 :(得分:2)

不,这是不可能的。语音重新聚合算法的设计方式只适用于单一语言。

您必须自己创建语言检测解决方案,例如,您可以运行使用CMUSphinx创建的手工语音识别器,并在已解码的音素序列上应用分类器以获取语言。有更高级的语言识别算法,请参阅初始链接的评论:

http://www.cslu.ogi.edu/HLTsurvey/ch8node9.html

这不是一件容易的事,它绝对不健壮。为用户提供可供选择的语言列表会更容易。