2013-08-26 106 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

是不可能性奔跑在通用模式和檢索說出的句子的意圖是什麼?

非常感謝。

回答

2

不,這是不可能的。語音重排算法的設計方式是隻能使用單一語言。

您必須自行創建語言檢測解決方案,例如,您可以運行使用CMUSphinx創建的手工製作的語音識別器,並對解碼後的音素序列應用分類器以獲取語言。有語言識別更高級的算法,見初始環節的審查:

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

這不是一件容易的事,它是絕對不會強勁。向用戶展示可供選擇的語言列表更方便。

+0

謝謝你的回答! – Antonio