我正在尝试使用system.speech将语音识别功能用于Windows Server 2008。
我构建了一个在Vista上使用System.Speech.Recognition(SAPI 5.4)的控制台应用程序。在这台机器上运行良好。
尝试在Windows Server 2008 x86计算机上安装/执行它。它有.NET 3.5。 没有运气......错误 - 经过调查,发现2008年没有安装任何识别器。
安装了新的Speech Platform Server Runtime,English language file和Speech SDK。这些都是在一个月前发布的。据我了解,运行时包含一个与WinServer 2008兼容的识别器。
试图再次运行我的应用程序,但仍然没有找到识别器。
我可以看到安装了一个识别器dll: C:\ Program Files(x86)\ Common Files \ microsoft shared \ Speech \ SR \ v10.1 \ spsreng.dll
我做错了什么? :)
答案 0 :(得分:4)
您需要使用Microsoft.Speech.Recognition才能使用Speech Platform Server; System.Speech.Recognition需要桌面识别引擎,该引擎在Windows Server上不可用。
服务器和桌面识别引擎是完全独立的。
答案 1 :(得分:1)
可以让System.Speech.Recognition在Windows Server 2008上运行,假设您有一台可以从中复制的工作机器。我尝试了一些不起作用的不同东西,然后是一些可行的可怕步骤。我不确定哪些是必要的,但最后一组步骤肯定是必要的。
以下列出了不起作用的事情,但可能是工作原理的先决条件:
这些都没有用,所以我们最终基本上手动安装了必要的文件和注册表设置,使用下面改编自的过程 https://groups.google.com/forum/#!topic/microsoft.public.speech_tech.sdk/YV_OcL0Boh0
这需要一台工作机器(我的Windows 7机器)来复制文件和注册表设置。在下面的说明中,我试图安装一个我知道在我的机器上工作的特定识别器,MS-1033-80-DESK。如果您使用其他识别器,则可能需要不同的步骤。您可以使用SpeechRecognitionEngine.InstalledRecognizers()API在计算机上查看已安装的识别器。
Stackoverflow不会让我发布没有代码的pastebin链接,我的链接很大,直接包含在这里,所以
fakeCode = 1;