Is it possible to control the speed on eSpeak text to speech?

Wangzheng picture Wangzheng · Jan 20, 2013 · Viewed 8.3k times · Source

Is it possible to control the speed on eSpeak text to speech? And if possible - how to do it?

Answer

icedwater picture icedwater · May 2, 2013

It depends on what you mean by "speed", and how you access the program. Via the command-line, the easiest ways to do this are -s<words per minute> and -g<gap in milliseconds>, details below. The GUI only allows setting values of -s and within the recommended range of 80-450.

Command-line

If you are using the command line, the number of words spoken per minute can be changed as Kara mentioned, with the option -s <words per minute>. The default according to espeak --help is 175 words per minute.

The minimum value is listed as 80 words per minute, supplying a lower value at the command line simply defaults to 80. The maximum listed speed is 450 but it is possible to exceed this in the command line, whether it is sensible to do so is entirely a user decision.

If you mean the pause between words, -g <gap in milliseconds> can be used to affect the spacing. Again, the default is listed as 10mS. Giving a value of -g1000 sets a five-second gap between words, however; I suspect this is an error in the documentation and needs further investigation.

Reading espeak --help is strongly recommended, you may have to find the correct path to the espeak executable first.

GUI

If you have access to a GUI, for instance TTSApp.exe as compiled from the espeak installer, then shifting the Rate slider will allow you to move between -s80 and -s450.

It does not seem to be possible to change the word gap using the Microsoft GUI.