Go Down

Topic: Speech recognition (Read 2522 times) previous topic - next topic

tech912

i wanted to use arduino for speech recognition. Is it possible for arduino to detect words such as lights ... or on .... and what circuit should i use. I do not want to use ready made shields for speech recognition.

wizdum


I do not want to use ready made shields for speech recognition.


Why?
"Anyone who isn't confused really doesn't understand the situation."

Electronic props for Airsoft, paintball, and laser tag -> www.nightscapetech.com

sbright33

I've done this with Electric Imp.  Only a few lines of code.

http://forums.electricimp.com/discussion/937/speak-to-your-imp-over-the-phone#Item_10
If you fall... I'll be there for you!
-Floor

Skype Brighteyes3333
(262) 696-9619

tech912

cause i'm doing it as my college project

PeterH


cause i'm doing it as my college project


Then presumably you know what needs to be done to recognise speech and have some idea how to go about implementing it in hardware and software?

If your answer is "No, I don't know where to start" then you've chosen the wrong project.
I only provide help via the forum - please do not contact me for private consultancy.

Robin2

Do you have a link to the project that doesn't require a login?

...R


I've done this with Electric Imp.  Only a few lines of code.

http://forums.electricimp.com/discussion/937/speak-to-your-imp-over-the-phone#Item_10


tech912

i am designing my pre amplifier ....  but can i directly use the mic's ouput in arduino using aref(INTERNAL) which would give me 1mV resolution  ..?

msb4180

I think my post can help you out: http://arduino.cc/forum/index.php/topic,139333.0.html.

I used BitVoicer for the speech recognition part and an electret microphone from Sparkfun.

Just a tip: microcontrollers do not have the processing power nor the memory to perform reasonable speech recognition, so you will need external help.

James C4S


I do not want to use ready made shields for speech recognition.

Then, no.  You can't.

Your 8-bit microcontroller with 2K of RAM and A/D that effectively samples at 10k/s (about half of what is required for decent voice capture) cannot by itself do speech recognition.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

Magician

Here is the project: http://coolarduino.wordpress.com/2012/10/18/speech-voice-recognition-remix/
As memory size is limited, words length 1 second, which is enough even for two short words phrase. Vocabulary could be stored on SD card, add up a shiled

sbright33

Sorry I didn't realize it wasn't a public forum.  Here's the code to show how easy it is on Electric Imp:

Agent:
function sendTwilio(){
local response =
http.post("https://api.twilio.com/2010-04-01/Accounts/ACae249c17f97/Calls.json",
{"Authorization":"Basic QUNhZTI0OWM4OWYwZjA4NDg2OTBjOTRhN"},
"From=%2B18055551212&To=%2B18055551313&ApplicationSid=AP5714e4d49").sendsync();
if(response.statuscode==201) server.log("Calling soon");
else {
server.log(response.statuscode);
server.log(response.body);
} }
device.on("sendit",function(s) {
sendTwilio();
} );

function mywebserver(request,res){
t<-http.urldecode(request.body);
device.send("sendbody",t.TranscriptionText); //speak.xml
res.send(200,"okay");
}
http.onrequest(mywebserver);
server.log("Start Agent");

Device:
imp.configure("Call1", [], []);
agent.on("sendbody",function(value){
server.log(value);
});
agent.send("sendit","notused");

//All you need to setup is line 3,4,5
//Account ID, authorization Base64, From, To, App ID
//The App can run any Twiml script you like:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="woman" language="fr">
Please leave a message BEFORE the tone.</Say>
<Record maxLength="20" action="x"
transcribeCallback="https://agent.electricimp.com/o0oLaaaa&quot; />
</Response>
If you fall... I'll be there for you!
-Floor

Skype Brighteyes3333
(262) 696-9619

JoeN

#11
Apr 26, 2013, 04:13 pm Last Edit: Apr 26, 2013, 04:34 pm by JoeN Reason: 1


I do not want to use ready made shields for speech recognition.

Then, no.  You can't.

Your 8-bit microcontroller with 2K of RAM and A/D that effectively samples at 10k/s (about half of what is required for decent voice capture) cannot by itself do speech recognition.


I would agree that this is not an 8-bit type project.  I don't completely understand that Electric Imp idea but I think the general idea is to consume a web service to do the voice processing.  If that is the case, I know you can make HTTP calls from the Ethernet Shield (i.e.  http://arduino.cc/en/Tutorial/WebClient).  So it would be possible, I guess, to maybe grab audio off a mic, throw it onto an SD card, and then send that off to a web service, and maybe get something back actionable.  But this is all pretty complex for Arduino and certainly will require a connection to a backend service to make it work.  I've done voice recognition on Windows - there is a built-in API for it that almost nobody has ever heard of - http://en.wikipedia.org/wiki/Microsoft_Speech_API.

I just looked at the Imp.  I never even heard of the Electric Imp before.  Seems like a really cool device, but you have to go through their cloud which means a lot of setup and you rely on them being in business next year.  Too bad Google didn't think of this.  I guess this is totally viable for a project.  You still have to do your speech recognition in the cloud, but it makes sense to me that that is really the only viable place to do it.  Nice product - it is a third the price of the WiFi Shield.

https://www.sparkfun.com/products/11395
I have only come here seeking knowledge. Things they would not teach me of in college.

eci22

You can use an android device to do the speech recognition (You can use app inventor if you dont want tose the SDK) and send the result to the arduino over bluetooth

sbright33

Love the Imp!  I'm on my 10th project in under a month...

http://electricimp.com/product/
If you fall... I'll be there for you!
-Floor

Skype Brighteyes3333
(262) 696-9619

Go Up