Skip to main content

Python interface for eSpeak NG

Project description

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 = ‘english-us’ esng.say(“[[h@l’oU w’3:ld]]”)

### Synthesize Wave File without Playing It

From Text:

import wave import StringIO

esng.voice = ‘english-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 <<guenter@zamia.org>>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-espeak-ng-0.1.6.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

py_espeak_ng-0.1.6-py2.py3-none-any.whl (6.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file py-espeak-ng-0.1.6.tar.gz.

File metadata

File hashes

Hashes for py-espeak-ng-0.1.6.tar.gz
Algorithm Hash digest
SHA256 48ef63e265187c62f52647092adcfdd2a3e8b45943a457f7055218c474c0be82
MD5 2119f78332b10f039aff0a716f6b8982
BLAKE2b-256 c0385f5d3fa612263ec5485e7405f2c19ab679c211853882778585399c692e57

See more details on using hashes here.

File details

Details for the file py_espeak_ng-0.1.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for py_espeak_ng-0.1.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 06a3234b85f6dc28a097eef45fdfdf982570b53a960b8361767c46fcd3231f77
MD5 fed551b6f6352a91516de2f3b760af87
BLAKE2b-256 b2b734839eac38b44f338a4762d2697ffde5b5ff9a4e6933051fa9f7ada3a92a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page