234 lines
8.8 KiB
Plaintext
234 lines
8.8 KiB
Plaintext
# Espeak mbrola output module is based on the generic plugin for Speech
|
|
# Dispatcher. It means there is no 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.
|
|
|
|
# Debug turns debugging on or off
|
|
# See speechd.conf for information where debugging information is stored
|
|
Debug 0
|
|
|
|
# IMPORTANT: The audio output method relies on an audio playback
|
|
# utility (play, aplay, paplay for OSS, ALSA or Pulse)
|
|
# being installed. If this is not the case, consider installing it
|
|
# or replace the $PLAY_COMMAND string in the GenericExecuteString below
|
|
# with play, paplay or similar.
|
|
#
|
|
# 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 \
|
|
"printf %s \'$DATA\' | espeak -v mb-$VOICE -s $RATE -p $PITCH $PUNCT -q --stdin --pho | mbrola -v $VOLUME -e /usr/share/mbrola/$VOICE/$VOICE - -.au | $PLAY_COMMAND"
|
|
|
|
GenericCmdDependency "espeak"
|
|
GenericCmdDependency "mbrola"
|
|
GenericSoundIconFolder "/usr/share/sounds/sound-icons/"
|
|
|
|
# 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=\"()[]{};:\""
|
|
GenericPunctMost "--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 ""
|
|
|
|
# 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 "af" "af" "utf-8"
|
|
GenericLanguage "cs" "cs" "utf-8"
|
|
GenericLanguage "de" "de" "utf-8"
|
|
GenericLanguage "el" "el" "utf-8"
|
|
GenericLanguage "en" "en-us" "utf-8"
|
|
GenericLanguage "en-gb" "en-gb" "utf-8"
|
|
GenericLanguage "en-us" "en-us" "utf-8"
|
|
GenericLanguage "es" "es" "utf-8"
|
|
GenericLanguage "es-mx" "es-mx" "utf-8"
|
|
GenericLanguage "es-ve" "es-ve" "utf-8"
|
|
GenericLanguage "et" "et" "utf-8"
|
|
GenericLanguage "fa" "fa" "utf-8"
|
|
GenericLanguage "fr" "fr" "utf-8"
|
|
GenericLanguage "fr-ca" "fr-ca" "utf-8"
|
|
GenericLanguage "fr-be" "fr-be" "utf-8"
|
|
GenericLanguage "hu" "hu" "utf-8"
|
|
GenericLanguage "hr" "hr" "utf-8"
|
|
GenericLanguage "id" "id" "utf-8"
|
|
GenericLanguage "is" "is" "utf-8"
|
|
GenericLanguage "it" "it" "utf-8"
|
|
GenericLanguage "la" "la" "utf-8"
|
|
GenericLanguage "lt" "lt" "utf-8"
|
|
GenericLanguage "nl" "nl" "utf-8"
|
|
GenericLanguage "pl" "pl" "utf-8"
|
|
GenericLanguage "pt" "pt" "utf-8"
|
|
GenericLanguage "pt-br" "pt-br" "utf-8"
|
|
GenericLanguage "ro" "ro" "utf-8"
|
|
GenericLanguage "sv" "sv" "utf-8"
|
|
GenericLanguage "tr" "tr" "utf-8"
|
|
|
|
# Each voice is available if and only if the following files exist.
|
|
# These files must be listed *before* the voices.
|
|
|
|
VoiceFileDependency "/usr/share/mbrola/$VOICE/$VOICE"
|
|
VoiceFileDependency "/usr/lib/x86_64-linux-gnu/espeak-data/voices/mb/mb-$VOICE"
|
|
|
|
# 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.
|
|
|
|
AddVoice "af" "MALE1" "af1"
|
|
|
|
AddVoice "fr-ca" "MALE1" "ca1"
|
|
AddVoice "fr-ca" "MALE2" "ca2"
|
|
|
|
AddVoice "cs" "MALE1" "cz2"
|
|
|
|
AddVoice "de" "MALE1" "de4"
|
|
AddVoice "de" "MALE2" "de6"
|
|
AddVoice "de" "MALE3" "de2"
|
|
AddVoice "de" "FEMALE1" "de5"
|
|
AddVoice "de" "FEMALE2" "de7"
|
|
AddVoice "de" "FEMALE3" "de3"
|
|
|
|
AddVoice "el" "MALE1" "gr1"
|
|
AddVoice "el" "MALE2" "gr2"
|
|
|
|
AddVoice "en" "MALE1" "en1"
|
|
AddVoice "en" "MALE2" "us2"
|
|
AddVoice "en" "MALE3" "us3"
|
|
AddVoice "en" "FEMALE1" "us1"
|
|
AddVoice "en-gb" "MALE1" "en1"
|
|
AddVoice "en-us" "MALE1" "us2"
|
|
AddVoice "en-us" "MALE2" "us3"
|
|
AddVoice "en-us" "FEMALE1" "us1"
|
|
|
|
AddVoice "es" "MALE1" "es1"
|
|
AddVoice "es" "MALE2" "es2"
|
|
AddVoice "es-mx" "MALE1" "mx1"
|
|
AddVoice "es-mx" "MALE2" "mx2"
|
|
AddVoice "es-ve" "MALE1" "vz1"
|
|
|
|
AddVoice "et" "MALE1" "ee1"
|
|
|
|
AddVoice "fa" "MALE1" "ir1"
|
|
AddVoice "fa" "FEMALE1" "ir2"
|
|
|
|
AddVoice "fr" "MALE1" "fr1"
|
|
AddVoice "fr" "FEMALE1" "fr4"
|
|
AddVoice "fr-be" "MALE1" "fr5"
|
|
AddVoice "fr-be" "MALE2" "fr7"
|
|
|
|
AddVoice "hu" "MALE1" "hu1"
|
|
|
|
AddVoice "hr" "MALE1" "cr1"
|
|
|
|
AddVoice "id" "MALE1" "id1"
|
|
|
|
AddVoice "is" "MALE1" "ic1"
|
|
|
|
AddVoice "it" "MALE1" "it3"
|
|
AddVoice "it" "FEMALE1" "it4"
|
|
|
|
AddVoice "la" "MALE1" "la1"
|
|
|
|
AddVoice "nl" "MALE1" "nl2"
|
|
|
|
AddVoice "pl" "FEMALE1" "pl1"
|
|
|
|
AddVoice "pt-br" "MALE1" "br1"
|
|
AddVoice "pt-br" "MALE2" "br3"
|
|
AddVoice "pt" "FEMALE1" "pt1"
|
|
AddVoice "pt-br" "FEMALE1" "br4"
|
|
|
|
AddVoice "ro" "MALE1" "ro1"
|
|
|
|
AddVoice "sv" "MALE1" "sw1"
|
|
AddVoice "sv" "FEMALE1" "sw2"
|
|
|
|
AddVoice "tr" "MALE1" "tr1"
|
|
AddVoice "tr" "FEMALE1" "tr2"
|
|
|
|
# DefaultVoice specifies which $VOICE string should be used if no voice is
|
|
# specified otherwise.
|
|
|
|
DefaultVoice "en1"
|
|
|
|
# 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/MBROLA 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 2 --
|
|
#
|
|
# The SSIP defaults are actually controlled via DefaultRate, DefaultPitch, and
|
|
# DefaultVolume in the speechd.conf file.
|
|
|
|
GenericRateAdd 160
|
|
GenericPitchAdd 50
|
|
GenericVolumeAdd 1
|
|
|
|
# (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 1
|
|
|
|
# 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 0
|
|
|
|
# Note that SSIP rates < -50 are spoken at -50.
|
|
|
|
|
|
# Copyright (C) 2008-2010 Brailcom, o.p.s
|
|
# Copyright (C) 2014 Luke Yelavich <themuso@ubuntu.com>
|
|
# Copyright (C) 2018-2021 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
# Copyright (C) 2018 Didier Spaier <didier@slint.fr>
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it under
|
|
# the terms of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE. See the GNU General Public License for more details (file
|
|
# COPYING in the root directory).
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|