У меня возникли проблемы с построением грамматики с использованием Microsoft.Speech для создания грамматики в португальском языке.Построение хорошей грамматики с 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;
Любые предложения?
Большое спасибо, ребята!
Возможно, это не проблема грамматики. Вероятно, ваши файлы имеют низкое качество (например, вход 8chz-телефонии). –
Это может быть так ... но звук настолько ясен ... и в грамматике всего несколько слов ... это странно. Спасибо за ваш ответ @NikolayShmyrev – Crasher