forked from len0rd/rockbox
Ask which voice to use for Festival.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20181 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
22b925495a
commit
839bcdf46c
2 changed files with 27 additions and 0 deletions
23
tools/configure
vendored
23
tools/configure
vendored
|
|
@ -526,6 +526,29 @@ voiceconfig () {
|
|||
esac
|
||||
echo "Using $TTS_ENGINE for TTS"
|
||||
|
||||
# Select which voice to use for Festival
|
||||
if [ "$TTS_ENGINE" = "festival" ]; then
|
||||
i=1
|
||||
for voice in `echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1 foobar/'|sort`; do
|
||||
if [ "$i" = "1" ]; then
|
||||
TTS_FESTIVAL_VOICE="$voice" # Default choice
|
||||
fi
|
||||
printf "%3d. %s\n" "$i" "$voice"
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
printf "Please select which Festival voice to use (default is $TTS_FESTIVAL_VOICE): "
|
||||
CHOICE=`input`
|
||||
i=1
|
||||
for voice in `echo "(voice.list)"|festival -i 2>/dev/null |tr "\n" " "|sed -e 's/.*festival> (\(.*\)) festival>/\1 foobar/'|sort`; do
|
||||
if [ "$i" = "$CHOICE" -o "$voice" = "$CHOICE" ]; then
|
||||
TTS_FESTIVAL_VOICE="$voice"
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
echo "Festival voice set to $TTS_FESTIVAL_VOICE"
|
||||
echo "(voice_$TTS_FESTIVAL_VOICE)" > festival-prolog.scm
|
||||
fi
|
||||
|
||||
# Allow the user to input manual commandline options
|
||||
printf "Enter $TTS_ENGINE options (enter for defaults \"$TTS_OPTS\"): "
|
||||
USER_TTS_OPTS=`input`
|
||||
|
|
|
|||
|
|
@ -245,6 +245,10 @@ sub voicestring {
|
|||
# festival_client lies to us, so we have to do awful soul-eating
|
||||
# work with IPC::open3()
|
||||
$cmd = "festival_client --server localhost --otype riff --ttw --output \"$output\"";
|
||||
# Use festival-prolog.scm if it's there (created by user of tools/configure)
|
||||
if (-f "festival-prolog.scm") {
|
||||
$cmd .= " --prolog festival-prolog.scm";
|
||||
}
|
||||
print("> $cmd\n") if $verbose;
|
||||
# Open command, and filehandles for STDIN, STDOUT, STDERR
|
||||
my $pid = open3(*CMD_IN, *CMD_OUT, *CMD_ERR, $cmd);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue