*Espeak-ng*

Rohit Dhore
3 min readSep 18, 2021

* What is espeak-ng..?

eSpeak is a command line tool for Linux that converts text to speech. This is a compact speech synthesizer that provides support to English and many other languages. It is written in C. eSpeak reads the text from the standard input or the input file.eSpeak NG is maintained by Reece H. Dunn msclrhd@gmail.com. It is based on eSpeak by Jonathan Duddington jonsd@jsd.clara.co.uk

* Options in speak-ng command:

$ -q

Quiet, don´t produce any speech (may be useful with -x).

$ -a <integer>

Amplitude, 0 to 200, default is 100.

$ -g <integer>

Word gap. Pause between words, units of 10ms at the default speed.

$ -k <integer>

Indicate capital letters with: 1=sound, 2=the word “capitals”, higher values = a pitch increase (try -k20).

$ -l<integer>

Line length. If not zero (which is the default), consider lines less than this length as end-of-clause.

$ -p <integer>

Pitch adjustment, 0 to 99, default is 50.

$ -s <integer>

Speed in words per minute, default is 175.

$ -v <voice name>

Use voice file of this name from espeak-ng-data/voices. A variant can be specified using voice+variant, such as af+m3.

$ -w <wave file name>

Write output to this WAV file, rather than speaking it directly.

$split=<minutes>

Used with -w to split the audio output into <minutes> recorded chunks.

-b

Input text encoding, 1=UTF8, 2=8 bit, 4=16 bit.

-m

Indicates that the text contains SSML (Speech Synthesis Markup Language) tags or other XML tags. Those SSML tags which are supported are interpreted. Other tags, including HTML, are ignored, except that some HTML tags such as

-x

Write phoneme mnemonics to stdout.

-X

Write phonemes mnemonics and translation trace to stdout. If rules files have been built with — compile=debug, line numbers will also be displayed.

-z

No final sentence pause at the end of the text.

stdout

Write speech output to stdout.

compile=voicename

Compile the pronunciation rules and dictionary in the current directory. =<voicename< is optional and specifies which language is compiled.

compile-debug=voicename

Compile the pronunciation rules and dictionary in the current directory as above, but include line numbers, that get shown when -X is used.

ipa

Write phonemes to stdout using International Phonetic Alphabet. — ipa=1 Use ties, — ipa=2 Use ZWJ, — ipa=3 Separate with _.

tie=<character>

The character to use to join multi-letter phonemes in -x and — ipa output.

path=<path>

Specifies the directory containing the espeak-ng-data directory.

* Here are examples :

espeak-ng “God of Engineering Vimal Sir”

Speak the sentence “This is a test” using the default English voice.

espeak-ng -f LW.txt

Speak the contents of hello.txt using the default English voice.

cat hello.txt | espeak-ng

Speak the contents of LW.txt using the default English voice.

espeak-ng -x Vimal sir

Speak the word “LW” using the default English voice, and print the phonemes that were spoken.

espeak-ng -ven-us “[[h@´loU]]”

Speak the phonemes “h@´loU” using the American English voice.

espeak-ng — voices

List all voices supported by eSpeak.

espeak-ng — voices=en

List all voices that speak English (en).

espeak-ng — voices=mb

List all voices using the MBROLA voice synthesizer.

~Thanks for reading

--

--