2013-08-26 3 views
0

я пишу этот код:Определить язык С RecognizerIntent

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

я хочу, чтобы определить язык speeched предложения. Но когда я запускаю намерение он прослушивает только английский (США) язык:

RecognizerIntent

является possibile запустить Намерение в родовом режиме и получить разговорную фразу?

Большое спасибо.

ответ

2

Нет, это невозможно. Алгоритм повторения речи разработан таким образом, что он работает только с одним языком.

Вам необходимо самостоятельно создать решение для определения языка, например, вы можете запустить созданный с помощью ручной фонетический распознаватель и применить классификатор к декодированной последовательности фонем для получения языка. Есть более продвинутый алгоритм для идентификации языка, см обзора для начальных звеньев:

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

Это не простая задача, и это, безусловно, не является устойчивым. Легче представить пользователю список языков для выбора.

+0

благодарит вас за ответ! – Antonio

Смежные вопросы