none
关于语音识别SpeechRecognizer的问题 RRS feed

  • 问题

  • 1、首先我的电脑已经安装了SAPI5.1与语言包,之后我也进行了训练,然后我用SAPI的那个语音引擎SpSharedRecognizer识别率很高,但就是问题很多不稳定(经常会不工作)。后来我使用SpeechRecognizer语音引擎,可是它的识别率怎么也没办法跟SpSharedRecognizer的比,就跟没经过训练一样,这是怎么回事呢?

    2、还有就是SpSharedRecognizer语音引擎与SpeechRecognizer语音引擎有什么区别吗?

    3、怎么自己编程给SpeechRecognizer提供训练?

    谢谢大家!!!!!



    2011年5月20日 1:53

答案

全部回复

  • SpSharedRecognizer并不独占系统语音输入。这可能造成语音输入被其他程序使用时识别效果不稳定。关于shared和inproc语音引擎的区别,可以参考http://msdn.microsoft.com/en-us/library/ms722071(v=vs.85).aspx

    使用语音文件作为输入的方法参考http://msdn.microsoft.com/en-us/library/ms717071(v=vs.85).aspx。如果语音引擎在输入时处于训练模式(ISpRecognizer2::SetTrainingState),而且训练结束后提交训练数据,则语音引擎会将训练数据保留。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • 已建议为答案 Paul Zhou 2011年5月21日 4:13
    • 已标记为答案 我爱C-Shap 2011年5月23日 3:19
    2011年5月21日 1:28
    版主
  • 我自己编程训练了引擎,是调用UI,使用自定义的词调用它的.然后用VB模仿键盘发送字符让UI自动跳到训练的那一页,以实现自动开始训练,配合上声音的输出.

    但是我看到了addadaptationdata这个方法,应该使用它来进行训练更加简单,实用.不知有没有人有这方面的经验?

    2015年11月30日 8:03