|
|
@ -1,7 +1,15 @@
|
|
|
|
#!/bin/bash
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ $# != 1 ];then
|
|
|
|
|
|
|
|
echo "usage: ${0} ckpt_dir"
|
|
|
|
|
|
|
|
exit -1
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ckpt_dir=$1
|
|
|
|
|
|
|
|
|
|
|
|
stage=-1
|
|
|
|
stage=-1
|
|
|
|
stop_stage=100
|
|
|
|
stop_stage=100
|
|
|
|
|
|
|
|
unit_type=char
|
|
|
|
|
|
|
|
|
|
|
|
source ${MAIN_ROOT}/utils/parse_options.sh
|
|
|
|
source ${MAIN_ROOT}/utils/parse_options.sh
|
|
|
|
|
|
|
|
|
|
|
@ -9,18 +17,16 @@ mkdir -p data
|
|
|
|
TARGET_DIR=${MAIN_ROOT}/examples/dataset
|
|
|
|
TARGET_DIR=${MAIN_ROOT}/examples/dataset
|
|
|
|
mkdir -p ${TARGET_DIR}
|
|
|
|
mkdir -p ${TARGET_DIR}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bash local/download_model.sh ${ckpt_dir}
|
|
|
|
bash local/download_model.sh
|
|
|
|
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
exit 1
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cd ${ckpt_dir}
|
|
|
|
tar xzvf librispeech_v1.8_to_v2.x.tar.gz
|
|
|
|
tar xzvf librispeech_v1.8_to_v2.x.tar.gz
|
|
|
|
mv librispeech_v1.8.pdparams exp/deepspeech2/checkpoints/
|
|
|
|
cd -
|
|
|
|
mv README.md exp/deepspeech2/
|
|
|
|
mv ${ckpt_dir}/mean_std.npz data/
|
|
|
|
mv mean_std.npz data/
|
|
|
|
mv ${ckpt_dir}/vocab.txt data/
|
|
|
|
mv vocab.txt data/
|
|
|
|
|
|
|
|
rm librispeech_v1.8_to_v2.x.tar.gz -f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ ${stage} -le -1 ] && [ ${stop_stage} -ge -1 ]; then
|
|
|
|
if [ ${stage} -le -1 ] && [ ${stop_stage} -ge -1 ]; then
|
|
|
|
# download data, generate manifests
|
|
|
|
# download data, generate manifests
|
|
|
@ -52,36 +58,13 @@ if [ ${stage} -le -1 ] && [ ${stop_stage} -ge -1 ]; then
|
|
|
|
done
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ ${stage} -le 1 ] && [ ${stop_stage} -ge 1 ]; then
|
|
|
|
|
|
|
|
# compute mean and stddev for normalizer
|
|
|
|
|
|
|
|
num_workers=$(nproc)
|
|
|
|
|
|
|
|
python3 ${MAIN_ROOT}/utils/compute_mean_std.py \
|
|
|
|
|
|
|
|
--manifest_path="data/manifest.train.raw" \
|
|
|
|
|
|
|
|
--num_samples=2000 \
|
|
|
|
|
|
|
|
--specgram_type="linear" \
|
|
|
|
|
|
|
|
--delta_delta=false \
|
|
|
|
|
|
|
|
--sample_rate=16000 \
|
|
|
|
|
|
|
|
--stride_ms=10.0 \
|
|
|
|
|
|
|
|
--window_ms=20.0 \
|
|
|
|
|
|
|
|
--use_dB_normalization=True \
|
|
|
|
|
|
|
|
--num_workers=${num_workers} \
|
|
|
|
|
|
|
|
--output_path="data/mean_std.json"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
|
|
|
|
echo "Compute mean and stddev failed. Terminated."
|
|
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then
|
|
|
|
if [ ${stage} -le 2 ] && [ ${stop_stage} -ge 2 ]; then
|
|
|
|
# format manifest with tokenids, vocab size
|
|
|
|
# format manifest with tokenids, vocab size
|
|
|
|
for set in train dev test dev-clean dev-other test-clean test-other; do
|
|
|
|
for set in train dev test dev-clean dev-other test-clean test-other; do
|
|
|
|
{
|
|
|
|
{
|
|
|
|
python3 ${MAIN_ROOT}/utils/format_data.py \
|
|
|
|
python3 ${MAIN_ROOT}/utils/format_data.py \
|
|
|
|
--feat_type "raw" \
|
|
|
|
--feat_type "raw" \
|
|
|
|
--cmvn_path "data/mean_std.json" \
|
|
|
|
--cmvn_path "data/mean_std.npz" \
|
|
|
|
--unit_type ${unit_type} \
|
|
|
|
--unit_type ${unit_type} \
|
|
|
|
--vocab_path="data/vocab.txt" \
|
|
|
|
--vocab_path="data/vocab.txt" \
|
|
|
|
--manifest_path="data/manifest.${set}.raw" \
|
|
|
|
--manifest_path="data/manifest.${set}.raw" \
|
|
|
|