# llia_phon 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.
#

# WARNING: This is only a preliminary version and needs some more
# work to be really useful. We plan to finish it as soon as llia_phon
# is fixed in it's CVS.

# 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\' > $TMPDIR/llia_phon.txt && llia_phon | mbrola --f $PITCH --t $RATE \
-e -I LIAPHON/data/noarch/initfile.lia (directory with the voice) $VOICE \
$TMPDIR/llia_phon.txt -.au | $PLAY_COMMAND -t au - >/dev/null"

GenericCmdDependency "llia_phon"
GenericCmdDependency "mbrola"
GenericSoundIconFolder "/usr/share/sounds/sound-icons/"

# 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        "fr"	"male1"      "phoneme-file"
AddVoice        "fr"	"male2"      "phoneme-file"

GenericLanguage "fr" "fr"

# 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 100
GenericPitchAdd	100
#GenericVolumeAdd 100

# (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 -85
GenericPitchMultiply 100
#GenericVolumeMultiply 50

# 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 0
#GenericVolumeForceInteger 0

# Debug turns debugging on or off
# Debug 0

# 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-llia-phon-generic"


# Copyright (C) 2004-2008 Brailcom, o.p.s
#
# 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/>.
