语音识别数据准备

在这里插入图片描述

  1. 查看目录下有多少个数据:ls /home/…/ | wc -l

  2. 查看某个txt的具体内容:ls /home/…/*.txt | head -n 10

  3. 用file命令查看编码格式是否是utf-8:file /home/…/*.txt

  4. 查看txt有多少行:wc -l /home/…/*.txt

  5. wav.scp:[utt-id][wav-path]

    • 生成绝对路径:用find找出所有的绝对路径:find /home/…/ios/wav -iname ‘*.wav’ | head -n 1
      没有问题的话,写到文件里:find /home/…/ios/wav -iname ‘*.wav’ > wav.scp.temp

    • 生成wav-id(utt-id),用awk获取:
      head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}'
      得到倒数第一个:ID0012W0425.wav
      head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s_%s\n",$(NF-1),$NF)}'
      得到倒是第二个_倒数第一个:D0012_ID0012W0425.wav
      用sed把,wav替换成空,去掉.wav:
      head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}' | sed 's|.wav||'
      得到:ID0012W0425
      用sed在生成的基础上替换成指定内容:
      head -n 1 ios_dev_wav.scp.temp | awk -F '/' '{printf("%s_%s\n",$(NF-1),$NF)}' | sed 's|.wav||' | sed 's|D00|speaker_|'
      得到:speaker_12_ID0012W0425
      用cat把生成的东西输出到一个文件里:
      cat ios_dev_wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}' | sed 's|.wav||' > wav_id

    • paste把两个文件拼在一起: paste -d' ' wav_id ios_dev_wav.scp.temp |head -n 1
      输出到新的文件里:paste -d' ' wav_id ios_dev_wav.scp.temp > ios_dev_wav.scp

    • Done!

find /exdata/HOME/snie/dataset/speaker/AISHELL-2_dataset/dev/wav/*.wav > wav.scp.temp

cat wav.scp.temp | awk -F '/' '{printf("%s\n",$NF)}' | sed 's|.wav||' > wav_id

paste -d' ' wav_id wav.scp.temp > wav.scp

6、 text:[utt-id][text-content]

7、 utt2spk:[utt-id][spk-id]

8、 其他语句

  1. 在utt2spk的基础上生成spk2utt:
    head -n 1 utt2spk | awk -F ' ' '{printf("%s %s\n",$NF,$(NF-1))}'
    cat utt2spk | awk -F ' ' '{printf("%s %s\n",$NF,$(NF-1))}' >spk2utt
  2. 如果想提取mydata文件中含aaa的行,使用下面的命令:cat mydate.txt|grep -E 'aaa' > mydate2.txt> mydate2.txt 表示结果输入到 mydate2.txt 文件。
  3. 如果想提取mydata文件中含aaa,以及含bbb的行,可以连续使用 | :cat mydata.txt|grep -E 'aaa|bbb' > mydata2.txt
  4. 在每行的头添加字符,比如"HEAD",命令如下:sed 's/^/HEAD&/g' test.file;行尾:sed 's/$/&TAIL/g' test.file; 行首+行尾:sed '/./{s/^/HEAD&/;s/$/&TAIL/}' test.file
  5. mv或者cp的时候出现:Argument list too long
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值