横向对比5大开源语音识别工具包,CMU Sphinx最佳

开发 开发工具
在深度学习项目开始前,选择一个合适的框架是非常重要的事情。本文对深度学习7种流行框架的深度横向对比,希望本文能对你带来帮助。

目前开源世界里存在多种不同的语音识别工具包,它们为开发者构建应用提供了很大帮助。这些工具各有哪些优劣?数据科学公司 Silicon Valley Data Science 为我们带来了 5 种流行工具包的深度横向对比。此前,他们曾为我们带来过流行深度学习框架的对比:《从 TensorFlow 到 Theano:横向对比七大深度学习框架》。

[[195001]]

作为深度学习研发团队的一员,我们对于循环神经网络(RNN)和其他语音识别需要用到的方法都有所涉及。在几年之前,业内***的语音识别系统还是基于语音分析的方法,包含发音、声学和语言模型。通常,这些方法包含 n-gram 语言模型,以及隐马尔科夫模型(HMM)。在此,我们以这种模型作为基准,试图对比目前流行的一些语音识别方法。迄今为止,我们很难看到有人对开源语音识别模型进行过真正对比,希望本文可以抛砖引玉,为大家带来一些帮助。

本文回顾了使用传统 HMM&n-gram 语言模型的开源语音识别工具包。对于用户而言,大多数人都会知道 Siri 或 Cortana 这样的消费产品。而对于研发工程师来说,更灵活、更具专注性的解决方案则更符合需求,很多公司都会研发自己的语音识别通路。以下是目前开源世界上出现的流行工具包,以及我们对它们的各项评价。

开源免费语音识别工具包横向对比

开源免费语音识别工具包横向对比

本次分析基于 svds 开发者的主观经验和开源社区的已有消息。上表列出了目前大部分流行的语音识别软件(但略微超出开源的范畴)。2014 年 Gaida 等人的一篇论文评估了 CMU Sphinx、Kaldi 和 HTK。其中 HTK 严格意义上来说并不是开源的,因为其代码并不能重用或作为商业用途使用。

编程语言

因为用户使用语言的情况各不相同,你可能会对特定的工具包有自己的偏好。以上工具除了 ISIP 以外都有 Python 的封装,虽然在一些情况下,Python 封装并不包括核心代码的全部功能。CMU Sphinx 也包含了其他几种编程语言,如 Java 和 C。

开发工作

在学术研究中,所有列出的项目都包含它们的来源。CMU Sphinix,显而易见,从它的名字就能看出来是卡内基梅隆大学的产物。它已经以某些形式存在了 20 年了,现在它在 Github(C (https://github.com/cmusphinx/pocketsphinx) 版本和 Java (https://github.com/cmusphinx/sphinx4) 版本)和 SourceForge (https://sourceforge.net/projects/cmusphinx/) 上都开源了,而且两个平台上都有***活动。Github 上的 Java 版本和 C 版本都只有一个贡献者,但是这并不影响此项目的历史真实性(在 SourceForge repo 上有 9 个管理人员还有很多开发者)。

Kaldi 从 2009 年的研讨会起就有它的学术根基了,现在已经在 GitHub (https://github.com/kaldi-asr/kaldi) 上开源,有 121 名贡献者。HTK 始于 1989 年的剑桥大学,已经商用一段时间了,但是现在它的版权又回到了剑桥大学并且已经不是开源软件了。它的***版本更新于 2015 年 12 月,先前发布于 2009 年。Julius (http://julius.osdn.jp/en_index.php) 起源于 1997 年,***一个主要版本发布于 2016 年 9 月,有些活跃的 Github repo 包含三个贡献者,现在已经不大可能反应真实情况了。ISIP 是***个***型的开源语音识别系统,源于密西西比州立大学。它主要发展于 1996 到 1999 年间,***版本发布于 2011 年,但是这个项目在 Github 出现前就已经不复存在了。

社区

这里我们关注一下邮件、讨论群还有开发者团体的情况。CMU Sphinx 在它的 repos 上有着在线交流论坛和积极的关注。然而,我们想知道复制 SourceForge 和 GitHub 的 repo 是否阻碍了更多的投稿。相比之下,Kaldi 不仅有着论坛和讨论群,还有一个活跃的 GitHub repo。HTK 也有讨论群但是没有开放资源库。Julius 网站上的用户论坛坏掉了,但是在日本站里可能有更多的信息。ISIP 主要用于教育目的,而且邮件清单档案现在已经不再实用。

教程和例子

CMU Sphinx 的教程非常具有可读性,易于学习,Kaldi 的文档也很全面,但似乎更难理解。不过 Kaldi 的内容覆盖了语音识别中的语音和深度学习方法。如果你缺乏语音识别的知识,HTK 的教程文档(注册用户可看)对这一领域有详尽的描述。Julius 项目聚焦于日语,***的资料就是 Japanese2 (https://www.svds.com/open-source-toolkits-speech-recognition/#fn2),但是他们也主动地译成英文,并且也提供相关资料;这里列有一些运行语音识别的实例(https://github.com/julius-speech/dictation-kit)。ISIP 也有一些资料,但是有些难以浏览。

训练模型

即使你使用这些开源工具的***理由是训练特定的识别模型,其他语音功能也会是它们吸引人的地方。CMU Sphinx 包含英语和很多其他即开即用的模型,在该项目 GitHub 的 redme 上,我们可以很容易地找到它们。而 Kaldi 对现有模型进行解码的指令深深地隐藏在文档中,我们最终在 egs/voxforge 子目录的 repo 下发现了一个英语 VoxForge 数据集训练后的模型,而识别功能在 online-data 子目录下。其他三个软件包没有容易找到的功能,但它们至少都有适配 VoxForge 格式的简单模型,后者是一个语音识别数据和训练模型的著名众包网站。

 

原文:http://www.kdnuggets.com/2017/03/open-source-toolkits-speech-recognition.html

 

【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2016-01-27 13:34:07

开源语音识别CNTK

2021-03-16 14:44:30

工具代码开发

2018-12-27 10:52:10

Facebook 开发开源

2023-05-17 15:22:45

识别开源工具

2019-01-10 14:49:14

开源技术 工具包

2019-01-22 15:32:05

Go语言工具开发

2019-04-26 09:37:30

Go 开源技术

2021-01-25 21:01:42

开源技术 工具

2016-02-16 13:21:33

2023-02-15 08:26:29

iOS工具

2020-03-24 14:35:24

开源工具Joplin

2019-06-24 09:30:00

开源技术 趋势

2016-03-21 15:14:24

开源Web代理服务器

2019-05-13 09:22:21

微软开源机器学习

2019-02-14 10:48:31

开源网络监控工具

2012-02-06 09:13:40

开源工具包管理系统

2015-05-13 18:30:47

2009-04-02 17:37:38

dom4jXMLJava

2012-07-12 13:13:28

HTML5

2018-08-10 14:44:01

Python数据工具
点赞
收藏

51CTO技术栈公众号