Распознавание русского языка в Microsoft Speech API

Я хотел бы немного поиграть с Microsoft Speech API. Я нашел этот ответ, и он работает! Я попытался принять его, чтобы распознавать русский язык. Файл грамматики выглядит так:

<GRAMMAR LANGID="419">
    <DEFINE>
        <ID NAME="TEST" VAL="1"/>
    </DEFINE>
    <RULE NAME="TEST" TOPLEVEL="ACTIVE">
        <L>
            <P>Привет</P>
            <P>Пока</P>
        </L>
    </RULE>
</GRAMMAR>

Код взят из упомянутого ответа. Но получаю ошибку: строка

HRESULT hr = cpRecoGram->LoadCmdFromFile(L"D:\\data\\test\\reco_ru.cfg", SPLO_STATIC);

возвращает 0x80045052 (-2147200942): An attempt to load a CFG grammar with a LANGID different than other loaded grammars.

Можно ли настроить программу и/или среду для использования файлов грамматики для русского языка?

Среда: Windows 10 Домашняя, Visual Studio 2017


person Lex Sergeev    schedule 24.03.2019    source источник
comment
Это шестнадцатеричный или десятичный номер ошибки? Какое сообщение было связано? Каким было значение HRESULT?   -  person Ben    schedule 25.03.2019
comment
@Ben Значение HRESULT равно -2147200942. Связанное сообщение получено с _com_error: Ошибка IDispatch # 20050, пожалуйста, внимательно прочитайте. Я не знаю, что это значит и какой тип чисел используется.   -  person Lex Sergeev    schedule 25.03.2019
comment
SPERR_LANGID_MISMATCH 0x80045052 -2147200942 Попытка загрузить CFG-грамматику с LANGID, отличным от других загруженных грамматик docs.microsoft.com/en-us/previous-versions/office/developer/   -  person Ben    schedule 25.03.2019
comment
Наверное нужно инициализировать свежий движок с русским языком.   -  person Ben    schedule 25.03.2019
comment
@ Бен, хорошо, и как мне это сделать?   -  person Lex Sergeev    schedule 25.03.2019
comment
Вам понадобится распознаватель речи русского языка. Microsoft не поставляет его, и, насколько мне известно, такого механизма распознавания не существует.   -  person Eric Brown    schedule 26.03.2019


Ответы (1)


Windows 10 не поставляет SAPI-совместимый распознаватель русского языка как часть ОС. (Доступны распознаватели SAPI en-US, en-GB, fr-FR, de-DE, ja-JP, zh-CHS и zh-CHT.)

Однако, если вы хотите использовать серверные распознаватели (также известные как MS Speech Platform 11), вы можете найти русские распознаватели по адресу http://www.microsoft.com/en-us/download/details.aspx?id=27224.

Вы хотите скачать MSSpeech_SR_ru-RU_TELE.msi.

Распознаватели сервера имеют аналогичный API, но не поддерживают ряд функций, которые поддерживают распознаватели SAPI 5.4 (а именно, диктовку).

person Eric Brown    schedule 25.03.2019
comment
Не могли бы вы предоставить список доступных языков? - person Lex Sergeev; 26.03.2019
comment
@LexSergeev переписал ответ, чтобы прояснить различие между SAPI 5.4 и MS Speech Platform 11. - person Eric Brown; 26.03.2019
comment
Хорошо, пусть это будет ответ) - person Lex Sergeev; 28.03.2019