#!/bin/bash第一行是脚本解释器,,我们采用bash这个脚本解释器;
train_cmd=“utils/run.pl”
decode_cmd=“utils/run.pl”
#-d filename 判断filename是否为目录,是为真,即下面的是如果waves_yesorno部署目录,去网站下载,||逻辑或,如果前面的语句执行成功,后面的就不执行了,如果前面的出问题,就异常退出(exit 0 代表正常运行程序并退出程序,exit 1 代表非正常运行导致退出程序。其实目的就是: 程序退出后, 用户可以 echo $? 来查看是 0 还是 1, 从而达到检测程序是正常结束退出还是产生错误而退出的目的.)
if[! -d waves_yesorno];then
wget http://www.openslr.org/resources/1/waves_yesno.tar.gz || exit 1;
# 【shell】tar命令详解
tar -xvzf waves_yesno.tar.gz || exit 1;
fi
train_yesno=train_yesno
test_base_name=test_yesno
rm -rf data exp mfcc #删除以下文件
#Data preparation
local/prepare_data.sh waves_yesno #数据文件准备
local/prepare_dict.sh #数据字典准备
utils/prepare_lang.sh --position-dependent-phones false data/local/dict “< SIL>” data/local/lang data/lang#利用lang文件将几个文件对操作
local/prepare_lm.sh
#Feature extraction 特征提取
for x in train_yesno test_yesno; do
steps/make_mfcc.sh --nj 1 data/$ x exp/make_mfcc/$ x mfcc
steps/compute_cmvn_stats.sh data/$ x exp/make_mfcc/ $ x mfcc
utils/fix_data_dir.sh data/$x
done
shell脚本分析学习关于kaldi中yesno脚本的详细分析,以及脚本的理解