It seems that "Windows.Media.SpeechRecognition.SpeechRecognizer" can recognize 2 languages at same time? (English + System Settings)
Hi, all!
Recently I am developing voice recognition on Hololens2 with "Windows.Media.SpeechRecognition.SpeechRecognizer" in C++/WinRT.
According to the documentation, if you want to recognize specific language, you have to add a Language class at the constructor.
But I found some interesting fact that it seems that SpeechRecognizer implicitly use English as its default language, and you can add one more by changing your system language in device settings. It's useless to use that Language class
So you could speak two language at the same time without any adjustment and the SpeechRecognizer could detect it both.
I did some test and here are the results:
Device Language(Japanese), SpeechRecognizer() -->Can catch Japanese, English
Device Language(Japanese), SpeechRecognizer(L'en-US') -->Can catch Japanese, English
Device Language(Japanese), SpeechRecognizer(L'zh-CN') -->Can only catch Japanese, English (add one more to check whether it can detect triple languages)
Device Language(Chinese), SpeechRecognizer() -->Can catch Chinese, English
Device Language(Chinese), SpeechRecognizer(L'en-US') -->Can catch Chinese, English
Device Language(Chinese), SpeechRecognizer(L'jp-JP') -->Can only catch Chinese, English (add one more to check whether it can detect triple languages)
So it seems that the maximum is two language at the same time.
Is my conclusion right?