Голландский поддерживается в System.Speech

Я работаю над небольшим проектом, и я застрял в нем.

Для этого я хочу, чтобы моя программа распознавала нидерландский язык, но, похоже, она не работает. Каждый раз, когда я вставляю nl-NL в механизм распознавания, он выдает следующую ошибку:

System.ArgumentException: не найден распознаватель необходимого идентификатора.

Я знаю, что эта ошибка связана с голландским вариантом распознавания речи, потому что, когда я использую английскую версию, она работает просто отлично,

Я установил SDK и необходимые библиотеки DLL, но, похоже, он не работает.

итак мой вопрос
Кто-нибудь знает, как заставить это работать, используя правильные Speech.dll и т. Д. И т. Д.

вот мой код:
пс.
Сделано в студии Visual

using System;
using System.Windows.Forms;
using System.Speech.Recognition;
namespace Voice_Recognition
{
public partial class Form1 : Form
{
SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("nl-NL"));
Int16 HelpCount;
DateTime LastCallForHelp;

public Form1()
{
InitializeComponent();
}

private void btnEnable_Click(object sender, EventArgs e)
{
recEngine.RecognizeAsync(RecognizeMode.Multiple);
btnDisable.Enabled = true;
}

private void btnDisable_Click(object sender, EventArgs e)
{
recEngine.RecognizeAsyncStop();
btnDisable.Enabled = false;
}

private void richTextBox1_TextChanged(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{
Choices commands = new Choices();
commands.Add(new string[] { "say hello", "print my name", "help", "ow" });
GrammarBuilder gBuilder = new GrammarBuilder();
gBuilder.Culture = new System.Globalization.CultureInfo("nl-NL");
gBuilder.Append(commands);
Grammar mygrammar = new Grammar(gBuilder);
mygrammar.Name = "victors grammar";//recEngine = new SpeechRecognitionEngine();

recEngine.LoadGrammar(mygrammar);
recEngine.SetInputToDefaultAudioDevice();
recEngine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recEngine_SpeechRecognition);
}

public void recEngine_SpeechRecognition(object sender, SpeechRecognizedEventArgs e)
{
//Form1.ControlCollection("label1").text = e.Result.Confidence;
lblConfidence.Text = "" + e.Result.Confidence;

if (e.Result.Confidence >= 0.65)
{
switch (e.Result.Text)
{
case "say hello":
lblAktie.Text = "Hello!";
break;
case "print my name":
lblAktie.Text = "Your name is Victor";
break;
case "help":
if (LastCallForHelp.Subtract(DateTime.Now).TotalSeconds < 5)
{ HelpCount += 1; }
else
{ HelpCount = 1; };
if (HelpCount > 3)
{ lblAktie.Text = "Hulp wordt ingeschakeld"; }
else
{ lblAktie.Text = "Roep nog eens een keer!" ; };
LastCallForHelp = DateTime.Now;
break;
case "ow":
lblAktie.Text = "Waar doet het pijn?";
break;
}

}
}
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]