I'm trying to build a program who recognizes my voice.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Speech.Recognition; namespace VoiceTest { public partial class Form1 : Form { SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine(); public Form1() { InitializeComponent(); } private void btnEnable_Click(object sender, EventArgs e) { recEngine.RecognizeAsync(RecognizeMode.Multiple); btnDisable.Enabled = true; } private void Form1_Load(object sender, EventArgs e) { Choices commands = new Choices(); commands.Add(new string[] { "say hello", "print my name" }); GrammarBuilder gBuilder = new GrammarBuilder(); gBuilder.Append(commands); Grammar grammar = new Grammar(gBuilder); recEngine.LoadGrammarAsync(grammar); recEngine.SetInputToDefaultAudioDevice(); recEngine.SpeechRecognized += recEngine_SpeechRecognized; } private void recEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { switch (e.Result.Text) { case "say hello": MessageBox.Show("Hello Ganesh. How are you?"); break; case "print my name": richTextBox1.Text += "\nGanesh"; break; } } private void btnDisable_Click(object sender, EventArgs e) { recEngine.RecognizeAsyncStop(); btnDisable.Enabled = false; } } }
The program runs well, but it doesn't 'hears' my voice OR don't understand what I'm saying.
How can I change this?