I have included the conf file for espeak to work with speech-dispatcher, below. Put that in a file in your speech-dispatcher modules directory (possibly /etc/speech-dispatcher/modules). Remember to add that module to your speech-dispatcher configuration file. # 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. # # 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 '\'. # Note: The data seems to be best sent through stdin as below, #when I did it by having the text as an option of the command some punctuation caused problems # Note: espeak currently does not have a option for pitch, #but the female voices are the same voice as the male ones just with some pitch and other property changes GenericExecuteSynth \ "echo \"$DATA\" | speak -v $VOICE -s $RATE -a $VOLUME --stdin" # 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 "en" "male2" "en-b" AddVoice "en" "MALE??3" "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" # 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 "en" "english" # These parameters set _rate_ and _pitch_ 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 GenericRateAdd 250 #GenericPitchAdd 100 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 100 #GenericPitchMultiply 100 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 0 GenericVolumeForceInteger 1 # Debug turns debugging on or off # See speechd.conf for information where debugging information is stored Debug 0