Speaker independent speech recognition is quite hard. The simplest and cheapest way to do it is probably to use a Microchip dsPIC. You won't need the Stamp, of course.
...use a Microchip dsPIC. You won't need the Stamp, of course.
No Stamp??? That's dsPICable! :-)
I know nothing about the dsPIC, but if it can do SISR, I'm going to find out! Do you know of any specific application examples on the web that you would recommend for SISR experimentation? I'm heading to google now, but let me know if there's a shining example out there.
You will have to build your own hardware unless you use one of the development kits that supports the software. You only need a codec chip such as the Si3000 and the dsPIC. I'm not sure if it works with the free version of the compiler, I have the full paid-for version.
I was just coming back here to edit my post to say I had found it... fantastic stuff!
I looked through the word list. I think the work done on these is fantastic- even selectable background noise types (babble, Volvo and white). It certainly looks like the best option for most standard control applications, but I'm a perfectionist for my own projects... and I want a fully custom SI phrase library :-) I will probably pick up a few of these, since the eval license for the SI library is only $5. I remember that the VR Stamp had provisions for developing SISR libraries... but they wanted a fortune ($500) for the minimum development environment to program the thing. Fortunately, with things like the dsPIC appearing, I think it's only a matter of time before we see more and more accessible and versatile SISR. I'm still very impressed with the SayIt module!
That Microchip software doesn't seem all that popular, for some reason, but that's just an impression I have. I was thinking of developing a little module using it that could be used to add speech recognition to other systems like the BS, Propeller, etc.
The newer ARM-based devices like the 1000 MIPS Snapdragon used in my Dell Streak does a very good job of recognising my speech; that's continuous speech, not isolated words.
I've seen good results for SR in even my Vaio laptop running Win7, using Dragon dictation software which is continuous speech, but that also requires training. The thing that appeals to me about things like the stamps, etc., is that they are stand-alone items.
There have been several threads on here for the propeller and SR. I think that there has recently been some pretty good advancement with a SR application using only a propeller. I'll have to revisit that as well.
For the short term, simulating SISR by having duplicate command banks for the two primary speakers in my house will suffice until I can find the "perfect" solution! :-)
Thanks for the info on the dsPIC... It's definitely going to be worth playing with- the command set seems better suited to a voice control system for my car! Hence... Another project looms!
This project has really been, for me personally, an attempt to replicate the functionality that was suggested on the old Star Trek: TNG series. I always loved the idea of just addressing the computer, telling it what you wanted it to do in plain language, and having it do it!Dave
It's a great project! With another twist, check out the latest Apple OSX which can be set up for speech recognition, with many commands to operate the computer. I don't have a Say-It module so I'm exploring speech input through the Mac computer to control the Propeller chip and Propeller chip machines like this one:
Yes, the SayIt module doesn't care what language you use, as you train the module to recognize a given command by saying the command twice using the Programming GUI that comes with the module. Any spoken language should work.
Apparently not... thought I did, but must have trashed them when I cleaned up the "development" junk I had collected along the way. If you can describe what the pics will help you with, perhaps I can help. Otherwise, I can probably re-breadboard them for your enlightenment... :-)
I just noticed a gap in the development story and the pics.Let me try and put in a honest effort first.Ive got most of the parts in,still waiting on Vstamp mainly.You mentioned PINK servers not sure how the work?Are you implying multiple units or one would work?I saw you commented on a touch screen from SparkFun is that something your thinking about adding to this project?Lastly the PCB you made is this a final version and if so would you consider making me one or making two of your final version?Feel free to PM me if you'd like.
The PINK - you'd only need one. You create a web site on it basically, a form that sets variables on the unit, and the Basic Stamp reads and resets variables.
The PC board image I have up there is the first version I made to get the project off of my breadboards and make something more compact and "finished", but it's not the final, as I will need to be using the BS2p40 to handle all the inputs and outputs when I'm done. I need at least 6 more pins, and I'm already sharing several.
As for making PC Boards... it's one of my least favorite jobs in electronics. I would do it for about $300.00 per board... that's about it! :-)
Awesome! Those 595s are a HUGE asset to microcontroller enthusiasts. As far as I know, the only limit to how many outputs you can control with the 595s is the amount of program/variable space you have on the uC. My current incarnation of the SHAS (speaking home automation system) has 32 IO lines under 595 control but I really think I could do hundreds.
My Vstamp has arrived,and I have to go to work.bummer
Any tips on gettn this breadboarded?In your photo,whats the lil yellow square (larger resistor?) and cap size?
ok I noticed some of the same type on the PDB,so I looked at the schematic and found they are surface mount capacitors.Still not sure what size and where to get them.I'll b back.
Breadbording the V-Stamp is interesting as it's wider than a single board can allow, hence my dual-breadboard approach as in the picture.
The little yellow square right next to the V-Stamp is indeed a 0.1uf cap (got 1000+ at a tag sale for $1.00!) - but it was an expedient solution that is not quite correct; the part values there determine a reset time (see the V-Stamp pinout definitions for the specific time the RC constant must hold the reset pin low/high on powerup in order for the V-Stamp to properly initialize. If you do not use the correct values, you will need to software initialize the VS twice in order to load the voice setup parameters, otherwise you get the default voice all the time.) Use the values in the demo schematic provided in the RC systems manual. Also - download the chipset programming manual which contains the full delineations of the codes you can send to the VS to set up voices, echos, delays, tones, recording/playback, etc. If you have the codes at your fingertips, this thing becomes an AMAZINGLY versatile T2S (text to speech) module with terrific voice quality. I love these things so much I ordered three of them! I just need to win the lottery to support my electronics habit!
When you get it talking, make a video! And be sure to document your code and progress up here. One of my two main reasons for documenting my project was because I couldn't find any good info for using the V-Stamp with the Basic Stamp. So once I figured it all out, I wanted it up here because the V-Stamp is SUCH a GOOD, EASY module to use with the Basic Stamp. It simply gives the Basic Stamp a voice, pure and simple, and it's so easy that, aside from the expense, it could be added to any project that could benefit from vocal feedback to the user.
Speaking, Voice Recognizing systems - I believe - are going to be the thing in the future. It is the most natural way that humans interface for data inquiry. We ask. And when we want something done, we tell. It is only reasonable to project that this is where it's all going, once the technology becomes sufficiently robust - and it's getting there. Hopefully projects like ours will be stepping stones for the next generation of hobbiests who may then become the inventors of the stuff that will be cool and new 50 years from now!
Ok, Im a little confused.should I make more changes to my code to work with the BS2sx MCU than simply changing the file type from a BS2 program to a BS2sx program.
You have to change the BAUD CONstant for the BS2sx, that's all I can think of at the moment - but I haven't used the plain old BS2 in years, so I really don't remember anything else that might need changing.
Also, remember that you have to follow a naming convention on your programs if you use multiple slots on the BS2sx so that the editor knows to load all of them in their appropriate slots. Look at how I named mine in the latest incarnation of the code I put up a few weeks back.
The ADC0831 is the Analog to Digital Converter that translates the output of the LM34 temperature sensor into a digital signal readable by the BS2sx.
Sure - you can use anything for that function if you want it in there. When I switch to the BS2p40 to get more IO pins, I'll be using the Sensirion Temp and Humidity sensor so I can get a more complete readout. I want to have indoor & outdoor sensors, and I'm looking at barometric pressure sensors so I can get a complete picture of the environmental conditions including a rudimentary forecast based on temperature and pressure changes vs. time of day. There's really no limit to what you can stick onto these things!!! Love 'em! And now I'm starting more in earnest on the Propeller, which apparently has millions of times more capability. I'm hopelessly addicted! :-)
would you say these caps are suitable for the V stamp?
I replied before I got your second post - those .1s are fine for anything where the .1 is good. Remember my caveat about the cap/resistor on teh V-Stamp's reset pin - that RC constant is important, so for a prototype build, a .1 is "ok", but not for your final build.
Very good resources, those N&V columns! They've helped me enormously. Hard to believe, when I look through these columns, that the BS2sx is already over 10 years old!
I still have this bread boarded.I havent gotten the V stamp to work yet any chance for a simple BS2 code and schematic for testing purpose?Its been awhile not sure where I left off?
The small schematic in the V-Stamp manual that shows the connections to the unit is exactly what I used. Make sure you also wire pin 2 to pin 10. Check your wiring, baud rate constants, etc. Let me know what does work so far. If the V-Stamp is wired correctly, it should be as simple as SEROUTing to it.
Also - are you using the 5V or 3.3V V-Stamp? You should be using teh 5V... but if not, remember to level-shift yout I/O.
Update me on what's happening now and I'll see what I can do.
Comments
No Stamp??? That's dsPICable! :-)
I know nothing about the dsPIC, but if it can do SISR, I'm going to find out! Do you know of any specific application examples on the web that you would recommend for SISR experimentation? I'm heading to google now, but let me know if there's a shining example out there.
Thanks,
Dave
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023596
You will have to build your own hardware unless you use one of the development kits that supports the software. You only need a codec chip such as the Si3000 and the dsPIC. I'm not sure if it works with the free version of the compiler, I have the full paid-for version.
I was just coming back here to edit my post to say I had found it... fantastic stuff!
I looked through the word list. I think the work done on these is fantastic- even selectable background noise types (babble, Volvo and white). It certainly looks like the best option for most standard control applications, but I'm a perfectionist for my own projects... and I want a fully custom SI phrase library :-) I will probably pick up a few of these, since the eval license for the SI library is only $5. I remember that the VR Stamp had provisions for developing SISR libraries... but they wanted a fortune ($500) for the minimum development environment to program the thing. Fortunately, with things like the dsPIC appearing, I think it's only a matter of time before we see more and more accessible and versatile SISR. I'm still very impressed with the SayIt module!
Dave
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023596
The newer ARM-based devices like the 1000 MIPS Snapdragon used in my Dell Streak does a very good job of recognising my speech; that's continuous speech, not isolated words.
There have been several threads on here for the propeller and SR. I think that there has recently been some pretty good advancement with a SR application using only a propeller. I'll have to revisit that as well.
For the short term, simulating SISR by having duplicate command banks for the two primary speakers in my house will suffice until I can find the "perfect" solution! :-)
Thanks for the info on the dsPIC... It's definitely going to be worth playing with- the command set seems better suited to a voice control system for my car! Hence... Another project looms!
http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain
Re; Brain Thread: Only words in my head when I saw the 100+ prop array: "Holy mother of God!"
I can't even imagine what 100 props could do, but possibly decode the origins of gravity, and the future of the universe...???
Wow... quite a project!
Much reading to do...
Dave
Are there option in this solution for hungarian language recognition?
Yes, the SayIt module doesn't care what language you use, as you train the module to recognize a given command by saying the command twice using the Programming GUI that comes with the module. Any spoken language should work.
The PC board image I have up there is the first version I made to get the project off of my breadboards and make something more compact and "finished", but it's not the final, as I will need to be using the BS2p40 to handle all the inputs and outputs when I'm done. I need at least 6 more pins, and I'm already sharing several.
As for making PC Boards... it's one of my least favorite jobs in electronics. I would do it for about $300.00 per board... that's about it! :-)
Let me know how your 545 experimenting goes.
Dave
Any tips on gettn this breadboarded?In your photo,whats the lil yellow square (larger resistor?) and cap size?
ok I noticed some of the same type on the PDB,so I looked at the schematic and found they are surface mount capacitors.Still not sure what size and where to get them.I'll b back.
http://www.rcsys.com/Downloads/v-stamp.pdf
I see a 0.1UF would this work?http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/capacitor/List/0/SortField/4/ProductID/160/Default.aspx
I see a 1UF would this work? http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/capacitor/List/0/SortField/4/ProductID/163/Default.aspx
and a 47K resistor
Breadbording the V-Stamp is interesting as it's wider than a single board can allow, hence my dual-breadboard approach as in the picture.
The little yellow square right next to the V-Stamp is indeed a 0.1uf cap (got 1000+ at a tag sale for $1.00!) - but it was an expedient solution that is not quite correct; the part values there determine a reset time (see the V-Stamp pinout definitions for the specific time the RC constant must hold the reset pin low/high on powerup in order for the V-Stamp to properly initialize. If you do not use the correct values, you will need to software initialize the VS twice in order to load the voice setup parameters, otherwise you get the default voice all the time.) Use the values in the demo schematic provided in the RC systems manual. Also - download the chipset programming manual which contains the full delineations of the codes you can send to the VS to set up voices, echos, delays, tones, recording/playback, etc. If you have the codes at your fingertips, this thing becomes an AMAZINGLY versatile T2S (text to speech) module with terrific voice quality. I love these things so much I ordered three of them! I just need to win the lottery to support my electronics habit!
When you get it talking, make a video! And be sure to document your code and progress up here. One of my two main reasons for documenting my project was because I couldn't find any good info for using the V-Stamp with the Basic Stamp. So once I figured it all out, I wanted it up here because the V-Stamp is SUCH a GOOD, EASY module to use with the Basic Stamp. It simply gives the Basic Stamp a voice, pure and simple, and it's so easy that, aside from the expense, it could be added to any project that could benefit from vocal feedback to the user.
Speaking, Voice Recognizing systems - I believe - are going to be the thing in the future. It is the most natural way that humans interface for data inquiry. We ask. And when we want something done, we tell. It is only reasonable to project that this is where it's all going, once the technology becomes sufficiently robust - and it's getting there. Hopefully projects like ours will be stepping stones for the next generation of hobbiests who may then become the inventors of the stuff that will be cool and new 50 years from now!
Dave
Also, remember that you have to follow a naming convention on your programs if you use multiple slots on the BS2sx so that the editor knows to load all of them in their appropriate slots. Look at how I named mine in the latest incarnation of the code I put up a few weeks back.
The ADC0831 is the Analog to Digital Converter that translates the output of the LM34 temperature sensor into a digital signal readable by the BS2sx.
http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/ds1620/List/0/SortField/4/ProductID/84/Default.aspx
which does the same thing in a single IC correct?
the BS2sx I thought that as well
http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/capacitor/List/0/SortField/4/ProductID/160/Default.aspx
would you say these caps are suitable for the V stamp?
I replied before I got your second post - those .1s are fine for anything where the .1 is good. Remember my caveat about the cap/resistor on teh V-Stamp's reset pin - that RC constant is important, so for a prototype build, a .1 is "ok", but not for your final build.
Very good resources, those N&V columns! They've helped me enormously. Hard to believe, when I look through these columns, that the BS2sx is already over 10 years old!
The small schematic in the V-Stamp manual that shows the connections to the unit is exactly what I used. Make sure you also wire pin 2 to pin 10. Check your wiring, baud rate constants, etc. Let me know what does work so far. If the V-Stamp is wired correctly, it should be as simple as SEROUTing to it.
Also - are you using the 5V or 3.3V V-Stamp? You should be using teh 5V... but if not, remember to level-shift yout I/O.
Update me on what's happening now and I'll see what I can do.