从最简单的yesno模型入门kaldi语音识别(1.数据处理阶段)
作者头像
  • 闲话人工智能
  • 2023-06-28 07:51:56 14

在准备Kaldi的语音识别项目时,我们需要处理和准备训练及测试数据。以下是数据处理阶段的一些关键步骤和脚本说明。

首先,我们执行 run.sh 入口程序。该程序会指导我们完成整个数据处理过程。接下来,我们将重点介绍一些重要的数据处理脚本及其功能。

数据处理阶段

训练和测试数据预处理

在开始详细讲解前20行代码之前,我们可以先了解几个关键步骤:

  • 第3、4行代码用于并行处理任务,以加快计算速度。
  • 第6至11行代码用于检查是否已下载并解压所需的 yesno 训练数据文件。如果没有,则自动从OpenSLR仓库下载并解压。
  • 第13、14行设置了一些变量,用于生成训练目录和测试目录。
  • 第16行用于删除之前的旧数据文件夹,包括 data, exp, 和 mfcc 文件夹。
  • 第20行指向了今天我们需重点学习的数据处理脚本。

执行 local/prepare_data.sh 脚本

该脚本负责处理 waves_yesno 数据集,具体步骤如下:

  1. waves_yesno 目录中的所有文件名保存到 data/local/waves_all.list 文件中。
  2. 使用 create_yesno_waves_test_train.pl 脚本将数据集分为训练文件名列表(data/local/waves.train)和测试文件名列表(data/local/waves.test),每部分包含30个文件名。
  3. 使用 create_yesno_wav_scp.pl 脚本对测试数据进行标注,生成 data/local/test_yesno_wav.scp 文件,格式为: 1_0_0_0_0_0_0_0 waves_yesno/1_0_0_0_0_0_0_0.wav 1_0_0_0_0_0_0_1 waves_yesno/1_0_0_0_0_0_0_1.wav
  4. 同样地,使用 create_yesno_wav_scp.pl 脚本对训练数据进行标注,生成 data/local/train_yesno_wav.scp 文件,格式类似。
  5. 使用 create_yesno_txt.pl 脚本对测试数据进行标注,生成 data/local/test_yesno.txt 文件,格式为: 1_0_0_0_0_0_0_0 YES NO NO NO NO NO NO NO 1_0_0_0_0_0_0_1 YES NO NO NO NO NO NO YES
  6. 同样地,使用 create_yesno_txt.pl 脚本对训练数据进行标注,生成 data/local/train_yesno.txt 文件,格式类似。
  7. data/local 目录下创建一个 lm_tg.arpa 文件,内容如下: data ngram 1=4 1-grams: -1 NO -1 YES -99 <s> -1 </s>

数据复制阶段

接下来,我们将数据从 data/local 目录复制到 data/train_yesnodata/test_yesno 目录中:

  1. 创建 data/train_yesnodata/test_yesno 目录。
  2. data/local/test_yesno_wav.scpdata/local/train_yesno_wav.scp 分别复制到 data/test_yesno/wav.scpdata/train_yesno/wav.scp
  3. data/local/train_yesno.txtdata/local/test_yesno.txt 分别复制到 data/train_yesno/textdata/test_yesno/text
  4. 使用 awk 工具处理 text 文件,生成 data/train_yesno/utt2spkdata/test_yesno/utt2spk 文件。这两个文件记录了每个发音和对应的说话者ID。
  5. 最后,使用 utils/utt2spk_to_spk2utt.pl 脚本将 utt2spk 文件转换成 spk2utt 格式,以便后续处理。

以上步骤完成后,数据准备阶段基本结束。后续步骤将继续更新,请持续关注。

希望这些信息能帮助你更好地理解和使用Kaldi进行语音识别项目的开发。

    本文来源:图灵汇
责任编辑: : 闲话人工智能
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
数据处理语音识别入门模型阶段简单kaldiyesno
    下一篇