kaldi :详解aishell-1全过程【**数据准备**】

kaldi :详解aishell-1全过程【数据准备

环境:ubantu18.04

过程简单说来就是:
①语料数据准备 下载语料库到本地/服务器的文件夹

data_url=www.openslr.org/resources/33
. ./cmd.sh
local/download_and_untar.sh $data $data_url data_aishell || exit 1;
local/download_and_untar.sh $data $data_url resource_aishell || exit 1;

②数据关系,词典、语言文件(text, wav.scp, utt2pk, spk2utt)准备,训练集、测试集、验证集准备

#Lexicon Preparation
local/aishell_prepare_dict.sh $data/resource_aishell || exit 1;
#Data Preparation,
local/aishell_data_prep.sh $data/data_aishell/wav $data/data_aishell/transcript || exit 1;
#Phone Sets, questions, L compilation
utils/prepare_lang.sh --position-dependent-phones false data/local/dict \
    "<SPOKEN_NOISE>" data/local/lang data/lang || exit 1;
ain_dir=data/local/train
dev_dir=data/local/dev
test_dir=data/local/test
tmp_dir=data/local/tmp

③单音素(或者其他模型)训练和解码
④构建解码图
⑤解码查看结果

——————————————————————————————————

1.准备好相关配置

如果已经kaldi安装好之后, cd /kaldi/egs/aishell/s5中只需修改cmd.sh、run.sh这两个文件即可:
(1)修改run.sh,设置下载的aishell-1数据集存放的路径
在这里插入图片描述
在这里插入图片描述
(2)修改 cmd.sh , 设置本机运行相关参数(此处根据本机硬件自主设置)
在这里插入图片描述

在这里插入图片描述

2.数据准备【数据准备生成的文本(text, wav.scp, utt2pk, spk2utt)是kaldi能够读取数据的格式】

(1) wav.scp
用处:指定音频路径
结构: [utterance] [wav_path]
(2) utt2spk
用处: 音频对应说话人信息
结构: [utterance] [speaker]
(3) spk2utt
用处: 说话人对应音频信息
结构: [speaker] [utterance]
(4) text
用处: 音频标注
结构: [utterance] [transcript]

(5)例子:

脚本实现(text, wav.scp, utt2pk, spk2utt),以train为例;

local/aishell_data_prep.sh $data/data_aishell/wav $data/data_aishell/transcript || exit 1;
【这一步相信大家可能发现老是出现错误】
①touch -i  data/data_aishell/.complete #提示无法创建.complete ,因此自己可以先创建一个。
②介绍一下 aishell_data_prep.sh,它就是生成(text, wav.scp, utt2pk, spk2utt)脚本,当我们运行这个脚本后,
发现/data/local/train/中的wav.flist是空的,并且文本也没有生成。错误的原因是 aishell_data_prep.sh
脚本中的grep -i "/train" $tmp_dir/wav.flist > $train_dir/wav.flist || exit 1;  这行脚本意思是找到含有/train的所有数据。
这个/train是关键,因为kaldi的原来的是/wav/train/,因此这需要根据自己的路径情况修改。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44885180/article/details/114421486
今日推荐