Kaldi AMI数据集脚本学习2----run_prepare_shared.sh
在学习脚本文件时,重点关注哪些是调用标准函数,哪些是调用特定数据集的数据处理函数;
关注每个阶段处理的输入,输出和控制参数。不要面面俱到,试图理解每行代码。
1. 下载AMI数据集的xml标注文件包;
从xml格式的标注文件提取得到data/local/annotations文件夹下文本格式的标注文件train.txt,eval.txt,dev.txt.
# Download of annotations, pre-processing,
local/ami_text_prep.sh data/local/downloads
2. 下载cmu dictionary;
创建silence_phones.txt和optional_silence.txt;
从cmudict/cmudict.0.7a.symbols提取 nonsilence_phones.txt,扔掉重音(stress);
将silence phones 加到extra_questions.txt;
下载wordlist.50k;
limit the vocabulary to the predefined 50k words,从而得到文件lexicon1_raw_nosil_50k.txt;
再增加类似laughter,noise等词汇后得到最终的lexicon.txt;
utils/validate_dict_dir.pl检查。
local/ami_prepare_dict.sh
3. Kaldi标准流程,准备data/lang
input为data/local/dict和"<unk>";
output为data/lang;
临时文件夹为data/local/lang;
总之,“This script adds word-position-dependent phones and constructs a host of other derived files,
that go in data/lang/”
utils/prepare_lang.sh data/local/dict "<unk>" data/local/lang data/lang
4. 使用AMI数据训练language models;
注意:我没有Fisher data,所以删除了“--fisher $FISHER_TRANS“;
input: train.txt和lexicon.txt等
output: language mode 文件为ami.o3g.kn, data/local/lm仍只是临时文件夹;
参数: 缺省order=3(N-gram order)
local/ami_train_lms.sh data/local/annotations/train.txt data/local/annotations/dev.txt data/local/dict/lexicon.txt data/local/lm
5. 使用prune-lm 处理(删去出现频率较低的数据)ami.o3g.kn.gz得到ami.o3g.kn.pr1-7.gz
final_lm=`cat data/local/lm/final_lm`
LM=$final_lm.pr1-7
prune-lm --threshold=1e-7 data/local/lm/$final_lm.gz /dev/stdout | gzip -c > data/local/lm/$LM.gz
6. Kaldi标准流程," Convert ARPA-format language models to FSTs";
input: ami.o3g.kn.pr1-7.gz
output: data/lang_ami.o3g.kn.pr1-7/G.fst
data/lang_ami.o3g.kn.pr1-7/L.fst
utils/format_lm.sh data/lang data/local/lm/$LM.gz data/local/dict/lexicon.txt data/lang_$LM
Kaldi AMI数据集脚本学习2----run_prepare_shared.sh相关推荐
- Kaldi AMI数据集脚本学习3---run_ihm.sh stage 1~3
1. stage 1 在此之前,已经下载了130G的AMI数据在目录$AMI_DIR(wav_db/amicorpus)了. # Prepare ihm data directories, if [ ...
- Kaldi AMI数据集脚本学习1----cmd.sh和path.sh
1. cmd.sh 我是在个人电脑上运行Kaldi的,所以脚本关键内容如下: export train_cmd=run.pl export decode_cmd=run.pl export tfrn ...
- Kaldi AMI数据集脚本学习7---train_deltas.sh
1. 命令行格式 在AMI数据集中num-leaves=5000(即5000个不同的states),tot-gauss=80000(平均每个不同states 高斯模型数目是16个). "Us ...
- Kaldi AMI数据集脚本学习4---train_mono.sh
1. 缺省配置 nj=4 并行个数 cmd=run.pl 处理程序 scale_opts="--transition-scale=1.0 --acoustic-scale=0.1 --sel ...
- Kaldi AMI数据集脚本学习6---转移模型(Transition Model)
TransitionModel 涉及到的名词术语如下: phone (one-based): this type of identifier is used throughout the toolki ...
- Kaldi AMI数据集脚本学习5---AMI mono phone文件 40.mdl分析
使用kaldi训练mono phone之后会在esp/mono/目录下产生一个40.mdl文件, 查看exp/mono/40.mdl 命令: kaldi/src/gmmbin/gmm-copy --b ...
- Kaldi决策树状态绑定学习笔记(一)
建议在csdn资源页中免费下载该学习笔记的PDF版进行阅读:)点击进入下载页面 Kaldi决策树状态绑定学习笔记(一) --如何累积相关统计量? 目录 Kaldi决策树状态绑定学习笔记一 如何累积相关 ...
- Kaldi三音素GMM学习笔记
建议在csdn资源页中免费下载该学习笔记的PDF版进行阅读:)点击进入下载页面 Kaldi三音素GMM学习笔记 三音素GMM与单音素GMM的主要差别在于决策树状态绑定,与GMM参数更新相关的原理.程序 ...
- Kaldi单音素GMM学习笔记
建议在csdn资源页中免费下载该学习笔记的PDF版进行阅读:)点击进入下载页面 Kaldi单音素GMM学习笔记 目录 Kaldi单音素GMM学习笔记 原理 脚本 程序 gmm-init-mono co ...
最新文章
- [NOI2015]程序自动分析
- Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控...
- SCCM 2016 使用PXE 部署操作系统(四)
- hibernate 持久化
- ThinkPHP 3.2.2 在 volist 多重循环嵌套中使用 if 判断标签
- mysql windows 安装_Windows 安装 Mysql(zip格式)
- 详谈Windows消息循环机制
- 水滴石穿C语言之指针、数组和函数
- python opencv显示图片动态_opencv-python计算机视觉图像处理学习笔记2——打开图片,保存图片,显示图片...
- 2017.3.11[bzoj2440][中山市选2011]完全平方数
- zabbix监控搭建以及客户端安装
- Vbox异常解决-centos下的安装
- PostgreSQL逻辑优化——查询优化分析
- go mock mysql_go sqlmocks的使用
- 分享Monaco.ttf字体(Mac样式)
- 蜂鸟处理器+OV5640摄像头模块开发
- 如何用Java写一个规范的http接口?
- html 播放ogg,HTML5中video 和 ogg
- 计算机中b代表的含义是什么意思,表示文件大小的MB,KB,B等是什么意思?
- 火狐怎么导入旧的火狐数据_如何与Firefox分手
热门文章
- [原创]HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
- windows 开始命令集
- 问题三十八:C++中bad alloc问题(1)——分析问题
- 怎么把截屏的一部分内容涂掉_电脑怎么录屏?录屏软件的使用技巧
- 大数据平台由哪些分析功能
- Java多线程-生产者消费者问题(多个消费者多个生产者)
- python换行符号长度_创建带换行符的可调整大小/多行Tkinter/ttk标签
- java中bin和src文件夹_编译src中的所有文件?
- python定时模块:apscheduler
- JdbcTemplate 的使用