Speech Recognition with BitVoicer and Arduino

Yea I didn't thoroughly read the website. I am in need of a voice recognition system that is Arduino compatible. I currently designing around the EasyVR. The only downfall is that it's Speaker dependent. If I program my voice then it only responds to my voice.. I want it to recognize anyone.

I am trying to keep this project independent from a PC, but it may will not be able since there will be face recognition also. So it may not matter that it's PC dependent.

PS: I am designing a humanoid robot. So far there are 3 Arduinos (actually custom PCB with Atmel MCUs) connected through Serial for the control.

I just looked at BitSophia's website and they released a new version of BitVoicer. Now it can recognize speech captured by a microphone hooked to the Arduino. I'm going to try this new version and order a wireless module (https://www.sparkfun.com/products/10822) from Sparkfun.

I want to voice control some things at home. Any suggestions on how to connect them to Arduino?

I added an electret microphone and wireless communication to this project so that the Arduino does not have to be physically connected to the computer. Here is the link to the new project: http://arduino.cc/forum/index.php/topic,140765.0.html

Hey, so I tried to upload your sketch, and I got the error "bitvoicerserial does not name a type"? any ideas?

If you downloaded the 1.1 version of BitVoicer, you have to use the BitVoicer11.h library. Also, The code in this sketch is no longer supported by the new version. Use the code in this post instead: Wireless Audio Streaming and Speech Recognition (PART 2) - #7 by leandro4b - Audio - Arduino Forum, but if you are not using an electret microphone, you will have to make some changes to the code.

where is the library? also, is it not possible to use a mic connected to my computer? id like to not have to buy anything new, as I just want to test this software out.

The "BitVoicer11.h" library can be found in the "Library" folder located inside the BitVoicer's installation folder.
Yes, you can use your computer's mic. Just set it as the audio input in the preferences.

the code written is giving error and #include<BitVoicer.h> is not poping up in a different colour in arduino editor
i have interfaced the library of bitvoicer to arduino and will this problem be solved if i buy the product key for bit voicer?

please respond as fast as possible :slight_smile:

I have already answerd this question, but ...

If you downloaded the 1.1 version of BitVoicer, you have to use the BitVoicer11.h library. Also, The code in this sketch is no longer supported by the new version. Use the code in this post instead: http://arduino.cc/forum/index.php/topic,140766.msg1072337.html#msg1072337; but if you are not using an electret microphone, you will have to make some changes to the code.

Dear BitVoicer Guru,

I downloaded your product last night and have been working with it a little bit. I noticed from the other posts that you have upgraded to the mic attached to the board and gone wireless. I eventually want to get to that point but I'm going to have to wait on parts to arrive in the mail. I did however want to try to get this to work as you had in your first example (mic on the computer with usb connection etc...) The problem is (as mentioned before) that the code has changed. Im new to arduino and I wouldn't mind trying to tear apart the code, and compare to the old code so that I can use the mic on the computer and the newer BitVoicer 1.1 download. I'll probably start on tearing it apart tomorrow, just wondering if you had any suggestions as to where to start and as to what changes to make to the newer code, so that I can use the mic on the computer. Also do you think it would work if instead of the mic (newer version) I could replace it with an audio jack and plug in a headset with a mic?

Thanks for anyone who wants to comment on this.

After going through a bunch of the code I think I found something. Let me know if you think this is the right way to go about it.

In the wireless version:
BitVoicerSerial bvSerial = BitVoicerSerial(); // Instantiates the BitVoicerSerial class

And in the older version:
BitVoicerSerial bvSerial = BitVoicerSerial(0); // Instantiates the BitVoicerSerial class and sets serial to port 0

Could I make the change (adding in the 0) to the wireless version and have it read in the mic data that my computer sends it from BitVoicer?

nvm, ran it on the arduino checker and there is no BitVoicerSerial(int) function. Was there one in the older version?

The new version of the BitVoicerSerial class does not take any parameters, so you can not add 0 to the wireless version of the code. Only the old version would take an int value.

I found the code bellow in the BitVoicer's user manual. It uses the computer's mic to capture audio and does not use a wireless connection (the simplest setup possible). They have another sample code in the manual. I think you should take a look at it (section 5.5).

//Imports the BitVoicer library to the sketch
#include <BitVoicer11.h>

//Instantiates the BitVoicerSerial class 
BitVoicerSerial bvSerial = BitVoicerSerial(); 

//Stores the data type retrieved by getData() 
byte dataType = 0; 
//Stores the state of pin 4 
byte pinVal = 0; 

void setup() 
{ 
  //Starts serial communication at 9600 bps 
  Serial.begin(9600); 
  //Sets digital pin 4 as OUTPUT 
  pinMode(4, OUTPUT); 
  //Turns off pin 4 
  digitalWrite(4, pinVal); 
} 

void loop() 
{ 
  //Updates the state of pin 4 on every loop 
  digitalWrite(4, pinVal); 
} 

//This function runs every time serial data is available 
//in the serial buffer after a loop 
void serialEvent() 
{ 
  //Reads the serial buffer and stores the received data type 
  dataType = bvSerial.getData(); 

  //Checks if the data type is the same as the one in the 
  //Voice Schema 
  if (dataType == BV_BYTE) 
  { 
    //Checks the stored value in byteData by getData() and 
    //changes the value of the pin 
    if (bvSerial.byteData == 0) 
      pinVal = LOW; 
    else 
      pinVal = HIGH; 
  } 
}

is there a free trial? I tried to record something and it says i have to activate the program first.

Here's an Alternative that is free:

You can try BitVoicer if you use the computer's microphone as the input device, but you will need to activate it to be able to send commands to the microcontroller.

Hi, what's the range of the microphone? From how far away does is it able to pick up (and recognize) commands? Thanks.

HELLO try to download and does not open the page

http://www.justbuss.xpg.com.br/BitVoicerTest.zip

please can you send me the file, thanks

email: OESTE24@HOTMAIL.COM

Well, I just tried the link and it works perfectly. I think you should try it again.

Hi,
I'm a beginner to Arduino and I am looking to build something along the lines of your project. I have downloaded and activated Bitvoicer. But for your uploaded Bitvoicer Schema, the link doesn't work for some reason. It eventually shows a domain for sale and is unable to be saved as. Is there any other place where I can take a look at the schema used? Or is there instructions on how to build it? I have a windows computer if that is relevant.

Thanks.

I also uploaded the file to http://www.4shared.com/zip/Q6uYrzguba/BitVoicerTest.html