【发布时间】:2014-09-08 15:30:27
【问题描述】:
我在使用 Microsoft.Speech 构建葡萄牙语语法构建语法时遇到了一些问题。
我手动构建了一个语法,但还不够好。我听说我可以在 System.Speech 中使用听写语法来构建我的语法,但它似乎不支持葡萄牙语。
我的程序必须能够识别一些音频文件。这些音频文件的声音非常清晰(而且声音总是一样的)。声音由一些字母组成,但我只是不知道如何构建一个好的语法。
有没有办法使用 Microsoft.Speech 构建葡萄牙语字母语法?
一些示例:
private static readonly Dictionary<string, string> _lettersGrammar = new Dictionary<string, string>()
{
{ "a", "a" },
{ "bê", "b" },
{ "cê", "c" },
{ "dê", "d" },
{ "é", "e" },
{ "efe", "f" },
{ "gê", "g" },
{ "agá", "h" },
{ "i", "i" },
{ "jota", "j" },
{ "cá", "k" },
{ "ele", "l" },
{ "eme", "m" },
{ "ene", "n" },
{ "ó", "o" },
{ "pê", "p" },
{ "quê", "q" },
{ "erre", "r" },
{ "esse", "s" },
{ "tê", "t" },
{ "u", "u" },
{ "vê", "v" },
{ "dáblio", "w" },
{ "xis", "x" },
{ "ípsilon", "y" },
{ "zê", "x" }
};
recognizer = new SpeechRecognitionEngine (new CultureInfo("pt-BR"));
recognizer.LoadGrammar (new Grammar (new GrammarBuilder (new Choices (_lettersGrammar.Keys.ToArray ()))) { Name = "Letters_Grammar" });
recognizer.SpeechRecognitionRejected += SpeechRecognitionRejected;
recognizer.SpeechRecognized += SpeechRecognized;
recognizer.RecognizeCompleted += RecognizeCompletedHandler;
有什么建议吗?
非常感谢你们!
【问题讨论】:
-
可能不是语法问题。可能您的文件质量低下(例如 8khz 电话输入)。
-
可能是这个……但是声音很清晰……而且语法中只有几个单词……这很奇怪。感谢您的回答@NikolayShmyrev
标签: c# speech-recognition grammar