I've been building an AI Speech Recognition program by looking at a tutorial from youtube and it runs proper;y without any errors. But it doesn't recognize my voice input. I'm using System.speech library. This is the code that I used
enter code here
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.Synthesis;
using System.Speech.Recognition;
namespace VoiceBot
{ public partial class Form1 : Form { SpeechSynthesizer s = new SpeechSynthesizer {}; Choices list = new Choices {}; public Form1() { SpeechRecognitionEngine rec = new SpeechRecognitionEngine { }; list.Add(new string[] { "Hello", "How are you?", "What time is it?" }); Grammar gr = new Grammar(new GrammarBuilder(list)); try { rec.RequestRecognizerUpdate(); rec.LoadGrammar(gr); rec.SpeechRecognized += rec_SpeachRecognized; rec.SetInputToDefaultAudioDevice(); rec.RecognizeAsync(RecognizeMode.Multiple); } catch { retu; } s.SelectVoiceByHints(VoiceGender.Female); s.Speak("Hello, My name is voice bot, How may I help you?"); InitializeComponent(); } public void say(String h) { s.Speak(h); } private void Form1_Load(object sender, EventArgs e) { } private void rec_SpeachRecognized(object sender, SpeechRecognizedEventArgs e) { String r = e.Result.Text; //what you say if(r== "hello") { //what it says say("Hi"); } if (r == "how are you?") { say("Great, and you?"); } } }
}