Re: [orca-list] voices with speech dispatcher



On 27.02.2009 at 16:22:01 "Alonzo" <mariachiac aim com> wrote:

Hello list,
I've installed speech-dispatcher and have it working espeak. However i can't get it to work with festival 
or the mbrola voices

Did you install the festival packages:
sudo aptitude install festival
After finishing do:
sudo /etc/init.d/festival start
to start the festival server.
To have it run permanently do:
sudo update-rc.d festival defaults
Mbrola is a bit tricky: You have to insert a line in
/etc/speech-dispatcher/speechd.conf that looks like the espeak-generic
line but replace "espeak" by "mbrola".
Note: The keyword must be "mbrola-generic".
Then you have to create a mbrola-generic.conf in
/etc/speech-dispatcher/modules.
It may look like this:

# Espeak-mbrola 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\"#|\
    /usr/lib/mbrola4sbl/numfilt |\
    /usr/local/bin/txt2pho -m |\
    /usr/local/bin/mbrola -t $RATE  -e /usr/lib/mbrola4sbl/voices/$VOICE - /dev/shm/mbrola.wav && aplay 
/dev/shm/mbrola.wav"

# 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        "de"    "MALE1"         "de2"
AddVoice        "de"    "MALE2"         "de4"
AddVoice        "de"    "MALE3"         "de2"
AddVoice        "de"    "FEMALE1"       "de3"

# 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          1
GenericPitchAdd         -3
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     -1
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     0
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

Important! You have to adjust all parameters according to your Mbrola
installation; so see this only as a template!
Hermann



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]