Fork me on GitHub

Asterisk-eSpeak

Module for the Asterisk open source PBX which allows you to use the eSpeak voice synthesis engine to render text to speech.

eSpeak For Asterisk. 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.
It supports the following languages: Afrikaans, Albanian, Armenian, Cantonese, Catalan, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Finnish, French, Georgian, German, Greek, Hindi, Hungarian, Icelandic, Indonesian, Italian, Kannada, Kurdish, Latvian, Lojban, Macedonian, Malayalam, Mandarin, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Spanish, Swahili, Swedish, Tamil, Turkish, Vietnamese, Welsh.

It supports 8kHz and 16kHz sample rates to provide the best possible sound quality along with the use of wideband codecs. Works with asterisk 1.6.x or later.

Dependencies

Asterisk header files
eSpeak libraries and header files
libsndfile libraries and header files
libsamplerate libraries and header files

Install

To build just type the following in the app-eSpeak folder
$ make
$ make install

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

Usage

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.

Asterisk dialplan example:

;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()

License

The eSpeak module for asterisk is distributed under the GNU General Public License v2

Authors

Lefteris Zafiris (zaf.000@gmail.com)

Download

You can get the latest stable version here
or the asterisk 11 compatible version here
Develompent snapshots are available in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://github.com/zaf/Asterisk-eSpeak