Go Down

Topic: Speech Recognition with BitVoicer and Arduino (Read 28592 times) previous topic - next topic

gilcd85

Looks like it's back up now
http://www.bitsophia.com/files/BitVoicerSetup_v12_x86.exe
http://www.bitsophia.com/files/BitVoicerSetup_v12_x64.exe

I uploaded the version I had locally in case you still can't access the other ones
https://drive.google.com/file/d/0B_IPBNo37k91Yk1tMWlqbV9wNnM/edit?usp=sharing

petrovinsky

Hey, i've managed to implement this in c# and visual studio. Look for the SpeechRecognitionEngine class (http://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognitionengine%28v=vs.110%29.aspx). It uses the built-in windows 7 speech recognition feature and any usb mike connected to the computer.

Something like this:
Code: [Select]


class SpeechRecConsole
    {
        static void Main(string[] args)
        {           
            // Create an in-process speech recognizer for the en-US locale.
            using (
            SpeechRecognitionEngine recognizer =
              new SpeechRecognitionEngine(
                new System.Globalization.CultureInfo("en-US")))
            {

                // Create and load a dictation grammar.
                recognizer.LoadGrammar(new DictationGrammar());

                // Add a handler for the speech recognized event.
                recognizer.SpeechRecognized +=
                  new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

                // Configure input to the speech recognizer.
                recognizer.SetInputToDefaultAudioDevice();

                // Start asynchronous, continuous speech recognition.
                recognizer.RecognizeAsync(RecognizeMode.Multiple);

                // Keep the console window open.
                while (true)
                {
                    Console.ReadLine();
                }
            }
        }

        // Handle the SpeechRecognized event.
        static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            if (e.Result.Text.ToLower() == "lights on") {
                 SerialPort port = new SerialPort("COM6", 9600);
                port.Open();
                port.Write("lights on!!");
                port.Close();
        }
}

leofelixzhu

Wow that's pretty cool Petrovinsky. I'm always thinking about how I should start learning visual studio and more c++.

Is there a way to program the whole BitVoicer sketch onto the Arduino so that it can run as a standalone unit without having to connect it to the computer and starting BitVoicer every time? I feel like this might be very difficult or impossible because you would have to write the entire BitVoicer program onto the Arduino. Any thoughts?

Go Up