我是否有理由使用Microsoft.Speech命名空间而不是直接在Visual Studio中使用SAPI 5.4?

时间:2017-04-05 20:18:52

标签: vb.net speech sapi

Visual Studio中的语音非常混乱。在其他语言甚至VB6中,我有使用SAPI 5.4对象的工作代码。我看到Visual Studio中有Microsoft.Speech和System.Speech对象。我认为这是我可以拥有托管代码。你还能直接编程到SAPI吗?我应该知道为什么我想要使用一种方法或另一种方法?代码甚至没有相似之处。此应用程序将在Windows Server上运行并以VB.NET编写

1 个答案:

答案 0 :(得分:0)

您可能希望首先查看this question的答案。

鉴于您在Windows Server上运行,您几乎肯定需要Microsoft.Speech而不是System.Speech,原因如下:

  • 默认情况下,服务器不包含任何SR引擎;您必须安装桌面体验包;
  • System.Speech要求培训能够很好地运作;
  • Microsoft.Speech的SR引擎可以很好地处理低质量的音频。

您仍然可以直接编程到SAPI;服务器SAPI和桌面SAPI之间唯一真正的区别是底层SR引擎。 (客户端API完全相同。)

直接编程到SAPI更复杂,但为您提供更多控制。我不能在不知道你的最终目标是什么的情况下推荐一个或另一个。