Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

How to Use emic-2 TTS module: Examples, Pinouts, and Specs

Image of emic-2 TTS moduleDesign with emic-2 TTS module in Cirkit Designer

Introduction

The Emic-2 Text-to-Speech (TTS) module is a compact and versatile device designed to convert text input into natural-sounding speech. It supports multiple languages, including English and Spanish, and offers adjustable speech parameters such as volume, pitch, and speaking rate. This module is ideal for applications in robotics, assistive technology, interactive kiosks, and other projects requiring audio output.

With its simple serial interface, the Emic-2 can be easily integrated into microcontroller-based systems, including Arduino, Raspberry Pi, and other platforms. Its high-quality speech synthesis makes it a popular choice for developers looking to add voice capabilities to their projects.

Explore Projects Built with emic-2 TTS module

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of ESP32-Based GPS Tracker with Audio Input: A project utilizing emic-2 TTS module in a practical application
ESP32-Based GPS Tracker with Audio Input

This circuit features an ESP32 microcontroller connected to an INMP441 microphone and a GPS NEO 6M module. The ESP32 is configured to communicate with the INMP441 via I2S (Inter-IC Sound) using its D32, D33, and D25 pins for the clock, data, and word select lines, respectively. Additionally, the ESP32's TX2 and RX2 pins are used for UART communication with the GPS module, allowing the microcontroller to receive GPS data.

Open Project in Cirkit Designer
Image of ESP32-Based Portable Smart Speaker with Audio Input Processing: A project utilizing emic-2 TTS module in a practical application
ESP32-Based Portable Smart Speaker with Audio Input Processing

This circuit features two ESP32 microcontrollers configured for serial communication, with one ESP32's TX0 connected to the other's RX2, and vice versa. An INMP441 microphone is interfaced with one ESP32 for audio input, using I2S protocol with connections for serial clock (SCK), word select (WS), and serial data (SD). A Max98357 audio amplifier is connected to the other ESP32 to drive a loudspeaker, receiving I2S data (DIN), bit clock (BLCK), and left-right clock (LRC), and is powered by a lipo battery charger module.

Open Project in Cirkit Designer
Image of ESP32-Based Audio Player with GPS and SD Card Storage: A project utilizing emic-2 TTS module in a practical application
ESP32-Based Audio Player with GPS and SD Card Storage

This circuit features an ESP32 microcontroller connected to a GPS NEO 6M module, an INMP441 microphone, a Max98357 audio amplifier, a MicroSD card breakout board, and a loudspeaker. The ESP32 is configured to communicate with the GPS module via serial connection, record audio through the microphone using I2S, play audio via the amplifier, and read/write data to the MicroSD card. The embedded code on the ESP32 is set up to use Google TTS (Text-To-Speech) to generate speech that is output through the loudspeaker.

Open Project in Cirkit Designer

Technical Specifications

Pin Configuration and Descriptions

The Emic-2 module has a 6-pin header for interfacing. The pinout is as follows:

Pin Number Pin Name Description
1 VCC Power supply input (3.3V to 5.0V DC)
2 GND Ground connection
3 SOUT Serial data output (for debugging or feedback)
4 SIN Serial data input (for sending commands and text)
5 /RESET Active-low reset pin (pull low to reset the module)
6 NC Not connected (reserved for future use)

Usage Instructions

Connecting the Emic-2 to an Arduino UNO

To use the Emic-2 module with an Arduino UNO, follow these steps:

  1. Wiring:

    • Connect the VCC pin of the Emic-2 to the 5V pin on the Arduino.
    • Connect the GND pin of the Emic-2 to the GND pin on the Arduino.
    • Connect the SIN pin of the Emic-2 to the Arduino's digital pin 2 (TX).
    • Connect the SOUT pin of the Emic-2 to the Arduino's digital pin 3 (RX).
    • Optionally, connect the /RESET pin to a digital pin on the Arduino for manual resets.
  2. Arduino Code: Use the following example code to send text to the Emic-2 module and generate speech:

    #include <SoftwareSerial.h>
    
    // Define RX and TX pins for SoftwareSerial
    SoftwareSerial emicSerial(3, 2); // RX = pin 3, TX = pin 2
    
    void setup() {
      // Start the serial communication with the Emic-2 module
      emicSerial.begin(9600);
      delay(500); // Allow the module to initialize
    
      // Send a reset command to the Emic-2
      emicSerial.print('\n'); // Ensure the module is ready
      delay(100);
      emicSerial.print("R\n"); // Reset command
      delay(500); // Wait for the module to reset
    
      // Send a test message
      emicSerial.print("S Hello, I am the Emic-2 Text-to-Speech module.\n");
    }
    
    void loop() {
      // The loop is empty as this example only sends a single message
    }
    
  3. Audio Output:

    • Connect a speaker or headphones to the 3.5mm audio jack on the Emic-2 module.
    • Adjust the volume, pitch, and speaking rate using serial commands as needed.

Important Considerations

Troubleshooting and FAQs

Common Issues

  1. No Audio Output:

    • Ensure the speaker or headphones are properly connected to the 3.5mm audio jack.
    • Verify that the volume is not set to 0 (mute). Use the V command to adjust the volume.
  2. Module Not Responding:

    • Check the wiring, especially the SIN and SOUT connections.
    • Ensure the baud rate is set to 9600 in your code.
    • Reset the module using the /RESET pin or the R\n command.
  3. Distorted or Low-Quality Audio:

    • Verify that the audio output is connected to a compatible speaker or amplifier.
    • Adjust the pitch and speaking rate to improve clarity.

FAQs

Q: Can the Emic-2 speak in different voices?
A: Yes, the Emic-2 supports multiple voices. Use the N command to select a voice. Refer to the module's user manual for a list of available voices.

Q: How do I change the language to Spanish?
A: Use the L command to switch languages. For example, send L1\n for Spanish and L0\n for English.

Q: Can I use the Emic-2 with a Raspberry Pi?
A: Yes, the Emic-2 can be connected to a Raspberry Pi using its UART pins. Ensure proper voltage level shifting if using the Pi's 3.3V logic.

By following this documentation, you can effectively integrate the Emic-2 TTS module into your projects and troubleshoot common issues.