Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Resolved Resolved by DJ Sures!

Speech Recognition Skill/Control

Is there any way I can convert speech to text using an off-line skill and get the detected phrase?
The standard off-line Speech Recognition skill translates what I say to text, but I can only retrieve the phrase if it matches a defined list. 
I have to use the on-line Bing Speech Recognition skill to retrieve an undefined phrase.

Related Hardware EZ-B v4


Upgrade to ARC Pro

Synthiam ARC Pro is a cool new tool that will help unleash your creativity with programming robots in just seconds!

AI Support Bot
Related Content
I found this, but it says it’s the worst: https://synthiam.com/Support/Skills/Audio/Total-Speech-Recognition?id=17688

the trouble is companies with that type of technology wouldn’t want you to run it locally. For two reasons

1) the processing is done on huge servers with huge sample sets from machine learning databases of millions of users 

2) they want you to pay per translation 

so for local stuff, you’re stuck with limited options. I don’t condone it, but the world has moved toward the cloud
Thanks for your reply. I thought as much. Connecting to the internet whilst connected to the EZB requires a USB dongle which often messes with the EZB connection. Hence I avoid connecting to the internet when using ARC.
#3   — Edited
I wonder if you're experiencing ezb connection issues with two WiFi modules because of WiFi saturation? WiFi connection trouble can occur when two or more networks are on the same channel.

I use a USB WiFi dongle & the built-in WiFi on my laptop for all my robots. I do this to have a network connection and use the online services (mostly exosphere). I don't experience any issues by doing so.

One way to test if you're having network issues is to use a WiFi scan tool. It shows you all the WiFi networks and their channels. You can either change the WiFi channel on the EZB or your network (if you have access to do so).  Ideally, you want your devices to use WiFi channels different from any strong WiFi channels of neighbors.

Here's the scan tool: https://synthiam.com/uploads/user/DB763BE15E695777689418BE7364E0A3/WifiInfo-635883706528703570.zip

I got it from this WiFi troubleshooting page: https://synthiam.com/Support/troubleshooting/Troubleshoot%20WiFi%20Connections

Let me know if that helps.
Thanks I'll look into that.
Back to speech recognition. It is interesting that whilst the Total Speech Recognition skill is absolutely hopeless, the $SpeechPhrase variable is always set to the spoken phrase. Whereas the superior standard off-line Speech Recognition skill, only populates the $SpeechPhrase if it matches your list. That's a pity. One is forced to use the on-line Bing Speech Recognition.
#5   — Edited
That's because standard speech recognition is built that way by comparing against a pre-defined dictionary. The reason it works better is that it only has to compare the audio to a specified list. That list becomes "a dictionary." And that's the only diction the recognizer knows. When you add the entire English language as a dictionary, there's far more chance of error because many words sound alike. But when you have only a few phrases, it is easier to identify.

The reason online speech recognizers work so much better is that they use machine learning. With machine learning, they can continually improve the recognizer with a HUGE sample set of data. There are millions of people using the online systems, which improves the recognizer. The online recognizers are so impressive that they can hear your voice amongst the background noise of other voices. Consider amazon Alexa for example. When you say the wake word, your voiceprint is tracked even if someone else starts to speak while you're talking.

Also, the online speech recognizers are using massively powerful servers that you wouldn't want to see the price tag for:)
I changed the IP address of the EZB to and it seemed to work OK with an internet connection at the same time via my USB dongle.
I had to change the camera connection also as I noticed initially this didn't work.
I didn't try changing the IP address for my router connection as the robot will be used in other locations.
I will do some more testing to make sure it is reliable.
Awesome - great to hear