R1D1
I see from looking through the forum there is a lot of discussion regarding using wireless microphones to communicate with the robot via the PC.
I'm interested in having a microphone within the robot itself so I, and others can communicate with it away from my computer. First off, can anyone tell me if they have tried this, and is it feasible as to the computer being able to discern what is being spoken due to the fact that you are not speaking directly into a microphone, but would be speaking from a distance of a few feet away?
Second, if this is feasible, can anyone tell me what method they have used to have a microphone in their robot, as respects what hardware was used and how it is connected to their computer, ie wifi bluetooth or what?
Thanks for any input.
As you say, this is an ongoing subject with mixed results using different microphones. The important points for successful speech recognition are...
Type of S/R microphones
Using a good quality microphone, preferably one designed for speech recognition, such as headset microphones which in your case would not be practical.
Software
Windows speech recognition software needs training, a LOT of training to get any decent results.
Another thing to remember is this software really only recognises the voice of the person who trained it. For it to recognise other users, you would need to create a new voice profile for these other users to get more accurate results.
Using the speech recognition control in ARC will yeald better results than say using the Pandorabot control, as it is only listen for a particular set of words or phrase you have added in to the "Speak Phrase" list, where as the pandora control is listening to anything being said and try's to match it with its library.
Something that would help with distant recognition accuracy is to use something better than Windows, which would be something like Dragon Natural Speaking software, but unfortunately it cannot be used with ARC due to the expense of the DNS SDK.
Distant Speech Microphones
This is based on the microphone used, and not so much the computer listening. Microphones designed for distant recognition is still a relatively new technology, and distant speech microphones (DSR microphones) are few and far between at the moment, especially wireless ones. One such wired microphone that is used for VoIP conference calling is the Voice Tracker 1 that connects to a computer using a microphone socket, and the Voice Tracker 2 that connects via USB or mic socket, both of which use beam forming technology to hear voices from across a room which is geared towards speech recognition as well. I haven't tried the voice tracker mic's yet as there are a bit out of my price range for something to try, but the reviews that are around are generally pretty good.
Another type of distance speech rec microphone, are digital array mic's such as the DA-350 and the CrispMic that connects via USB which I have used on a computer in the same room as the robot, with fairly good results, and are small enough to put inside of a robot with an onboard PC or using an external PC with the mic in the same room as the robot.
Below are a couple more links to mic's that other members have used with speech recognition..
X tag wireless
Snowball USB
Koss CS-100 headset Microphone jack
Here is a discussion I started a while back asking about speech recognition microphones..,
synthiam.com/Community/Questions/5982
And another discussion from @Steve Neal..,
synthiam.com/Community/Questions/8073
So in a nutshell, there are only very few distant speech recognition microphones available that would work well in a robot, but are pricey and not wireless at the moment (at least I have not come across one yet). If you google DRS (distant speech recognition) you will however find a lot of documentation on the subject. To have what you're asking would a lot of the time require a computer onboard a robot, but solutions such as wireless and Bluetooth microphones are also an option, but not very good at picking up speech from a distance. A microphone array connected to a computer that would be in the same room as the robot is another option (although the mic's not in the robot). But for an affordable high accuracy wireless or Bluetooth speech rec mic, it would have to be worn by the user. I had a play about with a pair of Apple EarPods that come with an iPhone, plugged in to a laptops mic socket, and believe it or not I got some great results using the speech recognition control with fairly accurate results up to 5 feet away from my mouth in a quiet room. The videos I posted in this ARC games thread used this.
And to finish off, with any hardware used for speech recognition, quality of hardware (normally more expensive) and software training pays off. Here's hoping one day the EZ-B v5 will have an onboard microphone or socket to connect a mic to, not just for recognition, but for streaming any audio.
At the end of the day, I think many of us here are looking for a highly accurate, affordable, easy to set up, and dynamic use (other users speech can be recognised) to do exactly what you're asking, with the three important factors... accuracy, talking at a distance, and for other people to be understood. DNS software would have went towards achieving this, but in regards to hardware, there are not many affordable solutions, especially when it comes to distance speech recognition.
Anyway, my hands getting tired now so I'll stop writing (thank goodness you say, lol), but I hope you found some of the information I gave you, useful.
@Steve What an amazing high-quality answer, thank you! This will save me from some forum/internet digging as well.
Thanks Baz, that means a lot, and your welcome. It's something I'm highly interested in, and always on the search for the way to verbally interact with our robots like we do with each other like what we see in the movies and TV shows. But as I've outlined, there are a few important variables that need to come together to achieve our goals in this area using the entire natural language our computers speech to text systems use along with DSR hardware to get the results we want.
Something else to concider, is the difference between how humans and computers hear, especially at a distance where background noise is concerned. For example, we know the difference between someone talking to us in a room and we respond, and a TV on in the background with someone talking where we don't respond (although a lot of us do when we watch our favourite sports team playing, c'mon, admit it). A computer cannot distinguish between the two and leads to false positive recognition. A speech rec microphone worn by a user can reduce this drastically, but personally I'm keen on being tethered to a computer this way when talking to a robot.
That's what is good about the beam forming technology in the DSR mic's I mentioned above. They go some way to cut out background noise and other people speaking, and home in on the user speaking. Clever stuff, but like I said, very new and expensive tech right now.
Well, the box above asks, "Was your question answered?", Wow! More than I could have hoped for. Thanks so much for taking the time to help me out with such a detailed answer. This really helps a lot. I figured more than one person had gone down this path before, and before I started adding to my "junk pile" of items purchased, but not used, I thought I would get some input.
Thanks again, this really lets me know where I stand in the whole scheme of things to accomplish what I want and where to go next. Appreciate the references for hardware as well, I'm sure you have bought some useless stuff before too, so thanks for saving me some money there.
As soon as my project has reached a point of some satisfaction, I'll post to share. Right now with what I have up and running I've already turned it into a test bed and am redesigning my robot (a little OCD).
Have a great day.
No problem and I'm glad I could help. I look forward to seeing your robot project very much. And yes, a have bought plenty of naff items in he past that promised good things, lol, so if I have saved you some cash, well that's great.