Speech Recognition & Sparkfun Mp3 Trigger & Other Questions



I'm just learning the EZ-B and trying to work it into my full Size Lost in Space B9 robot build. I'm real excited about the speech recognition and have started working with it in the EZ Builder through my laptop. I have a couple questions;

It's been suggested to me here in another thread that I should use a Sparkfun MP3 Trigger in my robot along with my EZ-B board. Where do I keep my sound files? I see that the EZ-Builder lets me use files on my laptop hard drive and reference the sound card command. However the sound will come out of my Laptop speaker. Can I still have these files on my Laptop and have a speaker on the robot say them or do they need to be on the MP3 trigger card for that?

I see that the Sparkfun MP3 trigger only has 18 triggers. Does that mean that I can only have 18 sound files that EZ-B's speech recognition can trigger? The MP3 Trigger also says it has "a full-duplex serial control port that provides full transport control, remote triggering for up to 256 tracks". Can the EZ-B's Speech Recognition trigger those tracks also?

One more question: While playing with the speech recognition in the Ez-B Builder I noticed that it responded to my voice nicely but hardly listened to my wife (I wish I could get away with that) :-) . Is this common or do I need to adjust something? It would be nice to have the robot answer questions from more people then just me.

Sorry about the long winded questions,

Thanks, Dave


Hi Dave,

I can hopefully help you out.

The sound files are stored on a Mircro SD card that you insert into the
MP3Trigger board. They are played back through speakers connected
to the MP3Trigger board.

User Manual -> MP3Trigger User Manual

The first 18 triggers are customizable and can be externally triggered, but
the unit can handle up to 255 tracks in total.

The E-ZB can trigger all 255 tracks if you like via voice command. Up to 100
with the EZ-B MP3 trigger control panel (We're nagging DJ to give us the full

I've found you need to be very clear with certain words for the EZ-B to pick
them up. I had my wife trying out my R2 voice commands today. With a little
coaching and tweaking she had him responding no problem.


Kris Grin


Excellent! 100 should do fine for now. Hopefully we'll get all 256 soon. That would be outstanding. I have over 400 phrases my B9 could respond to that wereeither recorded by the actual original B9 voice actor or from a licensed CD set of phrases taken from the TV series.

Thanks very much!



My setup goes like this.

1-18 are my favorite most popular audio. Ex: Weird Al - Yoda tune,
Wolf Whistle, Scream, ect.

I typically play them from a voice recog command. You can have as many
as you like on voice command (1-255). Remembering them all is the trick. ;-)

Then from 19-255 I have all of R2's chortles, beeps, whistles, alarms, hums
and screams.

In EZ-Builder I run a script that calls random audio from 19-255. R2 randomly
cycles through them with a 3-10 second random delay between them.

It's pretty slick. I also assigned audio to my XBOX 360 controller. A few stock
sounds and (1) button for random sounds again.


That is slick! I love the random with delay trick. I need to try to write that into a script but don't yet know how to write one. Would you consider sharing that script so I can see how it's put togather?

When it states "externally triggerd" does that mean by switches? If so are they momentary switched or latched? What other types of "external triggers" could there be?

Thanks again,


No problem.

I just recently started on scripts. I'm no expert but it's working for me.

Here are some examples of lines I use for the trigger.

My MP3Trigger is on port D7, Baud 38400. Audio volume normally at 20.

Random script. (Remove notes if you cut/paste)

MP3TriggerVolume(d7, 38400, 20) <--Sets Volume. 0=Loudest 255=Quiet
SleepRandom(3000, 10000) <-- Sets Random Delay between 3-10 Seconds
MP3TriggerPlayRandomTrack(d7, 38400, 19, 200) <--Plays ONLY tracks 19-200 in Random Mode
SleepRandom(3000, 10000) <-- Sets Random Delay between 3-10 Seconds
Goto(Begin) <-- Returns to beginning and repeats

To Play a Track

MP3TriggerPlayTrack(d7, 38400, 2) <-- Plays Track # 2

To Stop a Track

MP3TriggerStop(d7, 38400)

That's basically all I use. Play, Random, Volume and Stop.

Using scripts you can pause/stop other scripts. Link them together as needed.

Yes you can use momentary switches to activate tracks 1-18. You can even
use them to control volume if you want.

I don't use them on my droid but I've played with them. Just short the pins and
it plays the track associated with them.

So on your B9 you could take 18 of the front switches/buttons and link them to it.

Hope this helps.


It helps a lot. Thanks! Yes, I do have a lot of momentary buttons on the front of B9 that will work very nicely. Now I need to figure out what I want to do with them. What fun!

Thanks again, Dave