Ok, here's what I'm using at the moment, though again the rate problem isn't resolved. # Cepstral software 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. Note that this is not an optimal solution, but # it's reported to work. # # Please note that Cepstral software is currently *not* Free Software. # You might want to look at Festival instead. # 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 $LANG, $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 \ "/usr/local/bin/theta -N $VOICE -S $PITCH -r $RATE \"$DATA\"" # 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. # We need to strip `[' and `]', as these are DECTalk's # command characters. # 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. # NOTE: # There is a multilingual version of DECTalk software, however I # do not have it. Thus, only the US English voices are defined here. # If you know about the other languages, please let us know on # <speechd at freebsoft.org> AddVoice "en" "MALE1" "Frank" AddVoice "en" "MALE2" "Walter" # AddVoice "en" "MALE3" "dennis" AddVoice "en" "FEMALE1" "Emily" AddVoice "en" "FEMALE2" "Linda" # AddVoice "en" "FEMALE3" "wendy" AddVoice "en" "CHILD_FEMALE" "Robin" # 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 # NOTE: GenericRateForceInteger 0 GenericPitchForceInteger 0 GenericRateAdd 0 GenericPitchAdd 0 # (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 .5 GenericPitchMultiply 1 # Debug turns debugging on or off Debug 1 # DebugFile specifies the file where the debugging information # should be stored (note that the log is overwritten each time # the module starts) DebugFile "/tmp/debug-dtk-generic" -- Cheryl "Where your treasure is, there will your heart be also."