Close

Recognizing Speech with MOVI shield

A project log for Little Friend

This companion robot, 9000 farads of super capacitance, spends less than eight minutes feeding--then 75 minutes or more she can be a buddy.

mike-rigsbyMike Rigsby 05/28/2016 at 23:100 Comments

This is my first test of MOVI, the speech recognizer and synthesizer. It is very easy to set up and use.

The shield works with Arduino and can be found here.

I changed one of the sample programs so that the shield would recognize "Mato" when spoken. In a quiet room, I had success at a distance of over 30 feet from the recognizer board.

Here's the pertinent part of the code:

recognizer.init(); // Initialize MOVI (waits for it to boot)



//*
// Note: training can only be performed in setup().
// The training functions are "lazy" and only do something if there are changes.
// They can be commented out to save memory and startup time once training has been performed.
recognizer.callSign("Mato"); // Train callsign Mato (may take 20 seconds)
recognizer.addSentence("Let there be light"); // Add sentence 1
recognizer.addSentence("Go dark"); // Add sentence 2
recognizer.train(); // Train (may take 20seconds)
//*/



// recognizer.setThreshold(5); // uncomment and set to a higher value (valid range 2-95) if you have a problems due to a noisy environment.
}



void loop() // run over and over
{
signed int res=recognizer.poll(); // Get result from MOVI, 0 denotes nothing happened, negative values denote events (see docs)
if (res==1) { // Sentence 1.
digitalWrite(led, HIGH); // Turn on LED
recognizer.say("and there was light!"); // Speak a sentence
}
if (res==2) { // Sentence 2
digitalWrite(led, LOW); // Turn off LED
}

As you can see, it's not too difficult to program the recognizer.

The downsides:

The power cannot be supplied by usb--it must be a higher external voltage (like 7 volts or so). Current consumption (in my test) was about 140 milliamps for the Arduino and shield while waiting for speech. Recognition time is a couple of seconds.

Will this "hear" over the sound of motors while moving? I don't know. This is one of the "feature creep" items I mentioned at the start of this project and I will delay any serious implementation until the "find my recharge station" capability is operational.

Mato is excited about the possibility of being able to hear and speak!

Discussions