Back to news

espeak app for Asterisk 1.6

Author: Matt Riddell
Daily Asterisk News
Ask Question

ESpeakLefteris Zafiris has written a multi language text to speech module for Asterisk 1.6:

I have written a module for asterisk that uses the eSpeak speech synthesizer ( to render text to speech. The source is available here:

It\'s similar to app_festival and app_flite.

It\'s only tested against asterisk 1.6.1 on x86 Linux but it must be working for other 1.6 branches too. Comments, fixes and suggestion are welcome.

Espeak For Asterisk 1.6

This provides the \"Espeak\" dialplan application, which allows you to use the Espeak speech synthesizer with Asterisk. This module invokes the Espeak TTS engine locally, and uses it to render text to speech.


  • Asterisk 1.6 header files

  • Espeak libraries and header files
    It is recommended to use espeak version 1.41.01 or newer. Earlier version of epseak had an file descriptor leak that could cause asterisk to crash. If upgrading is not an option patch your current version of epseak with the espeak.patch provided here.

  • libsndfile libraries and header files

  • libresample libraries and header files

$ make
$ make install

To install the sample configuration file, issue the following command after the \'make install\' command:

$ make samples


Espeak(text[,intkeys,language]): This will invoke the eSpeak TTS engine, send a text string, get back the resulting waveform and play it to the user, allowing any given interrupt keys to immediately terminate and return.


dialplan sample code for your extensions.conf

;Espeak Demo
exten => 1234,1,Answer() ;;Play mesage using default language as set in espeak.conf
exten => 1234,n,Espeak(\"This is a simple espeak test in english.\",any,)

;;Play message in Spanish
exten => 1234,n,Espeak(\"Esta es una simple prueba espeak en español.\",any,es)

;;Play message in Greek
exten => 1234,n,Espeak(\"Αυτό είναι ένα απλό τέστ του espeak στα ελληνικά.\",any,el)

;;Read a text file from disk (relative to the channel language)
;;and play it with espeak using the asterisk channel language.
exten => 1234,n,ReadFile(MYTEXT=/path/${LANGUAGE}/myfile,200)
exten => 1234,n,Espeak(\"${MYTEXY}\",any,${LANGUAGE})
exten => 1234,n,Hangup()


The Espeak module for asterisk is distributed under the GNU General Public License v2. See COPYING for details.


Related posts

Back to top

Ready to supercharge your business?

Dialer pricing from only $300 per month!