summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-12-23 22:03:49 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-12-23 22:03:49 +0000
commit37aeb12cc99cc22f62c44d5b0adcae35d0c471d8 (patch)
treee6a69829f73a9ac284c64c21561580c3fa11c527 /tools
parentcab7c46091d7c9f9804abd9952b3c8b65653ff74 (diff)
downloadrockbox-37aeb12cc99cc22f62c44d5b0adcae35d0c471d8.tar.gz
rockbox-37aeb12cc99cc22f62c44d5b0adcae35d0c471d8.tar.bz2
rockbox-37aeb12cc99cc22f62c44d5b0adcae35d0c471d8.zip
If the environment variable 'POOL' is set to a directory, this script will
then check if there's a previously generated mp3 file in it and if so, use that instead of regenerating a new one. This should greately enhance processing speed when many phrases are similar between targets and over time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11835 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools')
-rwxr-xr-xtools/genvoice.sh28
1 files changed, 25 insertions, 3 deletions
diff --git a/tools/genvoice.sh b/tools/genvoice.sh
index 5b667ea3ba..f32ab9476a 100755
--- a/tools/genvoice.sh
+++ b/tools/genvoice.sh
@@ -73,9 +73,31 @@ generateclips() {
# String
STRING=`echo $line |cut -b 8-`
- # Now generate the file
- voice "$STRING" "$TEMPDIR/$ID".wav
- encode "$TEMPDIR/$ID".wav "$TEMPDIR/$ID".mp3
+ if [ -n "$POOL" ]; then
+ # we have a common pool of snippets, check that first
+ # for available mp3 sounds, and if it is available copy
+ # (symlink!) it over
+ if [ -f "$POOL/$STRING.mp3" ]; then
+ echo "Re-using $ID from pool"
+ if [ ! -e "$TEMPDIR/$ID".mp3 ]; then
+ # only do this if not present
+ ln -s "$POOL/$STRING.mp3" "$TEMPDIR/$ID".mp3
+ fi
+ fi
+ fi
+
+ # only make an mp3 if not already present
+ if [ ! -e "$TEMPDIR/$ID".mp3 ]; then
+ # Now generate the file
+ voice "$STRING" "$TEMPDIR/$ID".wav
+ if [ -n "$POOL" ]; then
+ # create it in the pool, symlink it back
+ encode "$TEMPDIR/$ID".wav "$POOL/$STRING".mp3
+ ln -s "$POOL/$STRING.mp3" "$TEMPDIR/$ID".mp3
+ else
+ encode "$TEMPDIR/$ID".wav "$TEMPDIR/$ID".mp3
+ fi
+ fi
;;
esac
i=`expr $i + 1`