我想用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
Windows 10不提供与SAPI兼容的俄语识别器作为操作系统的一部分。 (有en-US,en-GB,fr-FR,de-DE,ja-JP,zh-CHS和zh-CHT SAPI识别器可用。)
但是,如果您愿意使用服务器识别器(AKA MS语言平台11),您可以在http://www.microsoft.com/en-us/download/details.aspx?id=27224找到俄语识别器。
您想要MSSpeech_SR_ru-RU_TELE.msi下载。
服务器识别器具有类似的API,但不支持SAPI 5.4识别器支持的许多功能(即听写)。