语音识别有哪些好的资料(基础点)?-华镇电子

综合领域 中国科技资讯网 华镇电子

小编:传统HMM框架 【必须重点推荐的】 哥伦比亚大学的 e6870 课程。 在我们团队组织学习了一遍。课程课件内容非常详细,配了相关阅读材料以及四次的作业,认真学习并完成作业的同学是可

传统HMM框架

【必须重点推荐的】

哥伦比亚大学的e6870课程。

在我们团队组织学习了一遍。课程课件内容非常详细,配了相关阅读材料以及四次的作业,认真学习并完成作业的同学是可以把声学前端/HMM-GMM框架/N-gram/FST框架解码 这些理解的比较清楚的。直接学习这一课程并不易,如果你在用kaldi,同时看一下一些个人blog了解一些语音识别的基础知识,但是觉得还是有很多细节不太了解,学一遍这个课程后会豁然开朗。

基于我的师弟的答案

https://github.com/kaituoxu

我重新整理了一份不带答案的作业,并且加了一些说明

https://github.com/placebokkk/e6870/

Kaldi

Kaldi工具包让语音识别变得非常"简单",尽管当你刚接触时会觉得好复杂。当今你如果要搞语音识别,除非你在剑桥语音实验室,不然一定会用到kaldi的。Kaldi简直是宝藏,只是看看脚本,都可以大大提高自己写bash的水平。

Kaldi文档大概就是你懂了看觉得写的很好,但是不懂的时候很难看懂。

【重要】最近那兴宇和陈果果两位大神写了一本《kaldi语音识别实践》的书,应该快出版了吧,内容非常好,深入浅出。

如果掌握e6870,再好好理解这本书,然后学习下Discriminative training,了解下Kaldi那套LF-MMI,基本传统语音识别就入门了。

另外,kaldi里提供了大量的工具,比如即使做E2E的识别,一般也都会用kaldi的特征提取工具。kaldi还有各种数据集的data准备的脚本,一般也可直接利用。

注意学习kaldi一上来,不要太钻每个细节,先用起来。不清楚的地方先做笔记把问题和当前理解记录下来,Kaldi里的细节太多了。

如果你想在python中用kaldi,pykaldi直接为kaldi封装出python接口。

https://github.com/pykaldi/pykaldi/tree/master/kaldi

另外,Dan povey大神正在小米开发下一代kaldi。可以期待下。

HTK

HTK绝对是经过考验的工具包,其文档HTKBook非常棒,其中也包含了语音识别的理论知识,代码也不错,我大学时看过一部分,但是现在大家用的不多。

2. 端到端识别

语音识别和序列标注任务的区别在于,数据的输入(特征帧序列)和输出(字或者音素序列)之前的对其关系是未知的。一般是两种方法:

用HMM-GMM在样本自己的空间里进行viterbi解码,找到最优对齐路径,根据对齐信息,可以变成一个输入输出一一对应的序列学习问题。用神经网络建模解决,最后也可以利用HMM框架解码,也就是HMM-NN框架。

直接用神经网络建模,也分为两种,一种是CTC的方式。一种是Encoder-Decoder的方式。

学习时,先找个review或者tutorial看。

http://iscslp2018.org/images/T4_Towards%20end-to-end%20speech%20recognition.pdf

理论方面,Google搜索speech end2end 论文即可。

各种神经网络,RNN-T,transformer,LAS,整体架构和其他任务比如NLP并没有什么太多的区别。

但是ASR重要考虑语言模型怎么引入,以及如何做streaming。

可以找一些开源项目,比如我师弟的这个小项目:

kaituoxu/Speech-Transformergithub.com

另外也有些构建的更完善代码多一点的框架,比如ESPNet, Espresso等。


当前网址:http://news.kjzxw.com.cn/zonghelingyu/2019/1211/228.html

 
你可能喜欢的: