我想使用Microsoft Speech API。我找到了this answer,它可以工作了!我试图采用它来识别俄语。语法文件如下所示:
<GRAMMAR LANGID="419">
<DEFINE>
<ID NAME="TEST" VAL="1"/>
</DEFINE>
<RULE NAME="TEST" TOPLEVEL="ACTIVE">
<L>
<P>Привет</P>
<P>Пока</P>
</L>
</RULE>
</GRAMMAR>
代码取自the mentioned answer。但是我得到一个错误:该行
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 Home,Visual Studio 2017
答案 0 :(得分:1)
Windows 10并未将兼容SAPI的俄语识别器作为操作系统的一部分提供。 (有可用的en-US,en-GB,fr-FR,de-DE,ja-JP,zh-CHS和zh-CHT SAPI识别器。)
但是,如果您愿意使用服务器识别器(又称为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识别器支持的许多功能(即,命令)。