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.
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) |
To use the Emic-2 module with an Arduino UNO, follow these steps:
Wiring:
VCC
pin of the Emic-2 to the 5V pin on the Arduino.GND
pin of the Emic-2 to the GND pin on the Arduino.SIN
pin of the Emic-2 to the Arduino's digital pin 2 (TX).SOUT
pin of the Emic-2 to the Arduino's digital pin 3 (RX)./RESET
pin to a digital pin on the Arduino for manual resets.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
}
Audio Output:
/RESET
pin or send the reset command (R\n
) via serial.No Audio Output:
V
command to adjust the volume.Module Not Responding:
SIN
and SOUT
connections./RESET
pin or the R\n
command.Distorted or Low-Quality Audio:
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.