目标是使用SAPI来口述中文姓名,并获得拼音或相同发音的单词来记录姓名的发音。但在使用如下所示的DictationGrammar时,
var engine = new SpeechRecognitionEngine(CultureInfo.CurrentCulture);
engine.SetInputToDefaultAudioDevice();
var dictationGrammar = new DictationGrammar();
engine.LoadGrammar(dictationGrammar);当口述一些中文名字时,结果总是试图获得一些有意义的短语。
有没有办法达到我的目标?谢谢。
发布于 2016-02-24 11:49:43
不使用听写语法,而是使用Grammar builder()-function创建您自己的语法,并将其与Load -function()-function一起使用,因为听写语法只适用于英语单词。即使使用你自己的语法,但你的口音应该是美国口音。
Choices sList = new Choices();
sList.Add(new string[] { "pinyin" });
Grammar gr = new Grammar(new GrammarBuilder(sList));
engine.LoadGrammar(slist);希望这能对你有所帮助!
发布于 2016-03-01 03:14:00
试着使用发音语法。
var engine = new SpeechRecognitionEngine(CultureInfo.CurrentCulture);
engine.SetInputToDefaultAudioDevice();
var dictationGrammar = new DictationGrammar("Pronunciation");
engine.LoadGrammar(dictationGrammar);这将返回Chinese phoneme set中的一组音素,并且不会尝试将其映射到字符串中。
https://stackoverflow.com/questions/35592742
复制相似问题