eSpeak NG TTS Bindings for Python3
Copyright 2016-2020 Sayak B. Licenced under GNU GPLv3.
Requirements
You need to have eSpeak NG installed in your system and added to the path.
Windows
The latest installers for eSpeak NG can be found here.
The installed executable may need to be added to the system path. (See here)
Ubuntu & Debian
sudo apt-get update
sudo apt-get install espeak-ng
Others
If eSpeak NG is not available in your package manager, you may need to compile the binaries for your system. Refer to this page for more information.
Installation
PyPi
This library is available on PyPi.
pip install espeakng
GitHub Releases
You can download the latest release for this library here.
Usage
First, we have to initialize a Speaker
.
import espeakng
mySpeaker = espeakng.Speaker()
And then use the Speaker.say()
method to speak:
mySpeaker.say('Hello, World!')
Calling Speaker.say()
will interrupt any ongoing output from the same object
immediately.
Use the following code if you wish to wait for any ongoing speech to complete:
mySpeaker.say('I am a demo of the say() method.', wait4prev=True)
Changing speech properties
Pitch
By default the pitch is set at 80.
Change it by:
mySpeaker.pitch = 120
Words per Minute (WPM)
By default WPM is set at 120.
Change it by:
mySpeaker.wpm = 140
Voice
By default the voice is set to ‘en’. The complete list of supported voices can be found here.
Change it by:
mySpeaker.voice = 'es'
Export to .WAV file
By default, your text will just be spoken aloud, but if you want it to be written to a .WAV file, you can specify an export_path
when calling the say
function, as seen below:
mySpeaker.say("Export this to a file", export_path="test.wav")
Special thanks
- MickeyDelp for wordgap and amplitude controls, and other helper methods.
- FlorianEagox for the export to WAV file feature.