Click here to Skip to main content
15,884,388 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
using System;
using System.Diagnostics;
using System.Speech.Recognition;
using System.Speech.Synthesis;
using System.Windows.Forms;
using System.Threading.Tasks;


namespace Voice_Recognition
{
    public partial class Form1 : Form
    {
        SpeechSynthesizer ss = new SpeechSynthesizer();
        PromptBuilder pb = new PromptBuilder();
        SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
        Choices clist;

        public Choices Clist { get => clist; set => clist = value; }

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void btnstart_Click(object sender, EventArgs e)
        {
            btnstart.Enabled = false;
            btnstart.Enabled = true;
            Clist.Add(new string[] { "Hello", "How are you jarvis", "What is the current time", "Open Google", "Thank you", "Close", });
            Grammar gr = new Grammar(new GrammarBuilder(Clist));

            try
            {
                sre.RequestRecognizerUpdate();
                sre.LoadGrammar(gr);
                sre.SpeechRecognized += sre_SpeechRecognized;  // (" Error 1)")
                sre.SetInputToDefaultAudioDevice();
                sre.RecognizeAsync(RecognizeMode.Multiple);
 
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }

           
        }

        void sre_SpeechRecognized(object sender, SpeechDetectedEventArgs e)
        {
            switch (e.Result.Text.ToString()) //("Error-2")
            {
                case "Hello":
                    ss.SpeakAsync("Hello Sir");
                    break;
                case "How Are you":
                    ss.SpeakAsync("Every Ting is running smothly. How are you");
                    break;
                case "What is the current time":
                    ss.SpeakAsync("Current time is " + DateTime.Now.ToLongDateString());
                    break;
                case "Thank you Jarvis":
                    ss.SpeakAsync("It's my pleasure to serve you sir");
                    break;
                case "Open Google":
                    Process.Start("Opening Google ", "http://www.google.com");
                    break;
                case "close":
                    Application.Exit();
                    break;
                default:
                    break;
            }
         txtcontents.Text += e.Result.text.ToString() + Environment.NewLine; //("Error-3")
        }

        private void btnstop_Click(object sender, EventArgs e)
        {
            sre.RecognizeAsyncStop();
            btnstart.Enabled = true;
            btnstart.Enabled = false;
        }
    }
}


What I have tried:

I try my best but failed. please help me out. Any kind of suggestion and help is appreciated in advance.

these are the errors in my code and i have mention these errors in the code like (Error-1, Error-2 and Error-3)

Error-1) No overload for 'sre_SpeechRecognized' matches delegate 'EventHandler<SpeechRecognizedEventArgs

Error-2) SpeechDetectedEventArgs' does not contain a definition for 'Result' and no extension method 'Result' accepting a first argument of type 'SpeechDetectedEventArgs

Error-3) SpeechDetectedEventArgs' does not contain a definition for 'Result' and no extension method 'Result' accepting a first argument of type 'SpeechDetectedEventArgs'
Posted
Updated 27-Dec-17 0:01am

Solution For Error 1
sre.SpeechRecognized +=new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);

Solution For Error 2
You make "SpeechDetectedEventArgs" method
void sre_SpeechRecognized(object sender, SpeechDetectedEventArgs e)

ANd you have to make "SpeechRecognizedEventArgs" method
private void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)


And Your third Error will solve automatically
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900