Go Down

Topic: Speech Recognition with BitVoicer and Arduino (Read 36086 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?

SeanHowson

Hey, so I tried to upload your sketch, and I got the error "bitvoicerserial does not name a type"? any ideas?
means your library isnt linking into the sketch properly, im having the same problem atm, by pc is usually a pain when bringing in new libraries, trouble is, i cant remember what i did last time this happened :l did you get anywhere with it?

kian79

I got Bitvoicer to work with an Arduino Uno. However, when I switched to using a Arduino Pro Mini (3.3V, 8MHz), I was unable to calibrate the microphone on the BitVoice desktop program. I am getting "0 samples per second" and "Invalid Reference Audio Level"

Anyone got this problem too and manage to solve it? I know its got something to do with the serial command from the PC to the arduino thats initiates the calibration process. Its somehow just not receiving that command.

fractor

Have you guys seen this:
https://www.kickstarter.com/projects/310865303/movi-a-standalone-speech-recognizer-shield-for-ard/
?

Go Up