home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / doc / festival / examples / benchmark < prev    next >
Encoding:
Text File  |  2006-05-21  |  1.8 KB  |  101 lines

  1. #!/bin/sh
  2.  
  3. default_libdir="/usr/lib/festival"
  4. default_datadir="/usr/share/festival"
  5.  
  6. while true
  7.     do
  8.     case "$1" in
  9.     -f ) festival="${2}"
  10.         shift 2
  11.         ;;
  12.     -l ) libdir="$2"
  13.         shift 2
  14.         ;;
  15.     -d ) datadir="$2"
  16.         shift 2
  17.         ;;
  18.     -- ) shift; break ;;
  19.     * ) break;;
  20.     esac
  21. done
  22.  
  23. text=${1-"/usr/share/doc/festival/examples/benchmark.text"}
  24.  
  25. for i in /usr/bin . src/main ../src/main $HOME/projects/festival/src/main /cstr/bin
  26.     do
  27.     if [ -n "$festival" ]
  28.         then
  29.         break;
  30.     fi
  31.     if [ -x "$i/festival" ]
  32.         then
  33.         festival="$i/festival"
  34.     fi
  35. done
  36.  
  37. [ -n "$festival" ] ||
  38.     {
  39.     echo "Can't find festival"
  40.     exit 1
  41.     }
  42.  
  43. if [ -z "$libdir" ]
  44.     then
  45.     case $festival in 
  46.     *main/festival )    libdir=`dirname $festival`/../../lib;;
  47.     * ) libdir=$default_libdir;
  48.     esac
  49. fi
  50.  
  51. if [ -z "$datadir" ]
  52.     then
  53.     case $festival in 
  54.     *main/festival )   datadir=`dirname $festival`/../../share;;
  55.     * ) datadir=$default_datadir;;
  56.     esac
  57. fi
  58.  
  59. echo Using $festival
  60.  
  61. start_flag_file="/tmp/fest_start_$$"
  62. end_flag_file="/tmp/fest_end_$$"
  63. script="/tmp/fest_script_$$"
  64.  
  65. echo -n > $flag_file;
  66.  
  67. cat > $script <<__END__
  68.  
  69. (set! libdir "$libdir/")
  70. (set! datadir "$datadir/")
  71. (set! lexdir "$default_datadir/dicts/")
  72. (set! voiced_dir "$default_datadir/voices/")
  73.  
  74. (load (string-append datadir "init.scm"))
  75. (if (probe_file (format nil "%s/.festivalrc" (getenv "HOME")))
  76.     (load (format nil "%s/.festivalrc" (getenv "HOME"))))
  77.  
  78.  
  79. (audio_mode 'async)
  80. (set! tts_hooks (list utt.synth))
  81.  
  82. (puts "start...\n" nil)
  83. (fclose (fopen "$start_flag_file" "w"))
  84.  
  85. (tts_file "$text" (quote text))
  86.  
  87. (fclose (fopen "$end_flag_file" "w"))
  88. (puts "...end\n" nil)
  89. (audio_mode 'close)
  90.  
  91. (quit)
  92.  
  93. __END__
  94.  
  95. eval $festival --script $script
  96.  
  97. perl -e 'print "running time = ", (stat($ARGV[1]))[8]-(stat($ARGV[0]))[8], " seconds\n";' $start_flag_file $end_flag_file
  98.  
  99. /bin/rm -f $start_flag_file $end_flag_file $script
  100.     
  101.