# 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\" | speak -w /tmp/espeak.wav -v $VOICE -s $RATE -a $VOLUME -p $PITCH --stdin && aplay /tmp/espeak.wav" GenericExecuteSynth "echo \"$DATA\" > /tmp/sddhvani | /usr/bin/dhvani /tmp/sddhvani" # 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. #AddVoice "en" "MALE1" "en" AddVoice "ml" "MALE1" "ml" #AddVoice "en" "MALE2" "en-b" # If the language you need to pass in $LANG is different # from the standard ISO language code, you can specify # which string to use instead. If you wish to use # other than ISO charset for the specified language, # you can add it's name (as accepted by iconv) as a # third parameter in doublequotes. GenericLanguage "ml" "malayalam" "UTF-8" # 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 1 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 1