124 lines
4.9 KiB
Plaintext
124 lines
4.9 KiB
Plaintext
|
# Espeak output module is based on the generic plugin for Speech
|
||
|
# Dispatcher. It means there is no C code written explicitly for
|
||
|
# this plugin, all the specifics are handled in this configuration
|
||
|
# and we call a simple command line client to perform the actual
|
||
|
# synthesis. Use this config file with the sd_generic output module.
|
||
|
#
|
||
|
# IMPORTANT: The audio output method relies on ALSA Player (aplay)
|
||
|
# being installed. If this is not the case, consider installing it
|
||
|
# or replace the aplay command in the GenericExecuteString below
|
||
|
# with play or similar.
|
||
|
#
|
||
|
# GenericExecuteString to what's the name of this utility on your
|
||
|
# system (it might be "speak")
|
||
|
|
||
|
# GenericExecuteSynth is the shell command that should be
|
||
|
# executed in order to say some message. This command must
|
||
|
# stop saying the message on SIGKILL, otherwise it's useless.
|
||
|
# You can use the variables $LANGUAGE, $VOICE, $PITCH and $RATE
|
||
|
# which will be substituted for the appropriate value (you
|
||
|
# can modify this value, see other parameters).
|
||
|
# The command can be split into more lines, if necessary, using '\'.
|
||
|
GenericExecuteSynth \
|
||
|
"echo \'$DATA\' | espeak -w $TMPDIR/espeak.wav -v $VOICE -s $RATE -a $VOLUME -p $PITCH $PUNCT --stdin && $PLAY_COMMAND $TMPDIR/espeak.wav"
|
||
|
|
||
|
# The following three items control punctuation levels None, Some, and All.
|
||
|
# Each of these values will be substituted into the $PUNCT variable depending
|
||
|
# on the value passed to speech dispatcher from applications.
|
||
|
# Note that if an empty string is specified, then $PUNCT will be blank
|
||
|
# which is a default situation for espeak.
|
||
|
|
||
|
GenericPunctNone ""
|
||
|
GenericPunctSome "--punct=\"()[]{};:\""
|
||
|
GenericPunctAll "--punct"
|
||
|
|
||
|
# GenericStripPunctChars is a list (enclosed in doublequotes) of
|
||
|
# all the characters that should be replaced by whitespaces in
|
||
|
# order not to be badly handled by the output module or misinterpreted
|
||
|
# by shell.
|
||
|
|
||
|
# GenericStripPunctChars ""
|
||
|
|
||
|
# AddVoice specifies which $VOICE string should be assigned to
|
||
|
# each language and symbolic voice name. All the voices you want
|
||
|
# to use must be specified here. This list will likely not be
|
||
|
# up-to-date, please check eSpeak documentation and add the voices
|
||
|
# you want to use. Or better use the native espeak module ('espeak'
|
||
|
# not 'espeak-generic')
|
||
|
|
||
|
AddVoice "en" "MALE1" "en"
|
||
|
AddVoice "en" "MALE2" "en-b"
|
||
|
AddVoice "en" "MALE3" "en-d"
|
||
|
AddVoice "en" "FEMALE1" "en-f"
|
||
|
AddVoice "en" "FEMALE2" "en-fb"
|
||
|
AddVoice "en" "FEMALE3" "en-fd"
|
||
|
AddVoice "en" "CHILD_MALE" "en-c"
|
||
|
AddVoice "en" "CHILD_FEMALE" "en-fc"
|
||
|
AddVoice "af" "MALE1" "af"
|
||
|
AddVoice "de" "MALE1" "de"
|
||
|
AddVoice "eo" "MALE1" "eo"
|
||
|
AddVoice "es" "MALE1" "es"
|
||
|
AddVoice "fi" "MALE1" "fi"
|
||
|
AddVoice "fr" "MALE1" "fr"
|
||
|
AddVoice "it" "MALE1" "it"
|
||
|
AddVoice "pt" "MALE1" "pt"
|
||
|
AddVoice "ro" "MALE1" "ro"
|
||
|
|
||
|
# Experimental voices
|
||
|
AddVoice "cs" "MALE1" "cs"
|
||
|
AddVoice "cy" "MALE1" "cy"
|
||
|
AddVoice "el" "MALE1" "el"
|
||
|
AddVoice "nl" "MALE1" "nl"
|
||
|
AddVoice "no" "MALE1" "no"
|
||
|
AddVoice "hi" "MALE1" "hi"
|
||
|
AddVoice "pl" "MALE1" "pl"
|
||
|
AddVoice "ru" "MALE1" "ru"
|
||
|
AddVoice "sv" "MALE1" "sv"
|
||
|
AddVoice "vi" "MALE1" "vi"
|
||
|
|
||
|
|
||
|
# These parameters set _rate_, _pitch_, and _volume_ conversion. This is
|
||
|
# part of the core of the definition of this generic output
|
||
|
# module for this concrete synthesizer, it's not intended to
|
||
|
# be modified by common users.
|
||
|
# The resulting rate (or pitch) has the form:
|
||
|
# (speechd_rate * GenericRateMultiply) + GenericRateAdd
|
||
|
# while speechd_rate is a value between -100 (lowest) and +100 (highest)
|
||
|
# You have to define some meaningful conversion for each synthesizer
|
||
|
|
||
|
# Here's the mapping from SSIP (Speech Dispatcher) to ESpeak (v1.10):
|
||
|
#
|
||
|
# SSIP Range SSIP Default ESpeak Range ESpeak Default
|
||
|
# ----------- ------------ ------------ --------------
|
||
|
# Rate -100 to 100 0 80 to 320 160
|
||
|
# Pitch -100 to 100 0 0 to 99 50
|
||
|
# Volume -100 to 100 0 0 to 20 10
|
||
|
#
|
||
|
# The SSIP defaults are actually controlled via DefaultRate, DefaultPitch, and
|
||
|
# DefaultVolume in the speechd.conf file.
|
||
|
|
||
|
GenericRateAdd 160
|
||
|
GenericPitchAdd 50
|
||
|
GenericVolumeAdd 10
|
||
|
|
||
|
# (These values are multiplied by 100, because DotConf currently
|
||
|
# doesn't support floats. So you can write 0.85 as 85 and so on.)
|
||
|
|
||
|
GenericRateMultiply 160
|
||
|
GenericPitchMultiply 50
|
||
|
GenericVolumeMultiply 10
|
||
|
|
||
|
# If the client program can't handle floats, you will have to
|
||
|
# use these two options to force integers as the parameters
|
||
|
# 1 means force integers, 0 means do nothing (write floats).
|
||
|
|
||
|
GenericRateForceInteger 1
|
||
|
GenericPitchForceInteger 1
|
||
|
GenericVolumeForceInteger 1
|
||
|
|
||
|
# Note that SSIP rates < -50 are spoken at -50.
|
||
|
|
||
|
# Debug turns debugging on or off
|
||
|
# See speechd.conf for information where debugging information is stored
|
||
|
Debug 0
|