Small Module Allows New Products to Speak: Page 2 of 3

With home automation assistance devices like Apple Siri and the Amazon Echo, non-intrusive voice synthesis devices are becoming common.

Spanish.

 

Electrical Connections

There are only six electrical connections or pins required for wiring the EMIC 2 TTS module to an Arduino. The electrical connections consist of GND, 5V, SOUT, SIN, SP-, and SP+. The following descriptions below explain the operation of these 6 electrical connections.

          • Pin 1: GND – Device ground. Connect Arduino’s supply voltage ground (GND) to this pin.

          • Pin 2: 5V – Device power pin. Connect Arduino’s positive voltage (5V) to this pin.

          • Pin 3: SOUT – Device serial output to Arduino. A 5V TTL level interface, 9600 bps*, 8 data bits, no parity, 1 stop bit, non-inverted digital signal.

          • Pin 4: SIN – Device serial input from Arduino. A 3.3V to 5V TTL level interface, 9600 bps*, 8 data bits, no parity, 1 stop bit, non-inverted digital signal.

          • Pin 5: SP- - Device differential audio amplifier output, bridge-tied load configuration, negative side. Connect to 8ohm speaker directly.

          • Pin 6: SP+ - Device differential audio amplifier output, bridge-tied load configuration, positive side. Connect to 8ohm speaker directly.

 

home automation, ESC, Embedded Systems Conference, microcontroller, MCU, earbud, coding
A circuit schematic diagram for wiring an EMIC 2 TTS module to an Arduino. (Source: Don Wilcher)

     

DecTalk Speech Synthesizer Engine

The EMIC2 TTS Module uses a speech synthesizer called DecTalk. The DecTalk synthesizer can produce a natural-sounding voice based on the smallest memory IC footprint. The synthesizer can speak in multi-languages supporting U.S. English, Castilian, and Latin American Spanish. The 12-page document that Parallax Inc developed provides a wealth of information on maximizing the features of the EMIC 2 TTS Module. Below are examples from the Parallax document of how to set the internal feature/functions of the EMIC 2 using the DecTalk Speech Synthesizer and Arduino code.

Vx: Set the audio volume (db: Decibels)

The audio output volume of the EMIC 2 TTS module can be set in decibels from a range of -48dB (softest) to 18(loudest) using the following Arduino code. The default volume setting is 0.

 // Set volume to x: x= -48 to 18(max volume)
 emicSerial.print("V5\n");
 while (emicSerial.read() != ':');   // wait for ':' character

The speech output is sent to a bridged audio power amplifier. A Texas Instruments LM4864 bridged audio power amplifier is used to drive an 8ohm speaker with an amplification gain (AV) of 10.

 

home automation, ESC, Embedded Systems Conference, microcontroller, MCU, earbud, coding
A Texas Instruments LM4864 bridged power amplifier provides audio support for the EMIC 2 TTS module. (Source: Texas Instruments)

 

With this audio power amplifier IC and the DecTalk volume command, there is no need to add an amplifier circuit to the EMIC 2 TTS Module to obtain a suitable output level.

Nx: Select an EMIC speaking voice. There are nine voices to choose from as shown below.

0. Perfect Paul (Paulo)
1. Huge Harry (Francisco)
2. Beautiful Betty
3. Uppity Ursula
4. Doctor Dennis (Enrique)
5. Kit the Kid
6. Frail Frank
7. Rough Rita
8. Whispering Wendy (Beautriz)

The EMIC 2 TTS module’s voice can be change using the example Arduino code shown below.

// Set voice
emicSerial.print("N1\n");
while (emicSerial.read()

Comments

These modules have been around for almost 30 years and are cheaper in quantity: http://www.rcsys.com/modules.htm

Another alternative for speech synthesis is to use the Raspberry Pi. It would also be cheaper, especially using the Raspebbry Pi Zero and more flexible. For example: http://elinux.org/RPi_Text_to_Speech_(Speech_Synthesis) Off-line speech recognition is also becoming available for the RPi. See: https://aiyprojects.withgoogle.com/voice/

Add new comment

By submitting this form, you accept the Mollom privacy policy.