kaldi中文语音识别_基于thchs30(5)

接上回
if [ -f $data/segments ]; then   #这里是查看data/mfcc/train下是否存在segments,如果存在则执行then后面的脚本,否则执行else后面的,
这个文件不存在,所以之后调用else后面的处理

  echo "$0 [info]: segments file exists: using that."

  split_segments=""
  for n in $(seq $nj); do
    split_segments="$split_segments $logdir/segments.$n"
  done

  utils/split_scp.pl $data/segments $split_segments || exit 1;
  rm $logdir/.error 2>/dev/null

  $cmd JOB=1:$nj $logdir/make_mfcc_${name}.JOB.log \
    extract-segments scp,p:$scp $logdir/segments.JOB ark:- \| \
    compute-mfcc-feats $vtln_opts --verbose=2 --config=$mfcc_config ark:- ark:- \| \
    copy-feats --compress=$compress $write_num_frames_opt ark:- \
      ark,scp:$mfccdir/raw_mfcc_$name.JOB.ark,$mfccdir/raw_mfcc_$name.JOB.scp \
     || exit 1;

else
  echo "$0: [info]: no segments file exists: assuming wav.scp indexed by utterance."   #打印make_mfcc.sh: [info]:没有段文件存在:假设wav.scp索引是通过说话者进行
  split_scps=""
  for n in $(seq $nj); do
    split_scps="$split_scps $logdir/wav_${name}.$n.scp"    
    echo "----test: $split_scps"
  done   #这里应该是切分为4个,每一个都添加到这个变量中,我们注释后面的,加入一些打印运行一下

我们看到分为了四个
  utils/split_scp.pl $scp $split_scps || exit 1;  #这里就是将$scp(也就是 data/mfcc/train下的wav.scp)按照 $split_scps切分,也就是切分为上面说到的四个,我们后面在具体的看。我们执行一下这句。我们看到在exp/make_mfcc/train下生成4个文件。

可以用对比软件与原来的wav.scp对比一下。后来发现每个文件中是2500条目,一共是10000条目。


  # add ,p to the input rspecifier so that we can just skip over
  # utterances that have bad wave data.   #加入,p
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值