kaldi例子thchs30笔记(二)

数据准备

由于我们已经下载过数据了,直接进行数据准备。

根据注释,我们知道,数据准备就是要产生四个文件分别是text,wav.scp,utt2spk,spk2utt

(1)text:音频标注

(2)wav.scp:指定音频路径

(3)utt2spk:音频对应的说话人信息

(4)spk2utt:说话人对应的音频信息

打开s5/local/thchs-30_data_prep.sh

mkdir -p data/{train,dev,test}

在data文件夹下创建三个文件夹分别是train、dev、test用来存储数据。

for x in train dev test; do
  echo "cleaning data/$x"
  cd $dir/data/$x
  rm -rf wav.scp utt2spk spk2utt word.txt phone.txt text
  echo "preparing scps and text in data/$x"

首先判断在这三个文件夹中是否有数据,如果有,进入文件,将其删除。然后重新进行数据准备,这里说的数据是已经处理好的上边的四个数据文件text、wav.scp、utt2spk、spk2utt。

for nn in `find  $corpus_dir/$x -name "*.wav" | sort -u | xargs -I {} basename {} .wav`; do

  • 第一步是找到原始数据中的所有wav文件,并输出绝对路径
  • 第二步是根据上一步得到的路径来进行排序,-u指的是去掉重复行
  • 第三步是输出文件的basename(去掉wav), -I 表示逐行操作。
    所以上述代码出来的是所有的wav文件的文件名。

 

      spkid=`echo $nn | awk -F"_" '{print "" $1}'`
      spk_char=`echo $spkid | sed 's/\([A-Z]\).*/\1/'`
      spk_num=`echo $spkid | sed 's/[A-Z]\([0-9]\)/\1/'`
      spkid=$(printf '%s%.2d' "$spk_char" "$spk_num")
      utt_num=`echo $nn | awk -F"_" '{print $2}'`
      uttid=$(printf '%s%.2d_%.3d' "$spk_char" "$spk_num" "$utt_num")

对于类似于 A11_0 这样的文件,以 “_” 区分开,会分成两个部分, A11和0,spkid读取A11,也就是说话人的id。在spkid中读取A-Z的字母片段和0-9的数字片段,对于A11, spk_char=“A”, spk_num=“11”,最后一行读取的是某个说话人说的第几句话的索引。

     echo $uttid $corpus_dir/$x/$nn.wav >> wav.scp
      echo $uttid $spkid >> utt2spk
      echo $uttid `sed -n 1p $corpus_dir/data/$nn.wav.trn` >> word.txt
      echo $uttid `sed -n 3p $corpus_dir/data/$nn.wav.trn` >> phone.txt

以上几句是将读取的文件名 文件的绝对路径写到wav.scp,每句话对应的说话人写到 utt2spk,对应的word和phone写到对应的文本中。

参考:https://blog.youkuaiyun.com/weixin_37767223/article/details/83152832?ops_request_misc=&request_id=&biz_id=102&utm_term=data_prep.sh&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-8-83152832.first_rank_v2_pc_rank_v29_10

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值