Text to Speech on arduino

Give your project a voice! Without Text-to-Speech Module, Arduino TTS library makes it possible, voice synthesizer that converts a stream of digital text into retro (robot) speech. Its simple needs only external LM385 amplifier with arduino Uno, No special components or shields required. Thanks to Gabriel Petrut and Clive Webster for making this thing.
Application Ideas:
  • Reading Internet-based data streams (such as e-mails or Twitter feeds)
  • Conveying status or sensor results from robots, scientific equipment, or industrial machinery
  • Language learning or speech aids for educational environments

Components required:
1. Arduino Uno
2. LM386
3. Speaker
4. Capacitors and few resistors as shown in circuit

Step: 1 Circuit Diagram

Text to Speech
Arduino Text to Speech Circuit Diagram

Step: 2 Library download


Step: 3 Arduino Code for Text to Speech

Note: This program and library works only with Arduino 1.0 version
  Text To Speech syntesis library

  The Text To Speech library uses Timer1 to generate the PWM
  output on digital pin 10. The output signal needs to be fed
  to an RC filter then through an amplifier to the speaker.

#include <TTS.h>

// Media pins
#define ledPin 13       // digital pin 13                          

// Variables
char text [50];
boolean state=0;

TTS text2speech;  // speech output is digital pin 10

void setup() { 
  pinMode(ledPin, OUTPUT); 

// Main Loop
void loop(){
    state = !state;
    digitalWrite(ledPin, state);
    delay(1000);          // delay a second

void Test_Speech() {
 text2speech.setPitch(6); //higher values = lower voice pitch
 strcpy(text, "Hello  master! How are you doin?");
 text2speech.setPitch(1); //lower values = higher voice pitch
 strcpy(text, "I am fine, thankyou.");

Arduino now speak what you have given to speak…..enjoy
for queries and questions please comment..


One thought on “Text to Speech on arduino

Leave a Reply