Microsoft语音识别自定义培训

时间:2012-05-26 00:30:37

标签: python speech-recognition speech sapi

我一直想使用Microsoft语音识别创建应用程序。

我的应用程序的用户经常会说缩写的内容,例如LHC'对于大型强子对撞机'或者' CERN'。鉴于确切的顺序,我的申请将返回

  

你说:C岁。

     

你说:Cern

虽然它确实适用于CERN'但它对LHC'它的失败非常糟糕。

但是,如果我可以制作自己的自定义培训文件,我可以轻松地将术语放在LHC'在那里的某个地方。然后,我可以让用户访问语音控制面板并运行我的培训文件。

我找到的所有链接都令人沮丧地无用,因为他们只是说“这是----,你应该尝试去----论坛”。< / p>

如果确实有帮助,请参阅以下链接列表:

http://compgroups.net/comp.speech.users/add-my-own-training/153194

https://groups.google.com/forum/#!topic/microsoft.public.speech.server/v58SH1ov22s

http://social.msdn.microsoft.com/Forums/en/servercorefordevelopers/thread/f7a35f3f-b352-464a-b264-e16eb4afd049

我的问题是否可能?或者培训文件本身是否采用特殊格式?如果是这样,可以复制该格式吗?

可以在Windows XP上运行的解决方案也是理想的选择。

提前致谢!

P.S。如果有任何图书馆或模块已经存在,那么有人可以指点我吗? Python或C / C ++解决方案将非常出色。此外,由于我不想发布有关此问题的另一个问题,是否可以从命令提示符中使用列车实用程序(或者没有GUI可见,但仍然具有所有控件的完全命令)?

1 个答案:

答案 0 :(得分:2)

好的,从我现在wrote three or four years ago的东西中提取这个,但我相信你想做这样的事情。

语法库是一个训练有素的系统,可以识别单词。您可以创建自己的特定单词的语法库。

C#,抱歉

using System.Speech
using System.Speech.Recognition
using System.Speech.AudioFormat

SpeechRecognitionEngine sre = new SpeechRecognitionEngine();

string[] words = {"L H C", "CERN"};
Choices choices = new Choices(words);
GrammarBuilder gb = new GrammarBuilder(choices);
Grammar grammar = new Grammar(gb);
sre.LoadGrammar(grammar);

就我能得到你而言。从文档看起来你可以以某种方式定义发音。也许这样你就可以将LHC直接映射到一个单词。以下是语法课上的文档 - http://msdn.microsoft.com/en-us/library/system.speech.recognition.grammar.aspx

小更新 - 请参阅此处文档中的示例http://msdn.microsoft.com/en-us/library/ms554228.aspx