File: setup_flite

package info (click to toggle)
flite 1.2-release-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 53,484 kB
  • ctags: 171,380
  • sloc: ansic: 526,028; sh: 3,078; lisp: 1,515; cpp: 776; makefile: 560; perl: 37
file content (122 lines) | stat: -rwxr-xr-x 5,159 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/bin/sh
#####################################################-*-mode:shell-script-*-
##                                                                       ##
##                  Language Technologies Institute                      ##
##                   Alan W Black and Kevin A. Lenzo                     ##
##                        Copyright (c) 2000                             ##
##                        All Rights Reserved.                           ##
##                                                                       ##
##  Permission is hereby granted, free of charge, to use and distribute  ##
##  this software and its documentation without restriction, including   ##
##  without limitation the rights to use, copy, modify, merge, publish,  ##
##  distribute, sublicense, and/or sell copies of this work, and to      ##
##  permit persons to whom this work is furnished to do so, subject to   ##
##  the following conditions:                                            ##
##   1. The code must retain the above copyright notice, this list of    ##
##      conditions and the following disclaimer.                         ##
##   2. Any modifications must be clearly marked as such.                ##
##   3. Original authors' names are not deleted.                         ##
##   4. The authors' names are not used to endorse or promote products   ##
##      derived from this software without specific prior written        ##
##      permission.                                                      ##
##                                                                       ##
##  CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK         ##
##  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      ##
##  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   ##
##  SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE      ##
##  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    ##
##  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   ##
##  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          ##
##  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       ##
##  THIS SOFTWARE.                                                       ##
##                                                                       ##
###########################################################################
##                                                                       ##
##  Setup the current directory for building a FLITE voice from a        ##
##  a festvox voice                                                      ##
##                                                                       ##
###########################################################################

if [ ! "$ESTDIR" ]
then
   echo "environment variable ESTDIR is unset"
   echo "set it to your local speech tools directory e.g."
   echo '   bash$ export ESTDIR=/home/awb/projects/speech_tools/'
   echo or
   echo '   csh% setenv ESTDIR /home/awb/projects/speech_tools/'
   exit 1
fi

if [ ! "$FLITEDIR" ]
then
   echo "environment variable FLITEDIR is unset"
   echo "set it to your local festvox directory e.g."
   echo '   bash$ export FLITEDIR=/home/awb/projects/flite/'
   echo or
   echo '   csh% setenv FLITEDIR /home/awb/projects/flite/'
   exit 1
fi

if [ ! -d wav ]
then
   echo "I'm expecting this directory to contain a festvox voice which"
   echo "should at least contain a wav/ directory, but haven't found one "
   echo "Are you sure this is the right directory to build in?"
   echo -n "Answer y/n? "
   read answer
   if [ "$answer" != "y" ]
   then
       echo "setup aborted"
       exit -1
   fi
fi

if [ ! -f etc/voice.defs ]
then
   echo "Can't find etc/voice.defs file"
   echo "don't know what voice to convert"
   echo "Setup for conversion of $1 to flite FAILED"
   exit 1
fi

mkdir flite
mkdir sts

. ./etc/voice.defs

cat $FLITEDIR/tools/Makefile.flite |
  sed 's%__FLITEDIR__%'$FLITEDIR'%' $i |
  sed 's%__VOICETYPE__%'$FV_TYPE'%' |
  sed 's%__VOICENAME__%'$FV_VOICENAME'%' >flite/Makefile

cat $FLITEDIR/tools/build_flite |
  sed 's%__FLITEDIR__%'$FLITEDIR'%' >bin/build_flite
chmod +x bin/build_flite

if [ "$FV_TYPE" = "diphone" ]
then
   cat $FLITEDIR/tools/VOICE_diphone.c |
     sed 's%__VOICENAME__%'$FV_VOICENAME'%g' >flite/$FV_VOICENAME.c
else 
   if [ "$FV_TYPE" = "ldom" ]
   then
      cat $FLITEDIR/tools/VOICE_ldom.c |
        sed 's%__VOICENAME__%'$FV_VOICENAME'%g' >flite/$FV_VOICENAME.c
   else
      cat $FLITEDIR/tools/VOICE_clunits.c |
        sed 's%__VOICENAME__%'$FV_VOICENAME'%g' >flite/$FV_VOICENAME.c
   fi
fi

cp -p $FLITEDIR/main/flite_main.c flite/flite_main.c

echo "#define VOXNAME" $FV_VOICENAME >flite/voxdefs.h
echo "#define REGISTER_VOX register_"$FV_VOICENAME >>flite/voxdefs.h
echo "#define UNREGISTER_VOX unregister_"$FV_VOICENAME >>flite/voxdefs.h
echo "#define VOXHUMAN \"Name\"" >>flite/voxdefs.h
echo "#define VOXGENDER \"unknown\"" >>flite/voxdefs.h
echo "#define VOXVERSION 1.0" >>flite/voxdefs.h

echo "Setup flite build for "$FV_VOICENAME" complete"

exit 0