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.
Remove these ads by
Signing UpStep 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
| « Previous Step | Download PDFView All Steps | Next Step » |







































You can just let the computer do all the work with its own speaker
The idea here is that you'd probably be using an XBee or something like that to read your email somewhere away from your computer (i.e. in the kitchen while you're making breakfast). The other use for this would be something like the "Sound Switcher" project I mentioned earlier where you have an external music device (like an iPod) and you want the music interrupted to let you know you have an email. Depending on what the email is you may not want to stop what you're doing to check it, which is why it reads the subject line. Since I wrote this Sparkfun has started selling a SpeakJet shield, which could then do the text to speech conversion on the Arduino with the shield, no computer needed.
Really, I was using this project to see if I could send data from a computer to an SD card attached to an Arduino and then do something with it. So you're right, the uses of this particular implementation of the idea is somewhat limited, but the idea of transferring data over serial from a computer to an SD card attached to an Arduino has other applications.