Skip to content

Some simple wrappers around eSpeak NG intended to make using this excellent TTS for waveform and IPA generation as convenient as possible.

License

Notifications You must be signed in to change notification settings

gooofy/py-espeak-ng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py-espeak-ng

Some simple wrappers around eSpeak NG intended to make using this excellent TTS for waveform and IPA generation as convenient as possible.

Target audience are developers who would like to use eSpeak NG as-is for speech synthesis in their Python application on GNU/Linux operating systems.

Constructive comments, patches and pull-requests are very welcome.

Examples

Direct TTS Audio Output

First, import the ESpeakNG engine wrapper:

from espeakng import ESpeakNG

now for some simple direct TTS output:

esng = ESpeakNG()
esng.say('Hello World!')

lower pitch and speed:

esng.pitch = 32
esng.speed = 150
esng.say('Hello World!')

try a different language:

esng.voice = 'german'
esng.say('Hallo Welt!')

specify phonemes instead of words:

esng.voice = 'en-us'
esng.say("[[h@l'oU w'3:ld]]")

Synthesize Wave File without Playing It

From Text:

import wave
import StringIO

esng.voice = 'en-us'
wavs = esng.synth_wav('Hello World!')
wav = wave.open(StringIO.StringIO(wavs))
print wav.getnchannels(), wav.getframerate(), wav.getnframes()

result:

1 22050 24210

List Available Voices

l = esng.voices

result:

>>> l[0]
{'pty': '5', 'language': 'af', 'gender': 'M', 'age': '--', 'voice_name': 'afrikaans', 'file': 'gmw/af'}
>>> l[1]
{'pty': '5', 'language': 'am', 'gender': '-', 'age': '--', 'voice_name': 'amharic', 'file': 'sem/am'}
>>> l[2]
{'pty': '5', 'language': 'an', 'gender': 'M', 'age': '--', 'voice_name': 'aragonese', 'file': 'roa/an'}
...

Grapheme to Phoneme (G2P) Conversion

ipa = esng.g2p ('Hello World!', ipa=2)

result:

>>> print ipa
həlˈo͡ʊ wˈɜːld

Requirements

  • Python 2 or 3

  • espeak-ng binary installed and in PATH

License

My own code is Apache-2.0 licensed unless otherwise noted in the script’s copyright headers.

Author

Guenter Bartsch <[email protected]>

About

Some simple wrappers around eSpeak NG intended to make using this excellent TTS for waveform and IPA generation as convenient as possible.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published