Instructables

Nunchuck text-to-speech unit. Very low cost TVout/Arduino based

FeaturedContest Winner
Picture of Nunchuck text-to-speech unit. Very low cost TVout/Arduino based
Purpose:
Lowest possible cost text- to-speech unit for the disabled, possibly in developing countries. Stand-alone (i.e. not PC based)

Input device:
Unmodified Wii Nunchuck.
In this example I am using the thumb joystick to navigate the text menu but could also be done by tilting the 'chuck and using the accelerometers (position sensors) inside.
Letters are selected by pressing one of the two buttons on the front of the Nunchuck.

Display:
Connects to any normal TV (PAL or NTSC) via standard yellow "video in" plug.

Computer:
Arduino board - turn on the power (battery) and you are ready to go.

Software:
Based on the MIT "TV-out" system which cleverly lets an Arduino "trick" a TV into displaying a basic picture without using any sort of graphics or video card.
I have modified this software to produce a simple alphabet from which you can select letters and make words with the nunchuck. This has to be done within the limitations of the Arduino as the TVout software uses a lot of the RAM to generate the picture.

Speech conversion:
The selected words are then sent to a serial "text to speech" module connected to a small loudspeaker. This gives the spoken text.

Cost:
Total cost < $100.

Other input options:
- If a wireless nunchuck is used, the user can move with no connecting wires so long as TV is in the room somewhere nearby.
- Currently uses 2 Arduino boards (one decodes the Nunchuck data). If a simple keypad or set of switches were used instead, a single Arduino would be enough to do everything. I am a big fan of the Nunchuck as an input device though.


 
Remove these adsRemove these ads by Signing Up
diy_bloke2 years ago
You really need two Arduino's for this? Is that because the program is too big??
Seems a bit of overkill
ah I see, because of memory needs
litteltoby2 years ago
what would you need to change to the code in order to make it work with EMIC2
shortdiesel3 years ago
Very cool. Very cool. I like projects that can benefit people.

If I were up to the challange I would control my Android phone with the Wii remote (or even a device that can scan eye movements) and use the built in text to speech capability to have it on the go. Is anyone aware of pulling something like this off?
Emiliogiz4 years ago
Y'know, it's cheaper to use a wii nunchuck adapter than buy the extension cable. It also doesn't permanently embed the arduino. Both Sparkfun and Solarbotics sell them:
http://www.sparkfun.com/products/9281
http://www.solarbotics.com/products/31040
WingDings4 years ago
Nice! There's some great Engrish on the controller extension pack, too! :)
rrrmanion4 years ago
a few adaption could make this mass (instructable) market:

-small screen on a wrist strap as opposed to big TV.
- speakers mounted on the user, instead of a small loudspeaker by the TV.
-perhaps a less expensive control device than a Nunchuk, because you only need a joystick.
XenonJohn (author)  rrrmanion4 years ago
Thanks for the comments.
1) Speaker is currently with the user. When I get time I will use 2 of the really tiny "Nano" Arduino's you can get + Battery + speech unit + speaker all in a little black box with chuck socket hanging out.

2) It would be great to get rid of the TV and use a monocular head mounted display (you can still see what you are doing at the same time). You can buy these but they are serious money - the military use them to beam information to soldiers.
However, I did make one as an Instructable some time ago here:
http://www.instructables.com/id/Glasses-mounted-video-display-to-one-eye-turn-yo/

This would make you completely self contained with respect to text-speech and you would not need any sort of flat screen in front of you.

3) I agree a simple joystick would mean you could do all this with just the one arduino.

4) Predictive texting is beyond my coding ability and not sure if Arduino could handle it. If I add anything to the current code the screen display stops working so I suspect I am already nearing limits. TVout uses a lot of the Arduino. A menu of common words might be a lot more do-able. I will look into that.

5) This originally developed from a PC based version I made, again using a nunchuck: http://www.youtube.com/watch?v=mee7QArmaWE

6) Re: wrist mounted display:
Easiest way would be to make a similar system around a Serial-LCD liquid crystal display. These are available with up to 4 lines of 20 characters. This would avoid using TVout and free up memory for word menus and so on.
You might be able to display alphabet on upper 2 lines and the written text on the lower two. If anyone thinks this would be of practical value I would be happy to do an Instructable.
dude, that would be awesome, and then you could do loads of adaptations an different versions
hey you know theirs a ps2 keybord input library out their for the arduino , might make your life easyer, also if you use a serial display, you could essentially make an open source version of the speak and spell
XenonJohn (author)  kyle brinkerhoff4 years ago
Hi,

True but I am thinking of someone more like Stephen Hawking with pretty minimal movement of one hand. With the Nunchuck, with slight code modification, you can use movement to operate it if you cannot work the thumb joystick so it gives you a number of potential input options all at a very low cost.
Below that level of function you are then looking at eye tracking or something along those lines.

For people who have enough function to "text" on a smartphone I have seen something somewhere on the web where a disabled person used an Android phone with software to convert the text to speech - with a toy megaphone plugged into the jack intended for the earpiece of the phone.
Man for a concept idea this is awesome as, works great, and has sooo much capabilities and things that it could potentially do, great job!! :D!!
thepelton4 years ago
Nice idea! If I were making it, I would add a list of the most common 2-3 letter words, such as "The, In, On, For, As, ..." Otherwise Very well done!
if you really wanted to be clever, you could use the same technology used for texting on phones, to recognize what is being typed,