[orca-list] stable suolution speech-dispatcher->espeak-generic->pulseaudio



Hello,

Maybe some of you are interested in this stuff.
I am now using espeak-generic through pulseaudio wich works relable and
very fast.
Hope it helps.
BR.
Halim


----- Forwarded message from Halim Sahin <halim sahin-KuiJ5kEpwI6ELgA04lAiVw public gmane org> -----

From: Halim Sahin <halim sahin-KuiJ5kEpwI6ELgA04lAiVw public gmane org>
Subject: ANNOUNCE stable espeak->speech-dispatcher->pulseaudio for karmic
Date: Sun, 15 Nov 2009 10:07:14 +0100
To: ubuntu-accessibility-nLRlyDuq1AZFpShjVBNYrg public gmane org

hello all.
I know this is not an ideal solution but it  seems usable on my machine
and maybe some of you is interested in this stuff as well.
1.
Under karmic edit the file ~/.speech-dispatcher/conf/speechd.conf
search for the line containing espeak-generic and uncomment it by
removing the # at the beginning.
search for defaultoutputmodule and 
select espeak-generic as defaultoutputmodule

2. 
Copy the attached espeak-generic.conf to
~/.speech-dispatcher/conf/modules

3. restart the pc
4. this step is difficult!!!
4.1 remove /var/lib/pulseaudio/pulse_a11y_nostart
4.2 restart
4.3 Select espeak-generic in orca-settings.
To do this press alt+f2 wait two sec and enter orca -t

The result should be a working pulseaudio setup and a stable
speech-dispatcher wich uses pulse.

Please do it on your own risk.
I am not responsible for damages to your system.

BR.
Halim


# 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 
--stdout |paplay"


# 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



----- End forwarded message -----

-- 
Halim Sahin
E-Mail:                         
halim.sahin (at) t-online.de



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