SpeakJet Shield v1.3, v1.4
"Your Arduino (or other micro) can talk, sing, and play sound effects
!"

(Note: SpeakJet Shield TTS Deluxe v1.1 shown in this video)

This kit is now available in the DroidBuilder Store!


The SpeakJet Shield is an audio shield for the Arduino that allows you to add synthesized speech and sound effects to your Arduino projects. It could be used in many different ways:  a talking clock, DIY talking GPS, talking robots, motion based alarms and sound effects etc ...

The speech has a very "male - robotic" quality to it, but you can make it say anything you want, on the fly!

Description:

With the SpeakJet Shield, your Arduino projects speak and make sound effects! The SpeakJet Shield is a self-contained voice and complex sound synthesizer. The SpeakJet IC used in this shield has an internal five channel sound synthesizer that can generate on-the-fly, unlimited vocabulary speech synthesis and complex sounds. The SpeakJet  IC is preconfigured with 72 speech elements (allophones), 43 sound effects and 12 DTMF Touch Tones.

The SpeakJet Shield v1.3 is available in several variations, the "TTS (text-to-speech) Deluxe" kit (which includes a speaker kit), a "TTS (text-to-speech)" kit (without a speaker kit), and as a bare PC board. These shields are kits... Arduino and assembly tools are not included!

The SpeakJet Shield connects to an Arduino board using long wire-wrap headers which extend through the shield. This keeps the pin layout intact and allows another shield to be stacked on top.

Key features:
  • Arduino compatible shield footprint.
  • Output is mono, into L and R channels, standard 3.5mm headphone jack and a connection for a speaker that is switched on when the headphones are unplugged.
  • Stackable! The SpeakJet Shield is easily stacked with other Arduino shields.
  • In v1.3,  external "break-out" connections have been added for use with other MicroControllers (PicAxe, Stamp, Raspberry Pi, etc...)!
  • In v1.3, the I/O connections have been moved away from the Arduino "external interrupt" pins 2 and 3 to allow easy use of these pins!
  • In v1.3, additional connections have also been added so that I/O conflicts with other stacked shields can be resolved!
  • The SpeakJet Shield has a very light I/O and memory footprint. Programs using this shield can often be written with only a few lines of code! This does not require most of your Arduino's memory resources like software-based speech synthesizers.
  • On-the-fly speech and complex sound synthesis.
  • Easy configuration changes.
  • TTS and TTS Deluxe versions feature on-the-fly English text-to-speech capability!
  • RoHS Compliant
Skill level: Intermediate

It is expected you have some experience with building electronic kits and with programming the Arduino. Due to the sensitivity of some of its components, the SpeakJet Shield is not suggested as a beginning kit. Any kit parts made inoperable by improper installation or use may be replaced at retail cost.

SpeakJet Shield TTS and TTS Deluxe:

The "TTS (text-to-speech)" version of the SpeakJet Shield can speak English text or make sound effects with simple programming! This is the easiest version of the SpeakJet Shield to program; even novice programmers can have access to on-the-fly text-to-speech as well as built-in SpeakJet sound effects, giving their Arduino projects a little extra flair.

The SpeakJet Shield TTS can also be easily configured to run as a SpeakJet Shield Basic, just by moving  a shorting block.  This gives an advanced programmer full access to the SpeakJet chip.

The TTS256 speech processor used in this shield uses a 600 rule database to translate ASCII text to speech, with good accuracy on most sentences. While I think it does a pretty good job; I guarantee that it will mispronounce some words! Often, a bit of creative misspelling on your part will help.

The "TTS Deluxe" kit includes the SpeakJet Shield TTS and adds a speaker kit which contains a 50mm (2-inch) speaker, speaker cable, a right-angle header and connector.

SpeakJet Shield Basic:

The "SpeakJet TTS" and "TTS Deluxe" versions can be reconfigured to a "Basic" configuration if desired. This configuration is a bit more complex to program, but it allows you to directly program the SpeakJet IC itself, giving you tremendous control over the pitch, rate, bend, and volume of the sound effects. In this configuration; you have the ability to produce unlimited phrases and thousands of sound effects!

A Quick Tour of the SpeakJet Shield
    
    SpeakJet Shield versions v1.1 & v1.2 (Click on photo to enlarge)

     SpeakJet Shield TTS v1.3 guided tour
    SpeakJet Shield version v1.3 & v1.4 (Click on photo to enlarge)

SpeakJet IC - codes sent to it are converted to speech sounds or sound effects.

TTS256 text-to-code processor - converts English text to SpeakJet speech codes (note - comes with the TTS and TTS Deluxe kits but is not provided with the Basic kit).

Audio amplifier - amplifies the sounds output by the SpeakJet IC to a level strong enough to drive a speaker or headphone.

Volume trimpot - is used to adjust the loudness of the speech/sounds from the audio amplifier.

Earphone jack - a headphone, speaker, or external amplifier can be plugged in here to listen to speech/sounds.

Speaker connection - an external speaker may be connected here. Is disabled when the earphone jack is in use.

Power LED - indicates power is applied to the shield.

Configuration post shunts - the shunts are used to configure the SpeakJet Shield. They are used to select either direct Arduino -> SpeakJet connections, or Arduino ->TTS256 -> SpeakJet connections.

Busy LED - indicates the SpeakJet Shield is speaking.

Reset button - press to reset the Arduino and SpeakJet Shield

Specifications:

Dimensions                      2.7 x 2.1 inches (standard Arduino footprint)
Input voltage from Arduino      5V
Current draw                    ~30 mA
Speaker impedance               8 ohms
Speaker power output            ~0.6 watt
Arduino pins used (v1.1, 1.2)   +5, Gnd, Reset, Digital 2, Digital 3, Digital 4 (see note 1 below)
Arduino pins used (v1.3)        +5, Gnd, Reset, Digital 5, Digital 6, Digital 7 (see note 2 below)

Note 1: SpeakJet Shield v1.1, v1.2 may not be compatible with shields using these digital pins!
Note 2: SpeakJet Shield v1.3 may not be compatible with shield using these digital pins. Other digital pin configurations are possible with simple user modifications required!

Compatibility:

The SpeakJet Shield TTS is compatible with Arduino UNO, Duemilanove, Diecimila and many other Arduino clone boards. The SpeakJet Shield TTS should be compatible with shields that don't exclusively use (v1.1 & 1.2) digital pins 2, 3 or 4 (v1.3) digital pins 5,6, or 7. The Arduino Shield List maintains a list of Arduino shields and what pins are used by them. This can be useful for determining compatibility with other shields.

Documents/Tutorials: 

SpeakJet Shield v1.3 v1.4 Parts & Assembly

SpeakJet Shield v1.3 v1.4 Parts List - what parts are needed to build.

Assembling the SpeakJet Shield v1.3 v1.4  - covers building and testing

Speakjet TTS (text-to-speech) Programming Tutorials

Programming the SpeakJet Shield TTS - simple programming example for the Arduino.

Advanced Programming for the SpeakJet Shield TTS  - how to add sound effects and voices to the SpeakJet Shield TTS sketches.

Other Pages:

References and Sources

Downloads

Note: The SpeakJet Shield documentation and software examples are under development and may change at any moment without notice...

Licensing:

The documentation and source files for the SpeakJet Shield TTS/TTS Deluxe are released under a  Creative Commons Attribution-Share Alike 3.0 License. All new works based on the information presented in the SpeakJet Shield Basic/TTS documentation must carry the same license. If you wish to negotiate other license terms;  contact me by email.

Version History:

SpeakJet 1.0 - Original PCB design, prototypes sent to beta testers 
SpeakJet 1.1 - Revised version of the 1.0 board, first production board release.
SpeakJet 1.2 - Revised reset - reset removed from TTS256 as logic levels are reversed for TTS 256
SpeakJet 1.3 - Revised layout, connectors rotated to other side of board, added Parallax gpio 
SpeakJet 1.4 - Moved C7 and speaker connectors to minimize shorting issues on Arduino board USB connector

Attribution:

The Author must be attributed in any future modification or redistribution of the SpeakJet Shield Basic/TTS documentation.

Disclaimer:

I have taken every opportunity to make the SpeakJet Shield documentation as thorough and correct as possible. That said, all of the information in this website is subject to change or may be unintentionally erroneous. Further, working with electricity and tools always carries the risk of injury, and perhaps death. The documentation is intended to assist even a beginning electronics hobbyist to successfully build a SpeakJet Shield, yet still expects a baseline knowledge of tools, electricity and shop safety. I am not responsible for any injury or damage caused by this product or in relationship to this documentation, whether the injury occurs during construction or in conjunction with the operation of the completed device.
 
Also, the builder/user must understand the SpeakJet Shield device operates only by user controlled programming and is incapable, on its own, of providing warning or alerts of any kind.

If you follow the SpeakJet Shield assembly documentation to the letter and find that your device doesn’t work, feel free to email me. I am happy to help up to a point, and may even offer to repair your assembly (if you are really nice) but please be aware that I offer no warranty or guarantee that this kit will function. I assume no financial liability in the event that you are not satisfied for any reason.


SpeakJet Shield TTS/TTS Deluxe by Galen Raben is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
Permissions beyond the scope of this license may be available at email DroidBuilder.com.

© 2012 Galen Raben/DroidBuilder.com