有这5款开源软件,语音转文字很简单!

语音文字转换(STT)系统,一种能够将语音单词转换成文本的方法,用途十分广泛,比如我们经常在用的微信聊天中语音转文字功能。

过去,语音转文本技术由专有软件和库控制;开源替代方案不存在或存在极端局限,如今这种形势已经发生变化,今天你可以使用许多开源的语音转文本工具和库,今天,我们就举5个好用的开源语音识别库。

1、DeepSpeech项目

该项目由Mozilla开发,这是一个100%免费的开源语音转文本库,它使用了 TensorFlow 机器学习框架实现去功能。

你可以使用它自己构建训练模型,以增强语音转换到文本的效果,你还可以根据自己的需要引入其他语言,甚至可以轻松把它集成到TensorFlow上的其他机器学习项目中。唯一可惜的是,该项目目前默认情况下仅支持英语。

它也支持多种语言,例如Python(3.6)。运行十分简单:

pip3安装deepspeech  
deepspeech --model模型/output_graph.pbmm --alphabet模型/alphabet.txt --lm模型/lm.binary --trie模型/ trie --audio my_audio_file.wav  

你也可以使用npm安装它:

npm安装deepspeech 

近日,DeepSpeech还登上Github Trending周榜:

Github地址:https://github.com/mozilla/DeepSpeech

2、Kaldi

Kaldi是用C++编写的开源语音识别软件,遵循Apache公共许可协议,支持Windows,macOS和Linux,2009年就已经发布了。

与其他语音识别软件相比,Kaldi的主要功能是可扩展和模块化。社区提供了大量的第三方模块,Kaldi还支持深度神经网络,并在其网站上提供了完整的使用文档。

虽然代码主要是用C++编写的,但是它通过 Bash 和 Python 脚本进行了封装。因此,如果你只是想实现基本的语音转换成文本功能,那通过Python或Bash就可以轻松实现这一点。

项目主页:http://kaldi-asr.org/

3、Julius

这可能是有史以来最古老的语音识别软件之一;京都大学在1991年的时候开发的,然后于2005年将它移交给一个独立的项目团队。

Julius 的主要特点包括了执行实时 STT 的能力,低内存占用(20000 单词少于 64 MB),能够输出最优词N-best word和词图Word-graph,能够作为服务器单元运行等等。这款软件主要为学术和研究所设计。它是由C 语言写成,并且可以运行在 Linux、Windows、macOS 甚至 Android(在智能手机上)。

目前,它仅支持英语和日语,该软件可能很容易安装在Linux发行版的仓库中。只需在软件包管理器中搜索julius包即可。

项目主页:https://github.com/julius-speech/julius

4、Wav2Letter ++

Wav2Letter ++是一款开源语音识别软件,在今年由Facebook的AI研究团队发布。该代码在BSD许可下发布。Facebook将其仓库描述为“当下最快、最先进的语音识别系统”,默认情况下,构建此工具所基于的概念使其针对性能进行了优化,Wav2Letter ++是基于FlashLight构建,它也是Facebook最新的机器学习库。

使用Wav2Letter ++,你首先需要为你自己想要的语言构建训练模型,以便于训练算法,没有任何一种语言(包括英语)的预训练模型,它仅仅是个机器学习驱动的文本语音转换工具,它用 C++ 写成,因此被命名为 Wav2Letter++。

项目主页:https://github.com/facebookresearch/wav2letter

5、DeepSpeech2

百度的研究人员也在研究自己的语音转文本引擎DeepSpeech2。这是一个端到端的开源引擎,它使用“ PaddlePaddle”深度学习框架将英语和普通话的语音转换为文本。该项目在BSD许可下发布。

该引擎可以针对任何模型和所需的任何语言进行培训。模型不随代码一起发布;就像其他软件一样,你必须自己构建它们。DeepSpeech2的源代码是用Python编写的;因此,如果这是你使用的语言,你应该很快就能使用上手

项目地址:https://github.com/PaddlePaddle/DeepSpeech

语音识别类别主要还是由专有软件巨头(例如Google和IBM)来主导(它们确实为此提供了自己的闭源商业服务),但是开源替代方案是有希望的。这5个开源语音识别引擎让你可以自己着手构建应用程序,不知道有没有你用过的呢?