5 Open Source Speech Recognition/Speech-to-Text Systems

语音文字转换 (STT) 系统就像它名字所蕴含的意思那样,是一种将说出的单词转换为文本文件以供后续使用的方法。

-- Simon James

语音文字转换技术非常有用。它可以用到许多应用中,例如自动转录,使用自己的声音写书籍或文本,用生成的文本文件和其他工具做复杂的分析等。

在过去,语音文字转换技术以专有软件和库为主导,要么没有开源替代品,要么有着严格的限制,也没有社区。这一点正在发生改变,当今有许多开源语音文字转换工具和库可以让你随时使用。

这里我列出了 5 个。

1. DeepSpeech 项目

 

该项目由 Firefox 浏览器的开发组织 Mozilla 团队开发。它是 100% 的自由开源软件,其名字暗示使用了 TensorFlow 机器学习框架实现其功能。

换句话说,你可以用它训练自己的模型获得更好的效果,甚至可以用它来转换其它的语言。你也可以轻松的将它集成到自己的 Tensorflow 机器学习项目中。可惜的是项目当前默认仅支持英语。

它也支持许多编程语言,例如 Python(3.6)。可以让你在数秒之内完成工作:

  1. pip3 install deepspeech

  2. deepspeech --model models/output_graph.pbmm --alphabet models/alphabet.txt --lm models/lm.binary --trie models/trie --audio my_audio_file.wav

你也可以通过 npm

  1. npm install deepspeech

项目主页 

https://github.com/mozilla/DeepSpeech

https://github.com/mozilla/DeepSpeech/releases/tag/v0.7.4

2. Kaldi

Kaldi 是一个用 C++ 编写的开源语音识别软件,并且在 Apache 公共许可证下发布。它可以运行在 Windows、macOS 和 Linux 上。它的开发始于 2009。

Kaldi 超过其他语音识别软件的主要特点是可扩展和模块化。社区提供了大量的可以用来完成你的任务的第三方模块。Kaldi 也支持深度神经网络,并且在它的网站上提供了出色的文档。

虽然代码主要由 C++ 完成,但它通过 Bash 和 Python 脚本进行了封装。因此,如果你仅仅想使用基本的语音到文字转换功能,你就会发现通过 Python 或 Bash 能够轻易的实现。

项目主页

http://www.kaldi-asr.org/

3. Julius

它可能是有史以来最古老的语音识别软件之一。它的开发始于 1991 年的京都大学,之后在 2005 年将所有权转移到了一个独立的项目组。

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

它当前仅支持英语和日语。软件应该能够从 Linux 发行版的仓库中轻松安装。只要在软件包管理器中搜索 julius 即可。

4. Wav2Letter++

如果你在寻找一个更加时髦的,那么这款一定适合。Wav2Letter++ 是一款由 Facebook 的 AI 研究团队发布的开源语言识别软件。代码在 BSD 许可证下发布。

Facebook 描述它的库是“最快、最先进state-of-the-art的语音识别系统”。构建它时的理念使其默认针对性能进行了优化。Facebook 最新的机器学习库 FlashLight 也被用作 Wav2Letter++ 的底层核心。

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

项目主页

https://github.com/facebookresearch/wav2letter

5. DeepSpeech2

中国软件巨头百度的研究人员也在开发他们自己的语音文字转换引擎,叫做“DeepSpeech2”。它是一个端对端的开源引擎,使用“PaddlePaddle”深度学习框架进行英语或汉语的文字转换。代码在 BSD 许可证下发布。

该引擎可以在你想用的任何模型和任何语言上训练模型并未随代码一同发布。你要像其他软件那样自己建立模型。DeepSpeech2 的源代码由 Python 写成,如果你使用过就会非常容易上手。

项目主页

https://github.com/PaddlePaddle/DeepSpeech

6. 总结

语音识别领域仍然主要由专有软件巨头所占据,比如 Google 和 IBM(它们为此提供了闭源商业服务),但是开源同类软件很有前途。这 5 款开源语音识别引擎应当能够帮助你构建应用,随着时间推移,它们会不断地发展。在几年之后,我们希望开源成为这些技术中的常态,就像其他行业那样。

### 小智AI语音合成与识别技术概述 小智AI机器人利用先进的语音处理技术和自然语言理解能力来实现其强大的语音功能[^1]。具体而言,该设备支持两种主要的语音技术:语音识别(ASR, Automatic Speech Recognition)以及语音合成(TTS, Text-to-Speech)。这些技术支持使得用户可以通过语音指令与其交互,并获得清晰、流畅的声音反馈。 #### 语音识别技术 小智AI机器人的语音识别基于深度学习算法构建而成,能够高效地将用户的口语输入转化为可被计算机理解和执行的文字命令。此过程涉及多个阶段,包括但不限于音频信号预处理、特征提取、声学建模、语言解码等环节。为了提高准确性,它还集成了上下文感知机制和个性化调整选项,比如通过长期记忆存储过往对话数据以便更好地预测当前意图;另外也具备一定的噪声抑制能力和多语种切换特性。 ```python import speech_recognition as sr def recognize_speech(): recognizer = sr.Recognizer() with sr.Microphone() as source: audio_data = recognizer.listen(source) text = recognizer.recognize_google(audio_data, language="zh-CN") return text ``` 上述代码片段展示了一个简单的Python程序用于捕获麦克风中的声音并调用Google Web API完成中文普通话转写操作。虽然这不是直接取自于小智内部架构的一部分,但它可以作为开发人员测试基础语音识别逻辑的一个起点。 #### 语音合成技术 对于输出端即语音合成功能来说,则采用了高质量神经网络驱动的方法生成接近真人发音水平的结果。这种方法不仅关注单字音准度,更注重连贯性和情感表达,在不同场景下提供多样化的语气风格选择给最终使用者体验更加生动逼真的交流效果。例如当设置为客服类角色时会采用较为正式礼貌口吻说话;而如果是朋友间闲聊模式则倾向于轻松随意些。 ```python from gtts import gTTS import os def synthesize_text(text): tts = gTTS(text=text, lang='zh') filename = "output.mp3" tts.save(filename) os.system(f"start {filename}") # For Windows systems; use 'open' on macOS or 'xdg-open' on Linux. ``` 这里给出另一个例子说明如何借助第三方库`gTTS`(Google Text-To-Speech)快速制作一段MP3文件播放指定字符串内容。需要注意的是实际产品级应用往往需要考虑更多因素如版权保护、隐私安全等问题因此不会单纯依赖公开服务而是自主研发或者采购授权解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值