1#!/bin/sh 2####################################################-*-mode:shell-script-*- 3## ## 4## Carnegie Mellon University and ## 5## Alan W Black and Kevin A. Lenzo ## 6## Copyright (c) 1998-2000 ## 7## All Rights Reserved. ## 8## ## 9## Permission is hereby granted, free of charge, to use and distribute ## 10## this software and its documentation without restriction, including ## 11## without limitation the rights to use, copy, modify, merge, publish, ## 12## distribute, sublicense, and/or sell copies of this work, and to ## 13## permit persons to whom this work is furnished to do so, subject to ## 14## the following conditions: ## 15## 1. The code must retain the above copyright notice, this list of ## 16## conditions and the following disclaimer. ## 17## 2. Any modifications must be clearly marked as such. ## 18## 3. Original authors' names are not deleted. ## 19## 4. The authors' names are not used to endorse or promote products ## 20## derived from this software without specific prior written ## 21## permission. ## 22## ## 23## CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK ## 24## DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ## 25## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ## 26## SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE ## 27## FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ## 28## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ## 29## AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ## 30## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ## 31## THIS SOFTWARE. ## 32## ## 33########################################################################### 34 35if [ $# = 0 ] 36then 37 echo "Extract the F0 from waveform files and smooth them" 38 echo "Usage: bin/make_f0_pm wav/*.wav" 39 echo "Requires lab/*.lab for finding silences" 40 echo "Interpolates through non-voiced regions" 41 exit 1 42fi 43 44if [ ! "$ESTDIR" ] 45then 46 echo "environment variable ESTDIR is unset" 47 echo "set it to your local speech tools directory e.g." 48 echo ' bash$ export ESTDIR=/home/awb/projects/speech_tools/' 49 echo or 50 echo ' csh% setenv ESTDIR /home/awb/projects/speech_tools/' 51 exit 1 52fi 53 54if [ ! "$FESTVOXDIR" ] 55then 56 echo "environment variable FESTVOXDIR is unset" 57 echo "set it to your local festvox directory e.g." 58 echo ' bash$ export FESTVOXDIR=/home/awb/projects/festvox/' 59 echo or 60 echo ' csh% setenv FESTVOXDIR /home/awb/projects/festvox/' 61 exit 1 62fi 63 64PM_ARGS='-min 0.0057 -max 0.012 -def 0.01 -wave_end -lx_lf 140 -lx_lo 111 -lx_hf 80 -lx_ho 51 -med_o 0' 65SILENCE=pau 66 67for i in $* 68do 69 fname=`basename $i .wav` 70 echo $fname 71 $ESTDIR/bin/ch_wave -scaleN 0.9 $i -F 16000 -o tmp$$.wav 72 $ESTDIR/bin/pitchmark tmp$$.wav -o pm_unfilled/$fname.pm -otype est $PM_ARGS 73 $FESTVOXDIR/src/general/smooth_f0 -o f0/$fname.f0 -pm_input -pm_min_f0 70 -otype ssff pm_unfilled/$fname.pm -lab lab/$fname.lab -silences $SILENCE -interpolate -postsmooth -postwindow 0.025 74 rm -f tmp$$.wav 75done 76 77 78