Microsoft语音识别定制培训

2022-04-02 00:00:00 python speech-recognition speech sapi

问题描述

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

我的应用程序的用户应该经常说缩写的东西,比如‘LHC’代表‘大型强子对撞机’或‘CERN’。根据该顺序,我的应用程序将返回

你说:在C岁的时候

您说:CERN

虽然它对‘CERN’有效,但对‘LHC’却失败得很厉害。

然而,如果我可以制作自己的定制培训文件,我就可以很容易地在其中的某个地方放置术语LHC。然后,我可以让用户访问语音控制面板并运行我的培训文件。

我找到的所有关于这方面的链接都毫无用处,因为它们只是说这样的话:‘这是-你应该试着去-论坛’。

如果有帮助,以下是链接列表:

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上运行的解决方案。

提前谢谢!

附注:如果已经有任何库或模块用于此目的,有人能向我推荐一些吗?如果是一个Python或C/C++解决方案就更好了。另外,由于我不想发布关于这个问题的另一个问题,是否可以从命令提示符使用培训实用程序(或者在看不到图形用户界面的情况下,但仍然拥有对所有控件的总指挥权)?


解决方案

好的,我现在从一件事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

相关文章