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
|
#!/bin/sh
cmnd=$0;
SPTK_PATH=/usr/lib/sptk/bin
PATH="$SPTK_PATH":"$PATH"
set -e;
usage()
{
cat<<EOF
$cmnd - mgc-lsp to mgc
usage:
$cmnd [ option ] [ infile ] > stdout
option:
-m m : order of mel-generalized cepstrum [25]
-a a : alpha of mel-generalized cepstrum [0.35]
-g g : gamma of mel-generalized cepstrum [-1]
-c c : gamma of mel-generalized cepstrum = -1 / (int) c (input)
-i i : input format [0]
0 (normalized frequency [0...pi])
1 (normalized frequency [0...0.5])
2 (frequency [kHz])
3 (frequency [Hz])
-s s : sampling frequency [10kHz]
-l : output log gain rater than linear gain [FALSE]
-h : print this message
infile(s):
mgc-lsp (float)
output:
mel-grneralized cepstrum (float) [stdin]
Replacement of the SPTK mgclsp2mgc command
EOF
}
a=0.35
g=-1
m=25
lg=" "
in=0
s=10
c=""
# Parse options
while getopts a:c:g:m:li:s:h OPT; do
case "$OPT" in
a)
a="$OPTARG"
;;
c)
c="$OPTARG"
;;
g)
g="$OPTARG"
;;
m)
m="$OPTARG"
;;
l)
lg="-l"
;;
i)
in="$OPTARG"
;;
s)
s="$OPTARG"
;;
h)
usage >&2;
exit 0;
;;
esac
done
shift $(($OPTIND - 1))
file="$1"
if [ ! -f "$file" ]
then
echo "$cmnd: Cannot open file $file!" >&2;
usage >&2;
exit 0;
fi
if test x"$c" != x""
then
lsp2lpc -m $m -s $s -i $in $lg $file |\
mgc2mgc -m $m -M $m -a $a -A $a -c $c -C $c -n -u
else
lsp2lpc -m $m -s $s -i $in $lg $file |\
mgc2mgc -m $m -M $m -a $a -A $a -g $g -G $g -n -u
fi
|