Text-to-Speech Module - Emic 2

Ever wish your project could just speak up and *tell *you what's going on? Why not give it a voice? The Emic-2 Text-to-Speech module makes it really easy to give voice to your embedded projects.

The Emic-2 was designed by Parallax in conjunction with Grand Idea Studio to make voice synthesis a total no-brainer. Simply connect the Emic-2 to a 5VDC power supply, connect a speaker to the speaker output (or 1/8" headphone jack) and send it a stream of serial text at 9600bps. The module contains all of the smarts necessary to parse the text into phonemes and then generate natural sounding speech, all your controller has to do is send serial strings.

The command set for the module is entirely comprised of ASCII-based printable characters and allows you to change languages (English or Spanish), change between 9 different voices, and even control speech parameters on the fly. The module also communicates back to your system so you can get settings, version information and even "finished speaking" flags back from the board.

If you've ever thought about building a robot that sings your twitter feed or wakes you up in the morning with random snippets of beat poetry, this is the way to do it!

  • Single row 0.1" header for easy connection to a host system
  • Power requirements: +5 VDC
    • 30 mA idle
    • 46-220 mA active (depending on speech parameters and output load)
  • Communication: Asynchronous 9600 bps serial (8N1)
  • 1.25"x1.5"x0.37" (3.17x3.81x0.94cm)

Text-to-Speech Module - Emic 2 Product Help and Resources

The Uncertain 7-Cube

March 8, 2013

The Uncertain 7-Cube is a non-committal, less-than-helpful, but also entirely honest fortune teller. Simply ask it a yes or no question, give it a nudge, and the 7-Cube will dutifully inform you that it doesn’t have all the facts and doesn’t feel comfortable making a guess.

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

1 Electrical Prototyping

Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • OHoilett / about 9 years ago / 1

    Serious question, is there a reason why this exact module is so much cheaper on Adafruit? https://www.adafruit.com/products/924

  • OHoilett / about 9 years ago / 1

    For anyone who is looking for a demo, click the "Project Tutorial" link, not the "Product Video."

  • Member #224236 / about 12 years ago / 2

    Hello all, I was wondering how does this compare to the SpeakJet IC?

    • Seamus / about 12 years ago * / 2

      Having used both the SpeakJet and EMIC2 in projects, there's really no comparison between the two of them.

      The output of the SpeakJet is fairly mechanical and uninflected - think along the lines of the old SP0256-AL2 or SC-01A speech synthesizer chips from the 1980s. You can use some tricks to make it sound more natural and add a bit of intonation, and adding the TTS256 text-to-speech chip makes it a LOT easier to use (The SpeakJet includes no text parsing on its own), but it's always going to give you fairly rough and "gritty" speech.

      In contrast, the output of the EMIC2 sounds a whole lot better, with much smoother-sounding voices (plural), thanks to the use of a much more recent generation of speech synthesis. The EMIC2 has text-to-speech built into the module, simplifying hookup and giving the unit a much smaller footprint.

      The cost of the SpeakJet-plus-TTS256 combination is just about the same as the EMIC2 module. Neither one will pass for human-generated speech, but the EMIC2 produces much more intelligible output, while the SpeakJet can be somewhat garbled at times, unless you know what to expect. In addition to the phonemes for generating speech, the SpeakJet does include a number of bleeps, bloops, alarms, and robot sounds, as well as a selection of DTMF tones, which the EMIC2 module does not.

      The text-to-speech functions of both solutions can sometimes require some "creative spelling" to avoid mispronouncing words, so certain real-world functions - say reading text files aloud, for example - will always produce some questionable results, but I'd say that the EMIC2 probably has a better/larger set of rules than the TTS256 does.

      Given the performance of the two and the nearly-equal cost, unless you are specifically looking for a coarse, gritty speech reminiscent of the 1980s, I'd suggest the EMIC2 as the better value for the money, with the ease-of-use and smaller footprint as considerable bonuses. The EMIC2 just sounds a lot better, has multiple parsing options, and has multiple voices with variable inflections.

      I use the EMIC2 for voice feedback on my roverbot project to provide status messages without having to try to read an LCD on a moving robot. The SpeakJet is currently part of a homebrew Arduino shield with a TTS256, reading Twitter updates out loud.

      EDIT.... Re: the cost being nearly the same - I was thinking along the lines of the TTS256 plus the Voicebox Shield from Sparkfun, which uses the SpeakJet chip at its core. I see now that you can in fact buy just the bare SpeakJet chip as well. Buying the SpeakJet-plus-TTS256 combo as bare chips is in fact less expensive than the EMIC2 module, but I'd still spring for the difference and go for the EMIC2 and all of its benefits over the Speakjet combo.

      • Roomfullotrains / about 12 years ago / 1

        But, if you can live with just 512 discrete output files, you can buy a recorded-sound module like Sparkfun's WTV020SD for $20 plus a micro-SD card. Then you could use the very best computer-generated speech, or your own voice, or the voice of anyone you could persuade to read the samples. I do agree though, arbitrary text to speech is the cool way to go.

  • Hoffmann / about 12 years ago / 2

    French language ? I wish...

  • SlyVixsky / about 12 years ago / 2

    Reading through the user guide, the built in demonstration of a "singing voice" uses the classic "Daisy Bell" we all know from 2001: A Space Odyssey :D looking forward to this weeks new product video!

    • tetsujin / about 12 years ago / 1

      It's not just from "2001" - the song "Daisy Bell" was one of the early demos of voice synthesis technology at Bell Labs.

      • SlyVixsky / about 12 years ago / 1

        I'm well aware of its history as one of the earliest uses for computer voice, looked it up years ago when i first watched the movie :) still wish there were more affordable PC side voice synthesizers though

    • we didn't use it in the video this week, we did talk about it a few weeks back when we built the uncertain 7 cube.

      • SlyVixsky / about 12 years ago / 1

        aww, and here i was looking forward to Dave meeting HAL :)

  • Member #426652 / about 10 years ago / 1

    Awesome, but kind of expensive.

  • Member #511394 / about 10 years ago / 1

    The data sheet infers you can attach a speaker for output but it will not drive either your "thin speaker" or the 2" 0.5W speaker. You apparently need at least your little mono amp TPA2005D1 to get any sound out but when you do it works great.

  • philomech / about 11 years ago * / 1

    Nick Lamprianidis at Codebender's Blog has recently created an Arduino library for this module. I've worked with it for a few projects and it seems to work well as long as one doesn't have too many strings to say and/or send to the serial monitor (the library takes up quite a bit of memory). So, if one is looking for an easy way to give a voice to his/her next project using the Emic2 and doesn't mind the memory consumed by the library, it's definitely worth checking out. One can locate the library and a video tutorial via a Google search. keywords: codebender's blog emic2

  • Member #486756 / about 11 years ago / 1

    I've got a strange signal coming out of mine: I've got it hooked up to a ProtoShield board with Sin on D4 and Sout on D3. It can receive signal, the red LED lights when it's supposed to, and it speaks, but there is a 1Hz pulse coming out of it. I don't know why. Anyone have this issue? Or does anyone know what to do?

  • Member #400528 / about 11 years ago / 1

    ist possible to speak variable for example time

  • Member #401698 / about 12 years ago / 1

    I like this, but i like the speakjet. Wich is better. theres only one way to find out, a FIIIIGHT

    • insultcomicdog / about 11 years ago / 2

      I've used both the SpeakJet and EMIC2 in one of my Arduino projects. I made this short demo to help others decide between both of these TTS solutions.

      Yo Homes Smell Ya Later: SpeakJet VS. Emic 2 Text-To-Speech Module Rap Battle:

      https://vimeo.com/69137939

    • Stephen Hawking Rap Battle?

  • This is going to be very helpful for my summer project....but I wish I could afford it!!

Customer Reviews

4.3 out of 5

Based on 8 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Really slick

I got your Emic 2 and within 20 minutes had it up and running. It's small size is misleading as it simply does the job. Looking forward to using it for Halloween.

One of the best product

Amazing product to include text to speech in your project. Just hook up to UART and you have text to speech. No extra configuration, no extra components needed. Though female voices are not that good, but I liked this product.

Sout didnt work

Seems i received a faulty module cause Sout doesnt work at all. Never got any ':' response. or any form of response for that matter

I'm sorry to hear you're having problems with the board. If you contact our tech support team, they should be able to help you resolve the issue.

Works Great

Do you know what a tape measure is??? Well, how about a tapeless measure??? That's right, the ultra sonic range finder gets the distance and then the Emic 2 gives it to you in nice plain English. Or Spanish if you prefer. How high is this desk??? Emic 2 says "32 Inches". It's super simple. I like it. A lot.

Make a nice day ... ><>

Great and very easy to use module

Module is very easy to connect using serial (hardware or software based) pins. I below video link you can see my demo using Arduino DUE hardware serial.

https://www.youtube.com/watch?v=fWgbdwZ_0KE

Pretty good speech -- this module works great

Some words, like "four", are difficult to understand. Trying to give it phonemes to fix words that are difficult to understand does not work well. (Let me know if you figure out what to send it to get "four" more intelligible.) I estimate that at least 90% of common English words are intelligible on first hearing. If you give it a number, it translates it into the spoken number (neat). I tried different voices, and all are about same intelligibility. If you give it something else to say while it is still speaking, it discards the new message (does not stack it). You can abort the current message, wait for it to respond with a colon, then give it the next thing to speak - that works -- or sit and wait for the colon - but what if the colon gets lost? Maybe look at the status LED? The RED/GREEN LED is RED while it is speaking, but it has no output pin, so you would need to tap into it. The volume setting works great (in dB). I am driving a 2-inch speaker from the chip - at maximum level, it is loud enough to clearly hear it from up to 20 feet away. I don't know the function of the processor in front of the speech chip - is it parsing the text into phonemes before it hands it to the speech chip? I think it is. I have not yet looked at the raw serial input to the speech chip, so I don't know (yet).