Задать вопрос

Как исправить факт того, что не работат русский язык в Microsoft Speech Platform?

Привет всем. Проблема с работой Microsoft Speech Platform с русским языком. Английский работает без проблем. Выдает ошибку на sre.LoadGrammar(g); (The language for the grammar does not match the language of the speech recognizer.)
String voice_lang;
            if (lang == "rus") voice_lang = "ru-RU";
            else { voice_lang = "en-US"; }

            System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(voice_lang);
            SpeechRecognitionEngine sre = new SpeechRecognitionEngine(ci);

            sre.SetInputToDefaultAudioDevice();

            sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SayStart);

            Choices start_ = new Choices();
            if (lang == "eng") { start_.Add(new string[] { "start" }); }
            else { start_.Add(new string[] { "начать" }); }

            GrammarBuilder gb = new GrammarBuilder();
            gb.Append(start_);
            Grammar g = new Grammar(gb);
            sre.LoadGrammar(g);

            sre.RecognizeAsync(RecognizeMode.Multiple);


static void SayStart(object sender, SpeechRecognizedEventArgs e)
        {
            if (e.Result.Confidence > 0.82) { b.PerformClick(); }
        }
  • Вопрос задан
  • 422 просмотра
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
Решения вопроса 1
@JustMRZ Автор вопроса
gb.Culture = sre.RecognizerInfo.Culture;
Добавил после
GrammarBuilder gb = new GrammarBuilder();
Все работает
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы