如果您和许多开源爱好者一样,您可能从小就观看过像《霹雳游侠》、《星际迷航》或(我个人最喜欢的)《时空特警》这样的科幻节目。它们有什么共同点?在每部剧中,语音都是主角与计算机交互的关键媒介。《霹雳游侠》有基特,《星际迷航》有无处不在的计算机,甚至《时空特警》中不知疲倦的达里安·兰伯特也有可靠的助手塞尔玛(全息助手)。
随着机器学习、计算能力和神经网络的进步,语音交互正日益从科幻小说走向科学事实。
令人失望的是,该领域的早期领导者主要是商业和专有玩家——苹果的 Siri、亚马逊的 Alexa、微软的 Cortana、谷歌的 Home、三星的 Bixby。考虑到他们以盈利为目的的必然性,大型公司例行记录和存储语音数据,然后用于细分受众、分析人群并向他们投放广告,这也就不足为奇了。语音数据与其他大数据一样,现在也是一种货币。
鉴于自然语言理解作为用户界面的广泛采用,以及专有解决方案可能带来的隐私侵犯,开源语音的吸引力正在增长。
那么,开源语音堆栈中有什么呢?

语音交互始于一个唤醒词——也称为热词——它使语音助手准备好接收命令。然后,语音转文本引擎将来自语音的声音转录成书面语言,意图解析器确定用户想要执行什么类型的命令。然后,语音堆栈选择要运行的命令并执行它。最后,它使用文本转语音引擎将书面语言转换回语音。
在语音堆栈的每一层,都有几种开源解决方案可用。
唤醒词检测
最早的唤醒词引擎之一是 PocketSphinx。PocketSphinx 基于音素识别唤醒词——音素是区分一种语言中一个词与另一个词的最小声音单位。不同的语言有不同的音素——例如,在英语中很难近似印度尼西亚语的颤音“r”(这个音素是您“滚动”您的“r”音时发出的声音)。对于非母语人士来说,使用音素进行唤醒词检测可能是一个挑战,因为他们的发音可能与唤醒词的“标准”发音不同。
Snowboy 是另一种热词检测引擎;它在商业和开源许可下均可用。Snowboy 与 PocketSphinx 的不同之处在于,它不使用音素进行唤醒词检测;相反,它使用神经网络,该网络在真假示例上都经过训练,以区分什么是唤醒词,什么不是唤醒词。
Mycroft AI 的 Precise 唤醒词引擎的工作原理类似,通过训练循环神经网络来区分什么是唤醒词,什么不是唤醒词。
所有这些唤醒词检测器都“在设备上”工作,这意味着它们不需要将数据发送到云端,这有助于保护隐私。
语音转文本转换
准确的语音转文本转换是开源语音堆栈中最具挑战性的部分之一。 Kaldi 是最流行的语音转文本引擎之一,它有几个“模型”可供选择。在语音转文本领域,模型 是一个神经网络,它使用特定的算法在特定的数据集上进行过训练。Kaldi 具有英语、中文和一些其他语言的模型。Kaldi 最具吸引力的功能之一是它可以设备上运行。
Mozilla 的 DeepSpeech 实现——以及相关的 Common Voice 数据采集项目——旨在支持更广泛的语言。目前,DeepSpeech 的 计算需求意味着它只能用作云实现——它太“重”而无法在设备上运行。
语音转文本的最大挑战之一是训练模型。Mycroft AI 已与 Mozilla 合作,以帮助训练 DeepSpeech。Mycroft AI 将训练后的数据传递回 Mozilla,以帮助提高其模型的准确性。
意图解析
强大的语音堆栈还需要确保准确捕获用户的意图。有几种开源意图解析器可用。 Rasa 是开源的,并在语音助手和聊天机器人中得到广泛使用。
Mycroft AI 使用两个意图解析器。第一个是 Adapt,它使用关键字匹配方法来确定置信度分数,然后将控制权传递给置信度最高的技能或命令。Padatious 采用不同的方法,其中提供了实体的示例,以便它可以学习识别话语中的实体。
意图冲突是意图解析器面临的挑战之一。想象一下这句话
“播放一些 The Whitlams 的歌曲”
根据可用的命令或技能,可能有多个可以处理该意图。意图解析器如何确定要传递给哪个?Mycroft AI 的 通用播放框架 为不同的实体分配不同的权重,从而产生更准确的整体意图置信度评分。
文本转语音转换
在语音交互生命周期的另一端是文本转语音 (TTS)。同样,有几种开源 TTS 选项可用。TTS 模型通常通过收集语言说话者的录音,使用结构化语料库或短语集进行训练。应用机器学习技术将录音合成为通用 TTS 模型,通常用于特定语言。
MaryTTS 是最流行的 TTS 之一,并支持多种欧洲语言。 ESpeak 具有适用于 20 多种语言的 TTS 模型,尽管合成质量在不同语言之间差异很大。
Mycroft AI 的 Mimic TTS 引擎基于 CMU Flite TTS 合成引擎,并为英语提供两种声音。更新的 Mimic 2 TTS 引擎 是基于 Tacotron 的实现,它具有不那么机械化、更自然的声音。Mimic 在设备上运行,而 Mimic 2 由于计算需求,在云端运行。此外,Mycroft AI 最近发布了 Mimic Recording Studio,这是一个开源的、基于 Docker 的应用程序,允许人们进行录音,然后可以使用 Mimic 2 将其训练成个人声音。
这解决了 TTS 的众多问题之一——拥有一系列性别、语言和方言的自然声音。
结束语
新兴的开源语音工具系列正在变得可用,每种工具都有其自身的优点和缺点。但可以肯定的是——推动更成熟的开源语音解决方案以保护隐私的动力将持续存在。
Kathy Reid 将在 1 月 21 日至 25 日于新西兰基督城举行的 linux.conf.au 上介绍 海滩残骸点火:开源语音的挑战。
2 条评论