rhubarb-lip-sync/lib/flite-1.4/tools/make_voice_list

62 lines
3.3 KiB
Bash

#!/bin/sh
#####################################################-*-mode:shell-script-*-
## ##
## Language Technologies Institute ##
## Copyright (c) 2008 ##
## 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. ##
## ##
###########################################################################
## ##
## Build a compilable C file with a list of the available voices ##
## ##
###########################################################################
rm -f flite_voice_list.c
echo "/* Generated automatically from make_voice_list */" >flite_voice_list.c
echo >>flite_voice_list.c
echo '#include "flite.h"' >>flite_voice_list.c
echo >>flite_voice_list.c
for i in $*
do
echo "cst_voice *register_"$i"(const char *voxdir);">>flite_voice_list.c
done
echo >>flite_voice_list.c
echo "cst_val *flite_set_voice_list(void)" >>flite_voice_list.c
echo "{" >>flite_voice_list.c
for i in $*
do
echo " flite_voice_list = cons_val(voice_val(register_"$i"(NULL)),flite_voice_list);" >>flite_voice_list.c
done
echo " flite_voice_list = val_reverse(flite_voice_list);" >>flite_voice_list.c
echo " return flite_voice_list;" >>flite_voice_list.c
echo "}" >>flite_voice_list.c
echo >>flite_voice_list.c