使用SAPI有没有办法口述中文名称并获得拼音或单词只是记录发音

本文关键字:单词 记录 有没有 SAPI 中文名 使用 | 更新日期: 2023-09-27 18:35:52

目标是使用SAPI来口述中文名称,并获取拼音或仅具有相同发音的单词来记录名称的发音。但是当使用如下所示的听写语法时,

var engine = new SpeechRecognitionEngine(CultureInfo.CurrentCulture);
engine.SetInputToDefaultAudioDevice();
var dictationGrammar = new DictationGrammar();
engine.LoadGrammar(dictationGrammar);

结果总是试图在口述一些中文名字时获得一些有意义的短语。

有没有办法达到我的目标?谢谢。

使用SAPI有没有办法口述中文名称并获得拼音或单词只是记录发音

而不是使用听写语法,而是使用 Grammar builder()-函数创建自己的语法,并将其与 Load grammar()-函数一起使用,因为听写语法仅适用于英语单词。 即使使用自己的语法,但您的口音应该是美国口音。

Choices sList = new Choices(); 
sList.Add(new string[] { "pinyin" });
Grammar gr = new Grammar(new GrammarBuilder(sList));
engine.LoadGrammar(slist);

希望这对你有帮助!

尝试使用发音语法。

var engine = new SpeechRecognitionEngine(CultureInfo.CurrentCulture);
engine.SetInputToDefaultAudioDevice();
var dictationGrammar = new DictationGrammar("Pronunciation");
engine.LoadGrammar(dictationGrammar);

这将返回中文音素集中的一组音素,并且不会尝试将其映射到字符串中。