Teaching your Gadgeteer project to speak...
Need Text to Speech for your next Gadgeteer project? Brett has your back...
Back in July 2012, I saw a post on Dangerous Prototypes that highlighted EMIC-2, a new board available from Parallax that was designed by Joe Grand of Grand Idea Studios. EMIC-2 is a speech to text module, that allows you to add speech output to microcontroller projects – well actually, anything that has a serial UART – and it’s as simple as sending it the text that you want it to say, and it speaks !
I was really interested by this – not for any particular project I had in mind, but just in a general sense. It however was going to be yet another project to go on the long long list….. But being the way I am, I checked online and saw that the EMIC-2 module was out of stock – wow, first run batch sold out very quick, so I guess I can ignore that for a while
Anyway I was listening to a podcast in the car one day (Gadget Gangsters – now seemingly gone the way of the dodo) and they mentioned Joe Grand and the light went on again. When I got home I checked the web, and found that the EMIC-2 was in stock – so I went and ordered one. Of course, the next day I get an email saying that they had no stock and my order would be a few weeks before it’d be able to be delivered – so the project really went to the bottom of the list.
Eventually I get a parcel note at the post office, and on collection it turns out it’s my EMIC-2 – so of course, all other projects go on hold and the EMIC-2 takes pride of place on the “most current project board”, i.e. the centre of the desk.
Starting to talk to EMIC-2 was pretty much a snap. As a UART device, I find the simplest way to avoid any mishaps or unknowns is to use a USB to serial module and a terminal program – connect the UART device to the USB–>Serial and start typing. So out comes my cheap-as CP-2102 USB adapter (under $3 each on eBay, buy a few!) and connect it up. Yes, as usual, I suffered UART Dyslexia so a quick switch of the wires and I was able to press Enter on the PC and see a response in the terminal program
Above is the video where you can hear the module at work. Sorry it’s a bit long (and boring) but it shows off a few features like the many voices the board supports.
Code comments and suggestions best left on the tinyCLR forum [GD: the link has moved to here]; see you over there soon !
This project showcases two things - first, it showcases the initial driver I've created to allow you to use the EMIC 2 device on a Fez device. Secondly it showcases the Gadgeteer adapter module I've created for the EMIC 2 module from Parallax.
This driver should work on any device running NetMF 4.1 or 4.2, Gadgeteer or not - it doesn't leverage the Gadgeteer serial port framework for instance.
The example app can be used to see how easy the module is to use. You can also hear the output from the example app on the video. It uses a Joystick pressed event just as a trigger to make the module speak.