summaryrefslogtreecommitdiff
path: root/tools/genvoice.sh
diff options
context:
space:
mode:
authorJonas Häggqvist <rasher@rasher.dk>2007-11-16 20:07:23 +0000
committerJonas Häggqvist <rasher@rasher.dk>2007-11-16 20:07:23 +0000
commita16ad96b1b4ccdc86ccf4467c4b930c6582eca42 (patch)
tree86ea12541c8b08645e964421ec658eef4c4c6a64 /tools/genvoice.sh
parent1b2561b0d9cdb37ac433e81f8a014a92d714b3e8 (diff)
downloadrockbox-a16ad96b1b4ccdc86ccf4467c4b930c6582eca42.tar.gz
rockbox-a16ad96b1b4ccdc86ccf4467c4b930c6582eca42.zip
Remove deprecated shellscripts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15647 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/genvoice.sh')
-rwxr-xr-xtools/genvoice.sh153
1 files changed, 0 insertions, 153 deletions
diff --git a/tools/genvoice.sh b/tools/genvoice.sh
deleted file mode 100755
index 4e58801205..0000000000
--- a/tools/genvoice.sh
+++ /dev/null
@@ -1,153 +0,0 @@
1#!/bin/sh
2# __________ __ ___.
3# Open \______ \ ____ ____ | | _\_ |__ _______ ___
4# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7# \/ \/ \/ \/ \/
8# $Id$
9#
10# Copyright 2006 Jonas Häggqvist, some parts Copyright 2004 Daniel Gudlat
11#
12# All files in this archive are subject to the GNU General Public License.
13# See the file COPYING in the source tree root for full license agreement.
14#
15# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16# KIND, either express or implied.
17
18# Include voicecommon.sh from the same dir as this script
19# Any settings from voicecommon can be overridden if added below the following
20# line.
21source `dirname $0`'/voicecommon.sh'
22
23####################
24# General settings #
25####################
26
27# These settings can be overridden by passing a file with definitions as
28# the fourth parameter to this script
29
30# which TTS engine to use. Available: festival, flite, espeak
31TTS_ENGINE=festival
32# which encoder to use, available: lame, speex, vorbis (only lame will produce
33# functional voice clips at this point)
34ENCODER=lame
35# Where to save temporary files
36TEMPDIR=/tmp
37# List of IDs to send to voicefont
38VOICEFONTIDS=voicefontids
39
40###################
41# End of settings #
42###################
43
44TARGET_ID="$4"
45createvoicefile() {
46 RLANG="$1"
47 $GENLANG -e=$ENGLISH -o -t=$TARGET $LANG_FILE > $VOICEFONTIDS
48 $VOICEFONT "$VOICEFONTIDS" "$TARGET_ID" "$TEMPDIR/" "./$RLANG.voice"
49 rm -f $VIOCEFONTIDS
50}
51
52deletefiles() {
53 # XXX: might be unsafe depending on the value of TEMPDIR
54 rm -f "${TEMPDIR}"/LANG_*
55 rm -f "${TEMPDIR}"/VOICE_*
56 rm -f "${TEMPDIR}"/NOT_USED_*
57}
58
59generateclips() {
60 ROCKBOX_DIR="$1"
61 RLANG="$2"
62 TARGET="$3"
63 GENLANG="$ROCKBOX_DIR"/tools/genlang
64 ENGLISH="$ROCKBOX_DIR"/apps/lang/english.lang
65 LANG_FILE="$ROCKBOX_DIR"/apps/lang/$RLANG.lang
66
67 $GENLANG -e=$ENGLISH -o -t=$TARGET $LANG_FILE |(
68 i=0
69 while read line; do
70 case `expr $i % 3` in
71 0)
72 # String ID no.
73 NUMBER=`echo $line |cut -b 2-`
74 ;;
75 1)
76 # String ID
77 ID=`echo $line |cut -b 5-`
78 ;;
79 2)
80 # String
81 STRING=`echo $line |cut -b 8-`
82 # xxx: Should the hash include encoder/tts options?
83 POOL_FILE=${POOL}/`echo "$STRING" |md5sum|cut -b-32`-${RLANG}.mp3
84
85 if [ -n "$POOL" ]; then
86 # we have a common pool of snippets, check that first
87 # for available mp3 sounds, and if it is available copy
88 # (symlink!) it over
89 if [ -f "$POOL_FILE" ]; then
90 echo "Re-using $ID from pool (${POOL_FILE})"
91 if [ ! -e "$TEMPDIR/$ID".mp3 ]; then
92 # only do this if not present
93 cp -f "$POOL_FILE" "$TEMPDIR/$ID".mp3
94 fi
95 fi
96 fi
97
98 # only make an mp3 if not already present
99 if [ ! -e "$TEMPDIR/$ID".mp3 ]; then
100 # Now generate the file
101 voice "$STRING" "$TEMPDIR/$ID".wav
102 if [ -n "$POOL" ]; then
103 # create it in the pool, symlink it back
104 encode "$TEMPDIR/$ID".wav "$POOL_FILE"
105 cp -f "$POOL_FILE" "$TEMPDIR/$ID".mp3
106 else
107 encode "$TEMPDIR/$ID".wav "$TEMPDIR/$ID".mp3
108 fi
109 fi
110 ;;
111 esac
112 i=`expr $i + 1`
113 done
114 )
115}
116
117if [ -z "$4" ]; then
118 echo "Usage: $0 rockboxdirectory language target targetid [settingsfile]";
119 exit 32
120else
121 if [ ! -d "$1" ] || [ ! -f "$1/tools/genlang" ]; then
122 echo "Error: $1 is not a Rockbox directory"
123 exit 33
124 fi
125 # Check for valid language
126 if [ ! -f "$1/apps/lang/$2.lang" ]; then
127 echo "Error: $2 is not a valid language"
128 exit 34
129 fi
130 if [ ! -z "$5" ]; then
131 if [ -f "$5" ]; then
132 # Read settings from file
133 . "$5"
134 else
135 echo "Error: $5 does not exist"
136 exit 36
137 fi
138 fi
139 # XXX: check for valid $TARGET?
140fi
141
142VOICEFONT=`dirname $0`/voicefont
143if [ ! -x $VOICEFONT ]; then
144 echo "Error: $VOICEFONT does not exist or is not executable"
145 exit 35
146fi
147
148init_tts
149init_encoder
150generateclips "$1" "$2" "$3"
151stop_tts
152createvoicefile "$2"
153deletefiles