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