introRead Email with Arduino and Wave Shield
So basically the stuff in this instructable will
1. Check your email
2. If something's new it will convert it to a wav file
3. then it will send it to the arduino via serial
4. then the Arduino will play it
The biggest TODO is speeding up the file transfer. My idea is to have the computer send over 100 bytes or so, then wait for an acknowledgement response from the Arduino before it sends more. It would also be nice to have some error checking as well since a partial binary file isn't much better than none at all in some case.
step 1Command Line Text to Speech Utility
Here's a little utility I wrote really quick to covert text to speech. It's written in C# with the free Visual C# 2008 Express Edition . You'll probably need .Net 3.5 to run this. The code is included, but if you just want the exe you can get it in CommandLineText2Speech/CommandLineText2Speech/bin/Release in the zip file. To get the tool working you can just open up a command prompt, navigate to the directory where you put the exe, and type CommandLineText2Speech.exe. It will output this:
Usage:
To list installed voices:
CommandLineText2Speech.exe whatvoices
To convert text to a wav:
CommandLineText2Speech.exe [voice] [rate - default 0 (-10 to 10)] [volume - default 80 (0 to 100)] "[text to convert]" [output file]
In other words you'll probably want to first run:
CommandLineText2Speech.exe whatvoices
This will list out what voices you have installed on your computer. You'll need the name of a voice to run the tool. The voices that come with Windows aren't great, AT&T has some that are pretty good. Next to convert text to a wav file do this
CommandLineText2Speech.exe "Microsoft Sam" 0 80 "This is a test" test.wav
Here's what it all means:
"Microsoft Sam" - the voice, this is one that comes with Windows, you have to put it in quotes since there's a space
0 - Normal Speed (can go from -10 to 10)
80 - Normal Volume (can go from 0 to 100)
"This is a test" - The text that will be turned into a wav file
test.wav - what the wav file will be called
step 2Ruby Utility to Check Email and Upload Wav to Arduino
You'll also need the ruby serial gem, I've included that as well. To install it (after you've installed Ruby) type "gem install win32-serial-0.5.1-x86-mswin32-60.gem" in the command prompt of the directory where you download the gem to. That's all you should need for this program to work.