最近专门空出来很多时间,准备把一直犹豫不决要不要写的智能理论写出来,同时准备用语音识别做一些实验,所以有了这个项目。
语音识别实验比可选的工具有kaldi,wav2letter,espnet等,使用比较广泛工具是kaldi,但是对于前端语音处理的部分,我觉得kaldi所使用的HMM-GMM方式相当的不直观,Kaldi所使用的nnet神经网络也不是目前主流的深度学习工具。而kaldi创建者Daniel Povey要推出的与pytorch接口良好的kaldi新的版本也还没有出来。但是kaldi的WFST解码系统在处理文本模型的表现相当的出色,我想要的工具是pytorch处理语音前端,再加上WFST处理文本模型。
我在网上找了一下,找到了一个项目比较满足我的需求,它就是github上的eesen(https://github.com/isi-vista/eesen),eesen和传统kaldi处理方式对比如下:
传统的kaldi处理方式:
    • Hidden Markov models (HMMs)
    • Gaussian mixture models (GMMs)
    • Decision trees and phonetic questions
    • Dictionary, if characters are used as the modeling units
    • ...
eesen的处理方式:
    • Acoustic Model -- Bi-directional RNNs with LSTM units.
    • Training -- Connectionist temporal classification (CTC) as the training objective.
    • Decoding -- A principled decoding approach based on Weighted Finite-State Transducers (WFSTs).

eesen项目最近的更新已经是两年前,所使用的依赖库也比较早期,对于神经网络的处理还是使用nnet,所使用的例子也是英文。所以在github上我又参考了两个相关的项目,一个是ctc-asr(https://github.com/placebokkk/ctc-asr)和 eesen-for-thchs30(https://github.com/Sundy1219/eesen-for-thchs30),经过一段时间的调试,我做了第一个实验,语音处理前端使用pytorch处理,其输出是基于拼音的概率矩阵,然后用WFST处理得到文字输出。
注意:首先要安装好eesen,由于这个项目时间久远,支持的库比较老,我折腾了好久,我目前在ubuntu16.04上编译成功,cuda使用的9.2版本,pytorch我使用anaconda安装,使用版本的是python3.7,pytorch1.2,cuda9.2。
使用的实验语料是清华实验室提供的thchs30,安装好后首先要在before_run.sh中设置好thchs30语料的所在的目录,然后运行run-ctc.sh,如果要继续训练,需要将exp/train*/model/final.pt 复制到exp/init.pt,然后运行train_continue.sh.

项目访问地址https://github.com/lixinyu2001/eesen-pytorch-thchs30

用pytorch+CTC+WFST实现汉语语音识别相关推荐

  1. 【百度贾磊】汉语语音识别技术重大突破:LSTM+CTC详解(22PPT)

    1新智元原创1 作者:王嘉俊 新智元福利 回复1028下载贾磊22页PPT Google 去年发布了一项研究报告,说在美国年龄介于13到18岁的青年当中,约有55%的人每天使用语音搜索. 语音搜索正在 ...

  2. 知物由学 | 多级建模方法提升汉语语音识别效果,获ISCSLP大赛认可

    导读:语音是人类信息沟通的重要途径,同时也是人机交互的重要桥梁,自动语音识别可以表述为通过计算机将人类语音信号转录为书面形式的文字输出的过程.本文分享了网易易盾提出的多级建模单元的端到端汉语语音识别方 ...

  3. pytorch使用pytorch-kaldi实现ASR语音识别

    pytorch使用pytorch-kaldi实现ASR语音识别 Song • 10986 次浏览 • 0 个回复 • 2018年09月17日 pytorch-kaldi是开发最先进的DNN/RNN混合 ...

  4. 基于CTC转换器的自动拼写校正端到端语音识别

    基于CTC转换器的自动拼写校正端到端语音识别                                    Automatic Spelling Correction with Transfo ...

  5. CTC模型、安装及其pytorch绑定安装

    CTC模型是语音识别模型中常见的模块之一,现有主流的语音识别系统经常采用该模型来实现端到端的语音识别.而CTC出现之前,语音识别模型的端到端识别效果还是相对较弱的,也就是说CTC解决了这一问题. 1. ...

  6. python语音识别库kaldi_pytorch使用pytorch-kaldi实现ASR语音识别 - pytorch中文网

    pytorch-kaldi是开发最先进的DNN/RNN混合语音识别系统的公共存储库.DNN部分由pytorch管理,而特征提取,标签计算和解码使用kaldi工具包执行.前面我们已经介绍了Linux/W ...

  7. 基于类语言模型和令牌传递解码器的端到端上下文语音识别(论文翻译)

    Title:END-TO-END CONTEXTUAL SPEECH RECOGNITION USING CLASS LANGUAGE MODELS AND A TOKEN PASSING DECOD ...

  8. 更好的中英文混合语音识别系统

    语音作为人与人交流的直接媒介,承载着人们日常生活中的大部分信息来源.基于近年来通信技术与物联网的发展,各式各样的语音助手.智能家具等软硬件层出不穷,人机交互技术的发展及人们对其需求日益攀升.语音识别技 ...

  9. 语音识别基础(二):语音识别方法

    语音识别的全称是自动语音识别(Automatic Speech Recognition,ASR),说得多了, 就把"自动"省去了,认为"自动"是理所当然的了.语 ...

最新文章

  1. 在LVM中恢复已删除的物理卷
  2. 按下电源后的几秒钟,CPU 在干嘛?
  3. python程序实例源代码-python实例-兔子和獾(塔防游戏)附源码
  4. 关于android的几个小知识点
  5. Windows 10重装系统时,提示Windows只能安装到GPT磁盘的解决方法(更新于2021.4.28)
  6. Shell命令对整数求和,每行一个?
  7. 机器学习笔记-LightGBM
  8. Android爬坑之旅之FileProvider(Failed to find configured root that contains)
  9. python3.4教程_Python基础教程3.4 字符串方法
  10. 如何远程配置DHCP服务器
  11. linux 命令行下载BT种子和磁力链接 ubuntu linux 命令行下载种子
  12. python编程 个人所得税计算器
  13. javacpp-opencv图像处理系列:国内车辆牌照检测识别系统(万份测试准确率79.7%以上)
  14. 前端 css实现文字竖向排列
  15. Source Insight4.0字体大小及护眼背景配置
  16. Kubernetes单机创建MySQL+Tomcat演示程序:《Kubernetes权威指南》第一章demo报错踩坑
  17. TiFlink: 使用 TiKV 和 Flink 实现强一致的物化视图
  18. 转载:十年驾车经验总结:活着,才是硬道理
  19. html文标题党,教你成为微信公众号推文标题党
  20. 某电影网站信息的爬取【干货】

热门文章

  1. 史上最用心的 iOS App 上架流程
  2. python应用学习(四)——wordcloud生成词云
  3. 2021年安徽省安全员C证考试试卷及安徽省安全员C证试题及解析
  4. 同济大学软件学院万院长谈择业- -(转)
  5. 西门子贿赂门:数十家咨询公司名单曝光
  6. #来写一段你最拿手的代码。
  7. java 取余和取整_Java取整、取余
  8. 2022-2028年中国锂电池保护板行业市场全景调查及投资潜力研究报告
  9. 996、8116、007,要命的工作,你干不干?
  10. mysql复合索引单列索引