summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJonas Häggqvist <rasher@rasher.dk>2008-02-10 17:20:06 +0000
committerJonas Häggqvist <rasher@rasher.dk>2008-02-10 17:20:06 +0000
commit85f371edb583bc2d6f52b97bdd72b6daab78243c (patch)
treea8fbdb865692f036c88fb3b48099819b4a3c008f /tools
parentc7559753ce9c1625f68ddba703bcc66ff0bf9c4d (diff)
downloadrockbox-85f371edb583bc2d6f52b97bdd72b6daab78243c.tar.gz
rockbox-85f371edb583bc2d6f52b97bdd72b6daab78243c.tar.bz2
rockbox-85f371edb583bc2d6f52b97bdd72b6daab78243c.zip
Voice-building changes: Ask for which eSpeak voice to use for some languages. Please test and report if you have any
problems. If you automatically build eSpeak voices, you'll have to update your script. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16271 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools')
-rwxr-xr-xtools/configure86
1 files changed, 86 insertions, 0 deletions
diff --git a/tools/configure b/tools/configure
index 5c8165c3ef..e6a99a5148 100755
--- a/tools/configure
+++ b/tools/configure
@@ -337,6 +337,23 @@ whichadvanced () {
fi
}
+getespeakopts () {
+ langcode=$1
+ i=1
+ espeak --voices=$langcode |grep -v ^Pty | sed -e 's/ \+/ /g' |(while read line; do
+ IFS=" "
+ echo $line| (read pty lang agegender voicename file otherlangs
+ printf "%2d. %s (%s)\n" $i "$voicename" "$agegender"
+ )
+ i=`expr $i + 1`
+ done)
+ printf "Which voice should be used [1]?: "
+ read reply
+ if [ "$reply" = "" ]; then reply=1; fi
+ VOICE=`espeak --voices=$langcode |head -n \`expr $reply + 1\` |tail -n 1 |sed -e 's/ \+/ /g' -e 's/ *[^\ ]\+ [^\ ]\+ [^\ ]\+ \([^\ ]\+\).*/\1/'`
+ ESPEAK_OPTS="-v $VOICE"
+}
+
# Configure voice settings
voiceconfig () {
thislang=$1
@@ -441,6 +458,75 @@ voiceconfig () {
esac
echo "Using $TTS_ENGINE for TTS"
+ if [ "$TTS_ENGINE" = "espeak" ]; then
+ case "$thislang" in
+ "afrikaans")
+ getespeakopts "af"
+ ;;
+ chinese-*)
+ getespeakopts "zh"
+ ;;
+ "czech")
+ getespeakopts "cs"
+ ;;
+ "deutsch")
+ getespeakopts "de"
+ ;;
+ "greek")
+ getespeakopts "el"
+ ;;
+ "english")
+ getespeakopts "en"
+ ;;
+ "esperanto")
+ getespeakopts "eo"
+ ;;
+ "espanol")
+ getespeakopts "es"
+ ;;
+ "finnish")
+ getespeakopts "fi"
+ ;;
+ "francais")
+ getespeakopts "fr"
+ ;;
+ "hindi")
+ getespeakopts "hi"
+ ;;
+ "islenska")
+ getespeakopts "is"
+ ;;
+ "italiano")
+ getespeakopts "it"
+ ;;
+ "nederlands")
+ getespeakopts "nl"
+ ;;
+ "norsk")
+ getespeakopts "no"
+ ;;
+ "polski")
+ getespeakopts "pl"
+ ;;
+ portugues*)
+ getespeakopts "pt"
+ ;;
+ "romaneste")
+ getespeakopts "ro"
+ ;;
+ "russian")
+ getespeakopts "ru"
+ ;;
+ "svenska")
+ getespeakopts "sv"
+ ;;
+ *)
+ ESPEAK_OPTS=""
+ ;;
+ esac
+ TTS_OPTS="${TTS_OPTS}${ESPEAK_OPTS}"
+ fi
+
# Allow the user to input manual commandline options
printf "Enter $TTS_ENGINE options (enter for defaults \"$TTS_OPTS\"): "
USER_TTS_OPTS=`input`