-
Notifications
You must be signed in to change notification settings - Fork 5
/
extract_fbank.sh
59 lines (51 loc) · 2.14 KB
/
extract_fbank.sh
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
#!/bin/bash
. ./cmd.sh || exit 1;
nj=16 # number of parallel jobs in feature extraction
sampling_rate=24000 # sampling frequency
fmax=11400 # maximum frequency
fmin=80 # minimum frequency
num_mels=80 # number of mel basis
fft_size=1024 # number of fft points
hop_size=240 # number of shift points
win_length=697 # window length
part="all" # data partition in LibriTTS
train_set="train_${part}" # name of training data directory
dev_set="dev_${part}" # name of development data directory
eval_set="eval_${part}" # name of evaluation data directory
stage=0
stop_stage=1
. parse_options.sh || exit 1; # This allows you to pass command line arguments, e.g. --fmax 7600
set -eo pipefail
datadir=$PWD/data
featdir=$PWD/feats
if [ "${stage}" -le 0 ] && [ "${stop_stage}" -ge 0 ]; then
echo "Fbank Feature Extraction"
for x in ${train_set} ${dev_set} ${eval_set} ; do
# utils/fix_data_dir.sh ${datadir}/${x}
make_fbank.sh --cmd "${train_cmd}" --nj ${nj} \
--fs ${sampling_rate} \
--fmax "${fmax}" \
--fmin "${fmin}" \
--n_fft ${fft_size} \
--n_shift ${hop_size} \
--win_length "${win_length}" \
--n_mels ${num_mels} \
${datadir}/${x} \
exp/make_fbank/${x} \
${featdir}/fbank/${x}
mv ${datadir}/${x}/feats.scp ${featdir}/fbank/${x}
done
fi
if [ "${stage}" -le 1 ] && [ "${stop_stage}" -ge 1 ]; then
echo "Cepstral Mean Variance Normalization"
feat_name=fbank
compute-cmvn-stats.py scp:${featdir}/${feat_name}/${train_set}/feats.scp ${featdir}/${feat_name}/${train_set}/cmvn.ark
for x in ${train_set} ${dev_set} ${eval_set} ; do
echo "Applying normalization for dataset ${x}"
mkdir -p ${featdir}/normed_${feat_name}/${x} ;
apply-cmvn.py --norm-vars=true --compress True \
${featdir}/${feat_name}/${train_set}/cmvn.ark \
scp:${featdir}/${feat_name}/${x}/feats.scp \
ark,scp:${featdir}/normed_${feat_name}/${x}/feats.ark,${featdir}/normed_${feat_name}/${x}/feats.scp
done
fi