Java 将语音识别仅限于一种语言
我一直在尝试制作一个语音识别器,每次只识别选定的语言,但似乎英语总是介于两者之间,从而造成不一致。例如,使用与英语不同的语言说话,而您使用该语言所说的内容可能会被设备“听错”,从而导致出现一些随机的英语内容。 到目前为止,我一直在努力做到这一点:Java 将语音识别仅限于一种语言,java,android,speech-recognition,Java,Android,Speech Recognition,我一直在尝试制作一个语音识别器,每次只识别选定的语言,但似乎英语总是介于两者之间,从而造成不一致。例如,使用与英语不同的语言说话,而您使用该语言所说的内容可能会被设备“听错”,从而导致出现一些随机的英语内容。 到目前为止,我一直在努力做到这一点: final SpeechRecognizer speechRecognizer = SpeechRecognizer.createSpeechRecognizer(this); //Creating SpeechRecognizer
final SpeechRecognizer speechRecognizer = SpeechRecognizer.createSpeechRecognizer(this); //Creating SpeechRecognizer
final Intent speechRecognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
switch (languageSelection) {
case "En":
callSpeechBtn();
break;
case "Gr":
speechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "el-GR");
callSpeechBtn();
break;
case "local":
speechRecognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
callSpeechBtn();
break;
}
我假设您希望语言识别器只监听语言X,而不监听介于两者之间的任何内容。问题是,如果不认识另一种语言(并正确地翻译),它就不知道另一种语言是什么,这是不可能的。你想要的是另一个水平的智力——它需要知道他们说的不是英语,正确地计算出他们何时转换,以及正确地计算出他们何时返回。这超出了当前实现所能完成的几个步骤,我认为这并不是任何人真正想要的——这是一个非常不寻常的请求。您正在考虑编写自己的识别器来尝试这样做。我假设您希望语言识别器只监听语言X,而不监听介于两者之间的任何内容。问题是,如果不认识另一种语言(并正确地翻译),它就不知道另一种语言是什么,这是不可能的。你想要的是另一个水平的智力——它需要知道他们说的不是英语,正确地计算出他们何时转换,以及正确地计算出他们何时返回。这超出了当前实现所能完成的几个步骤,我认为这并不是任何人真正想要的——这是一个非常不寻常的请求。您正在考虑编写自己的识别器,甚至尝试这样做。