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

本文详细介绍了Kaldi中为中文语音识别进行MFCC特征提取的过程,包括数据准备、生成MFCC特征、计算CMVN等步骤。在运行shell脚本时,对相关步骤进行了解析,特别关注了`make_mfcc.sh`脚本的执行和参数配置。在调试过程中,发现了由于注释引起的错误,并逐步解决了问题。
摘要由CSDN通过智能技术生成

接上回,完成数据准备的工作后,shell显示

说明已经创建这些文件完毕。 我们看到生成的spk2utt的文件格式是这样的:

我们看到它是先是一个说话者id号 然后是这个说话者id下的所有名称,

而word.txt和text是一样的。

既然我们已经数据准备了,所以以后就不用再进行数据准备了,所以在下次运行run.sh时,  先注释掉相关数据准备的shell脚本。
#data preparation
#generate text, wav.scp, utt2pk, spk2utt

#local/thchs-30_data_prep.sh $H $thchs/data_thchs30 || exit 1;

我们接下来继续看run.sh    
#produce MFCC features 生成 mfcc特征

rm -rf data/mfcc && mkdir -p data/mfcc &&  cp -R data/{train,dev,test,test_phone} data/mfcc || exit 1;
#先删除data下的mfcc目录, 并且创建mfcc目录,拷贝这些数据到mfcc目录
for x in train dev test; do
   #make  mfcc   生成mfcc
   steps/make_mfcc.sh --nj $n --cmd "$train_cmd" data/mfcc/$x exp/make_mfcc/$x mfcc/$x || exit 1; #调用steps/make_mfcc.sh ,$n是cpu的并发数,--cmd "$train_cmd"是 训练的cmd ,它调用的是 cmd.sh中设置的train_cmd ,data/mfcc/$x 是每个数据的目录,exp/make_mfcc/$x, mfcc/$x 这些都是目录的参数
   #compute cmvn 计算cmvn
   steps/compute_cmvn_stats.sh data/mfcc/$x exp/mfcc_cmvn/$x mfcc/$x || exit 1;
done

咱们先来看看steps/make_mfcc.sh是怎么样提取mfcc特征的:

#!/bin/bash

# Copyright 2012-2016  Johns Hopkins University (Author: Daniel Povey)
# Apache 2.0
# To be run from .. (one directory up from here)
# see ../run.sh for example

# Begin configuration section.
nj=4 #默认nj为4
cmd=run.pl #调用run.pl
mfcc_config=conf/mfcc.conf  #mfcc配置文件为conf/mfcc.conf  此时说明一下  我们看到 配置文件中只有如下两行:
--use-energy=false   # only non-default option.
#--sample-frequency=8000    说明没有选定使用能量,也就是不使用能量
compress=true   #这里应该是启用了压缩
write_utt2num_frames=false  # if true writes utt2num_frames  这里表示如果选择true 则就写utt2num_frames
# End configuration section.

echo "$0 $@"  # Print the command line for logging   这里是打印命令行到日志,$0为执行的命令 $@表示所有参数脚本的内容

if [ -f path.sh ]; then . ./path.sh; fi    #这句的意思是如果存在path.sh那么就执行它,为了测试它调用了,我们一会在path.sh中添加一些打印,来查看。

我们先看到这,将后面的先注释掉。
我们还需要在path中添加一些打印来方便查看,我们在path.sh中的开始部分加入
echo  "come here,for test"  ,如果打印多次,说明run.sh中的for循环通过make_mfcc.sh调用了path.sh多次。

我们调试一下ÿ

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值