Kaldi语料的两种切分/组织方式及其处理
- text中每一个文本段由一个音频索引(indexed by utterance)
使用该方式的egs:librispeech、timit、thchs30、atc_en、atc_cn
语料的组织形式为:
一个音频(包含一个语句)对应一个文本(包含一个文本段)
或
一个音频(包含一个语句)对应一个文本(包含多个文本段)中的一个文本段
- text中每一个文本段由一个时间片索引(indexed by segment)
- 使用该方式的egs:
tedlium、atc0_comp_LDC94S14A
时间片由segments文件指定,通常位于data/train, data/test, data/dev中
- 处理方式:
以tedlium为例,语料的组织形式为一个音频sph(包含多个语句)对应一个文本stm(包含多个文本段)
stm,kaldi使用的一种文本组织形式(文本格式),tedlium的例子:
AaronHuey_2010X 1 AaronHuey_2010X 223.12 232.68 <o,f0,female> we appropriated land for(2) trails and(2) trains to shortcut through the heart of the lakota nation <sil> the treaties were(2) out the window <sil> in response three tribes led by the lakota chief {SMACK} red cloud <sil> (AaronHuey_2010X-223.12-232.68-F0_F-S27)
stm文件的格式:
<file-name> <?> <speaker-name> <segment-begin> <segment-end> <LABEL> <TEXT> <segment>
文本:db/TEDLIUM_release1/$set/stm/*.stm(其中包含了时间片信息)
音频:db/TEDLIUM_release1/$set/sph/*.sph
tedlium/s5/run.sh调用了local/prepare_data.sh,其中对stm文件进行格式化,包括去除显式的静音标注和生成segments文件
segments文件的格式:
<utterance-id> <recording-id> <segment-begin> <segment-end>
其中,segment-begin和segment-end以秒为单位。它们指明了一段发音在一段录音中的时间偏移量。"recording-id" 和在"wav.scp"中使用的是同一个标识字符串。再次声明一下,这只是一个任意的标识字符串,你可以随便指定。
Kaldi中隐含地对静音SIL进行处理,不需要显式标注。但是这并不意味着其他噪声不需要显式标注,如:
BRH |
Breath |
呼吸 |
CGH |
Cough |
咳嗽 |
NSN |
Noise |
噪声 |
SMK |
Smack |
拍击声 |
UM |
UM |
嗯 |
UHH |
UH |
嘘 |
在特征提取、在线训练、解码时需要判断语料是哪种组织方式,即寻找segments:
../steps/make_*.sh
../steps/nnet2/dump_bottleneck_features.sh
../steps/<online/>nnet*/align.sh
../steps/<online/>nnet*/decode.sh
../steps/online/nnet2/dump_nnet_activations.sh
../steps/online/nnet2/get_egs.sh
../steps/online/nnet2/get_egs*.sh
转载于:https://www.cnblogs.com/JarvanWang/p/7499607.html
Kaldi语料的两种切分/组织方式及其处理相关推荐
- Spring中IoC两种接口和两种依赖注入方式的比较
spring是一个开源框架,是为了解决企业应用程序开发的复杂性而创建的,为J2EE应用程序开发提供集成的框架.简单来说,spring是一个轻量级的控制反转IOC和面向切面AOP的容器框架.spring ...
- Pytorch两种模型保存方式
以字典方式保存,更容易解析和可视化 Pytorch两种模型保存方式 大黑_7e1b关注 2019.02.12 17:49:35字数 13阅读 5,907 只保存模型参数 # 保存 torch.save ...
- 使用ubuntu16.04对NVIDIA Jetson Xavier NX使用刷机:两种刷机方式:SD卡镜像法 和 NVIDIA SDK Manager法
文章目录: 1 NVIDIA Jetson Xavier NX的两种刷机方式 2 使用SD卡镜像法对Jetson Xavier NX刷机的具体步骤 3 使用NVIDIA SDK Manager法对Je ...
- 动态链接库dll的两种加载方式
在第一篇技术博客"动态链接库简介"中说到了两种加载方式,当时没有详细说明,这里详细说明一下 可以通过两种方式 1.隐式链接(需要.dll,.lib,.h) 2.显式链接(需要.dl ...
- 启用物料账后,有两种物料价格确定方式
启用ML后,有两种物料价格确定方式: 1.Cost Estimate 原材料和商品比较适合采用Cost Estimate,通过后台配置指定估价变式以确定未来标准价的获取 策略,如近期采购价,力求最接近 ...
- Spark _05Standalone模式两种提交任务方式
Standalone模式两种提交任务方式 Standalone-client提交任务方式 提交命令 ./spark-submit --master spark://node1:7077 --class ...
- Android系统从驱动到上层服务再到应用的两种服务架构方式
Android系统从驱动到上层服务再到应用的两种服务架构方式 1)使用类似sensor service的方式: 此方式用于,service的接口不想暴露给上层activity直接使用的情形 例如sen ...
- android登录加密传输,android环境下两种md5加密方式(示例代码)
在平时开发过程中,MD5加密是一个比較经常使用的算法,最常见的使用场景就是在帐号注冊时,用户输入的password经md5加密后,传输至server保存起来.尽管md5加密经经常使用.可是md5的加密 ...
- 3D MAX入门篇(1)常用快捷命令及两种基础建模方式
3D MAX入门篇(1)常用快捷命令及两种基础建模方式 基于图片的对程型模型----画线式建模 1.在界面画一个平面 2.调整平面大小,确认与要插入的图片尺寸一样 3.通过添加样条线绘制出模型的一半 ...
- 3Dmax入门篇,常用快捷命令及两种基础建模方式,小白看了都会!
今天我又来给大家分享知识了! 3D MAX入门篇,常用快捷命令及两种基础建模方式 基于图片的对程型模型----画线式建模 1.在界面画一个平面 2.调整平面大小,确认与要插入的图片尺寸一样 3.通过添 ...
最新文章
- mysql5.6.46安装教程_鲲鹏云-arm平台 mysql-5.6.46 安装
- 查看mysql主外键信息
- 【Jekyll搭建GITHUB个人博客】安装Ruby 环境、包管理器 RubyGems、Jekyll与错误解决...
- UA OPTI544 量子光学13 场的量子化描述
- BottomNavigationView处理只有2个tab的情况
- 使用Spring AOP重试方法执行
- [html] 怎样避免让用户看到长时间的白屏?
- 摄像头图像分析目标物体大小位置_一文读懂图像定位及跟踪技术
- 用 Go 重构 C 语言系统,这个抗住春晚红包的百度转发引擎承接了万亿流量
- daemonset怎么读_DaemonSet 与 StatefulSet的使用
- 139社区改版能给我们带来什么?
- 第二章 HTML5存储 Web存储
- Spring自动扫描
- 计算机系统大作业-程序人生
- Nacos 原理 Jraft Distro Grpc 持续跟新中...
- [转载]关于雷电防御_-刘艳红-_新浪博客
- C语言atan2()函数:求y/x的反正切值
- 两个自我的对话和博弈
- 网页看视频,加速敢看的技巧
- Android 悬浮窗的使用(2)