Voice files are placed in the espeak-data/voices
directory, or within subdirectories in there.
The available voice files can be listed by:
espeak --voices or espeak --voices=<language>also
espeak --voices=<variant>Lists voice variants which can be applied to eSpeak voices.
espeak --voices=<mbrola>Lists the Mbrola voices.
It selects the default behaviour and characteristics for the language, and sets default values for "phonemes", "dictionary" and other attributes. The <language code> should be a two-letter ISO 639-1 language code. One or more language variant codes may be appended, separated by hyphens. (eg. en-uk-north).
The optional <priority> value gives the preference of this voice compared with others for the specified language. A low value indicates a more preferred voice. The default value is 5.
More than one language line may be present. A voice may be selected for other related languages (variants which have the same initial 2 letter language code as the specified language), but it will be less preferred for these. Different language variants may be specified by additional language lines in order to indicate that this is a preferred voice for them also. Eg.
language en-uk-north language enindicates that this is voice is for the "en-uk-north" dialect, but it is also a main choice when a general "en" language is specified. Without the second language line, it would be disfavoured for "en" for being a more specialised voice.
freq_add Adds a constant value (in Hz) to the frequency of the formant peak. The value may be negative.
tone 600 170 1200 135 2000 110
This means that from frequency 0Hz to 600Hz the amplitude is 170. From 600Hz to 1200Hz the amplitude decreases from 170 to 135, then decreases to 110 at 2000Hz and remains at 110 at higher frequencies. This adjustment applies only to voiced sounds such as vowels and sonorant consonants (such as [n] and [l]). Unvoiced sounds such as [s] are unaffected.
This tone statement can also appear in espeak-data/config
, in which case it applies to all voices which
don't have their own tone statement.
Use together with a low or zero value of the voicing attribute to make a "wisper".
For example:
breath 75 75 60 40 15 10
breathw 150 150 200 200 400 400
voicing 18
flutter 20
formant 0 100 0 100 // remove formant 0
This parameter is usually not needed as it is set by default to the first two letters of the "language" parameter. However, different voices of the same language can use different phoneme sets, to give different accents.
<replacement phoneme> may be NULL.
Flags: bit 0: replacement only occurs on the final phoneme of a word.
Flags: bit 1: replacement doesn't occur in stressed syllables.
eg.
replace 0 h NULL // drops h's replace 0 V U // replaces vowel in 'strut' by that in 'foot' // as occurs in northern British English replace 3 N n // change 'fishing' to 'fishin' etc. // (only the last phoneme of a word, only in unstressed syllables)The phoneme mnemonics can be defined for each language, but some are listed in phonemes.html
espeak-data/voices/!v
to give some variety. Negative values may be used.
espeak-data/*_dict
) is less than
this size then a warning is given.
alphabet2 cyr ruAlphabets names include: latin, cyr (cyrillic), ar (arabic). The default language for latin alphabet is English.
dictdialect en-usThis means that any words or rules which are maked with _^_EN will be spoken with the US English voice instead of the default UK English voice.
Additional attributes are available to set various internal options which control how language is processed. These would normally be set in the program code rather than in a voice file.
espeak-data/voices
directory.
You can select one of these with the -v <voice filename> parameter to the
speak command.