summaryrefslogtreecommitdiff
path: root/tools/gentalkclips.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/gentalkclips.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/gentalkclips.sh')
-rwxr-xr-xtools/gentalkclips.sh152
1 files changed, 0 insertions, 152 deletions
diff --git a/tools/gentalkclips.sh b/tools/gentalkclips.sh
deleted file mode 100755
index 8da3b37704..0000000000
--- a/tools/gentalkclips.sh
+++ /dev/null
@@ -1,152 +0,0 @@
1#!/bin/sh
2# __________ __ ___.
3# Open \______ \ ____ ____ | | _\_ |__ _______ ___
4# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7# \/ \/ \/ \/ \/
8# $Id$
9#
10# Copyright (c) 2004 Daniel Gudlat
11# - http://www.rockbox.org/tracker/task/2131
12# Copyright (c) 2006 Jonas Häggqvist
13# - This version, only dirwalk and the following comments remains
14#
15# All files in this archive are subject to the GNU General Public License.
16# See the file COPYING in the source tree root for full license agreement.
17#
18# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19# KIND, either express or implied.
20#
21# Note: You may wish to change some of the settings below.
22#
23# A script to automatically generate audio clips containing the names of all
24# folders in a directory tree for use with the "Talkbox" feature available to
25# users of the Rockbox open source firmware for Archos MP3 players and
26# recorders as well as several other devices. Talkbox permits the device to
27# speak the names of the folders as one navigates the directory structure on
28# the device, thus permitting "eyes-free" use for those for whom the usual
29# visual navigation is difficult or simply inadvisable.
30#
31# Audio clips are captured and stored in wave format, then converted into MP3
32# format by a third party application (lame). If you execute the script,
33# passing it the top level of your music file hierarchy as an argument while
34# your device is connected to your PC, then the resulting audio clips will be
35# generated and stored in the correct location for use with the Talkbox
36# feature. Alternatively, if you mirror your music folder structure from your
37# PC to your Archos device, you can just run the script on the PC and then
38# update the files on your Archos with your usual synchronization routine.
39#
40# NOTE: If you don't already have them installed, you may obtain the Festival
41# text to speech system and several voices at:
42#
43# http://www.cstr.ed.ac.uk/projects/festival.html
44# http://festvox.org/festival/
45#
46# The most pleasant freely available Festival voice I know of is the slt_arctic
47# voice from HST at http://hts.ics.nitech.ac.jp/
48#
49# Known bugs
50# - This script generates talk clips for all files, Rockbox only uses talk clips
51# for music files it seems.
52
53# Include voicecommon.sh from the same dir as this script
54# Any settings from voicecommon can be overridden if added below the following
55# line.
56source `dirname $0`'/voicecommon.sh'
57
58####################
59# General settings #
60####################
61
62# which TTS engine to use. Available: festival, flite, espeak
63TTS_ENGINE=festival
64# which encoder to use, available: lame, speex, vorbis (only lame will produce
65# functional voice clips)
66ENCODER=lame
67# whether to overwrite existing mp3 files or only create missing ones (Y/N)
68OVERWRITE_TALK=N
69# whether, when overwriting mp3 files, also to regenerate all the wav files
70OVERWRITE_WAV=N
71# whether to remove the intermediary wav files after creating the mp3 files
72REMOVE_WAV=Y
73# whether to recurse into subdirectories
74RECURSIVE=Y
75# whether to strip extensions from filenames
76STRIP_EXTENSIONS=Y
77
78###################
79# End of settings #
80###################
81
82strip_extension() {
83 TO_SPEAK=$1
84 # XXX: add any that needs adding
85 for ext in mp3 ogg flac mpc sid; do
86 TO_SPEAK=`echo "$TO_SPEAK" |sed "s/\.$ext//i"`
87 done
88}
89
90# Walk directory $1, creating talk files if necessary, descend into
91# subdirecotries if specified
92dirwalk() {
93 if [ -d "$1" ]; then
94 for i in "$1"/*; do
95 # Do not generate talk clip for talk(.wav) files
96 if [ `echo "$i" | grep -c "\.talk$"` -ne 0 ] || \
97 [ `echo "$i" | grep -c "\.talk\.wav$"` -ne 0 ]; then
98 echo "Notice: Skipping file \"$i\""
99 continue
100 fi
101
102 TO_SPEAK=`basename "$i"`
103 if [ X$STRIP_EXTENSIONS = XY ]; then
104 strip_extension "$TO_SPEAK"
105 fi
106
107 if [ -d "$i" ]; then
108 # $i is a dir:
109 SAVE_AS="$i"/_dirname.talk
110 WAV_FILE="$SAVE_AS".wav
111
112 # If a talk clip already exists, only generate a new one if
113 # specified
114 if [ ! -f "$SAVE_AS" ] || [ X$OVERWRITE_TALK = XY ]; then
115 voice "$TO_SPEAK" "$WAV_FILE"
116 encode "$WAV_FILE" "$SAVE_AS"
117 fi
118
119 # Need to be done lastly, or all variables will be dirty
120 if [ X$RECURSIVE = XY ]; then
121 dirwalk "$i"
122 fi
123 else
124 # $i is a file:
125 SAVE_AS="$i".talk
126 WAV_FILE="$SAVE_AS".wav
127
128 # If a talk clip already exists, only generate a new one if
129 # specified
130 if [ ! -f "$i.talk" ] || [ X$OVERWRITE_TALK != XY ]; then
131 voice "$TO_SPEAK" "$WAV_FILE"
132 encode "$WAV_FILE" "$SAVE_AS"
133 fi
134 fi
135 # Remove wav file if specified
136 if [ X$REMOVEWAV = XY ]; then
137 rm -f "$WAV_FILE"
138 fi
139 done
140 else
141 echo "Warning: $1 is not a directory"
142 fi
143}
144
145init_tts
146init_encoder
147if [ $# -gt 0 ]; then
148 dirwalk "$*"
149else
150 dirwalk .
151fi
152stop_tts