The language for the grammar does not match the language of the speech recognizer

c#, microsoft-speech-platform, speech-recognition

Solution

Looks like you need

SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(
          new System.Globalization.CultureInfo("ru-RU")))

Problem

Good day! It is about Microsoft Server Speech SDK v11.0 (Server version). I have run test example at MSDN sample . So English phrases -red,blue - recognized well. But I want to recognize Russian language too -install Microsoft Speech Recognition Language -TELE (ru-RU) and runs my app/ Code: ``` static void DoWork() { Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-RU"); // Create a new SpeechRecognitionEngine instance. SpeechRecognitionEngine sre = new SpeechRecognitionEngine(); // Configure the input to the recognizer. sre.SetInputToWaveFile(@"c:\Test\красный.wav"); // Create a simple grammar that recognizes "red", "green", or "blue". Choices colors = new Choices(); // colors.Add(new string[] { "red", "green", "blue","красный" }); colors.Add(new string[] { "красный" }); //russian word- "red" // Create a GrammarBuilder object and append the Choices object. GrammarBuilder gb = new GrammarBuilder(); gb.Culture = new CultureInfo("ru-RU"); // add Culture Info gb.Append(colors); Console.WriteLine(gb.Culture.CultureTypes); // Create the Grammar instance and load it into the speech recognition engine. Grammar g = new Grammar(gb); sre.LoadGrammar(g); // Register a handler for the SpeechRecognized event. sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized); // Start recognition. sre.Recognize(); } // Create a simple handler for the SpeechRecognized event. static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { Console.WriteLine(String.Format("Speech recognized: {0}",e.Result.Text)); } ``` Error appears at this line: ``` sre.LoadGrammar(g); The language for the grammar does not match the language of the speech recognizer. ``` So, how to fix this error? I try to set CultureInfo, but it does not works... Thank you!

Original source