Linux 文本转语音 (TTS) 的问题

目前还没有读者喜欢这个。
Penguins with space and stars overlay

原始图片来自 Wikimedia Commons。已修改。CC BY-SA 4.0。

Ken Starks 是 Reglue (回收电子产品和 GNU/Linux 用于教育) 的执行董事,该组织接收损坏或退役的计算机,进行翻新并放置在德克萨斯州奥斯汀地区及其周边经济困难儿童的家中。

2015 年,自由软件基金会向 Reglue 颁发了 社会公益项目奖。在因癌症失去喉咙后,Ken 使用文本转语音 (TTS) 软件在 LibrePlanet 2015 上发表演讲。在本次采访中,Ken 向我们介绍了他在 德克萨斯 Linux 节上的演讲,文本转语音和 Linux

文本转语音软件有哪些实际应用?

文本转语音软件最常用于两个目的。TTS 可以用于,并且经常用于视力障碍人士的屏幕阅读。虽然它经常与语音识别软件混淆,但两者之间的界限相当模糊。TTS 最明确的用途是允许无法说话的人进行交流。今年 1 月,我因癌症失去了声音,我依靠 TTS 来进行交流或向小组演讲,或进行实时交流。

您对 Linux 可用的文本转语音软件的现状感到满意吗?还有改进的空间吗?

简明扼要地回答,不满意,是的,还有改进空间。但我从来没有以简洁而闻名,也没有打算变得简洁(向 萤火虫 的 Jayne Cobb 致敬)。Linux 领域的文本转语音软件一团糟。我发现,虽然 Linux 中有很多这种软件的选择,但这些软件甚至远未准备好供 EDCU,即日常计算机用户使用。我患有腕管综合症,所以我的首字母缩略词列表每天都在增长。以下是我发现的

2015 年 1 月 16 日,我醒来时就知道我很快会再次睡着,而当我这次醒来时,我的喉咙将不复存在,我也将失去说话的能力。并且记录在案,我要指出,有些人不一定认为这是一件坏事。我最大的错误是假设我需要的 TTS 软件已经准备好并等待我使用。当我浏览可供我选择的 TTS 选项时,我没有注意到的是,这些软件都无法开箱即用。

因此,我跳入了 Linux 领域的 TTS 世界,并立即发现水深过顶。现在我可以继续给你举例说明我的观点。我认为一个特别的例子可以很好地为我做到这一点。当我第一次搜索我的选项以准备好 TTS 应用程序以供使用时,这是我找到的第一件事 (来源)

安装增强型 CMU Arctic 语音

这些语音由卡内基梅隆大学语言技术研究所开发。它们听起来比双音素和 MBROLA 语音都要好得多……缺点是每个语音在磁盘上占用超过 100 兆字节,并且有六种英语语音可供选择,这可能会占用大量带宽来下载,并且取决于您有多少磁盘空间可用,600 多兆字节的空间对于语音数据来说可能有点太多了。但是,下一节讨论的 HTS 语音实际上可以提供同等或更好的合成质量,并且只有不到 2% 的大小。

下载语音

我们将把英语语音所需的一切都下载到一个临时目录中(总下载大小约为 600 兆字节——您可能想去泡些咖啡或什么的,很多……我们可能要在这里待一段时间)

代码

mkdir cmu_tmp
cd cmu_tmp/
://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_awb_arctic-0.90-release.tar.bz2
wget -c htt
wget -c htt
pp://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_bdl_arctic-0.95-release.tar.bz2
e.tar.bz2
wget -c http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_jmk_arctic-0.95-relea
wget -c http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_clb_arctic-0.95-relea sse.tar.bz2
wget -c http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_rms_arctic-0.95-release.tar.bz2
wget -c http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_slt_arctic-0.95-release.tar.bz2

注意:您可以向 wget 添加选项“--limit-rate”以设置最大传输速度(例如,“wget -c --limit-rate=60K ...”将下载速度限制为 60KB/s)。

真的吗?这就是 Ubuntu 或衍生版本上 TTS 的“解决方案”?你一定是在开玩笑吧。我的意思是,如果您进一步搜索,您可能会找到稍微容易一些的东西;但也好不了多少。首先,让我提到,如果您想包含 MBROLA 的语音,它们不是开源的。它们安装起来也不容易,所以就这样说吧。现在,公平地说,在 Chrome 中可以找到一些作为浏览器扩展程序的 TTS 尝试。Speakit 看起来会成为我的解决方案,但它的功能和使用范围有限(对我来说,无论如何)。我的需求归结为一件事。我需要能够实时甚至接近实时地进行交流。我已将我的“滑动” WPM 提高到接近 70,因此问题归结为为 TTS 软件提供一个体面的前端。

这就是我们面临的问题,归结为最简单的术语:使声音产生实际单词的软件和声音本身通常是两个不同的实体,有时是三个。我对 Orca 的第一次体验并不愉快。我以为我听到的是划痕唱片或扬声器爆裂声,这让我非常恼火。事实证明,Orca 被编程为在启动时开始阅读第一个屏幕。那绝对是可怕的语音表示,我不明白这怎么能作为用户就绪的软件发布——不能用那种“声音”。因此,尝试使用 Festival 的用户,例如,会想要添加不同的语音,因为默认语音太机械化了。问题就从这里开始。

每个应用程序的开发人员最初都配合得很好,但最终其中一位开发人员会在他或她的端做一些更改,例如,关键文件路径。这很好,除非您是需要访问这些文件的软件的开发人员。没有人告诉她或他有关此更新的信息。突然,TTS 应用程序坏了,因为它在一个目录中查找语音文件,而开发人员更改了这些文件路径,并且懒得告诉该开发人员。可悲的是,有时这些应用程序只是被完全放弃了。谁受苦?最终用户。这就是为什么我试图特别引起人们对这个领域的关注。

我完全同意在 Android/Chromebook 和 iExperience 中可以找到 TTS 解决方案。实际上,我在我的 Nexus 7 上使用一个名为 Speech Assistant 的应用程序。我尽可能在我的平板电脑上使用它,它正是我认为 TTS 应用程序应该具备的一切——不仅在移动市场中,而且在 Linux 中也是如此。这就是我在这里工作的重点。移动市场有不错的 TTS 应用程序。Linux 没有。告诉某人忘掉 Linux 并使用移动应用程序是一种推诿,简单明了。这是逃避挑战的懒惰方式。

这个建议通常是由那些不了解他们在说什么,也不理解或关心用户的特定需求的人提出的。我的电脑和笔记本电脑是我的眼睛和声音,面向整个世界。我们工作时不需要狭窄或笨拙的移动应用程序。我们需要桌面解决方案,而且我们需要尽快得到它。在我之前关于这个主题的文章和博客中,来自世界各地的人们都要求我,如果我找到解决这个问题的体面方案,请随时通知他们。全世界都对这个软件感兴趣。

我很高兴阅读了 Marcel Gagne 先生的评论。Marcel 是一位记者,也是一位我非常钦佩的作家,我每周都阅读他的作品。Marcel 在回复我关于此事的 FOSS Force 文章 时发表了评论。Marcel 提到他在 10 年前写过一篇文章,感叹 Linux 中 TTS 的现状。Marcel 说,对于这个问题在十年后仍然存在,他已经不仅仅是失望了。看来我们俩都是如此。

除了屏幕阅读功能外,我不太确定两者之间的区别。Linux 社区可以做些什么来解决这个问题?

我之前因为说这句话而收到了尖刻的电子邮件,这句话是我们所有人每天都在使用的一句话。这句话是“Linux 社区”。我的亲身经历让我注意到,实际上根本没有所谓的“Linux 社区”。在最好的情况下,我们是一大群交战派系,互相口头屠杀,并在互联网战场上奔跑和枪战时留下血迹。但是,一个更精简的 Linux 社区,一个专注于特定问题或特定事项的社区或团体,可以在解决这个问题方面大有作为。

任何人要做的第一件事,为了解决问题,就是将问题引起有能力解决问题的人的注意。这并不总是一件容易的事。实际上,这很少是一件容易的事。您面临的任务是说服开发人员,有很多人需要并且将会使用他们的软件。“开发人员”这个术语在我们日常的 FOSS 交易中被大量使用。我的观点是,这种随意的识别术语掩盖了开发人员是什么以及她或他的工作有多么困难。成为一名高效且熟练的程序员需要多年时间,这包括所有编程语言。要求软件开发人员从他或她的专业和个人生活中抽出时间来从事您的项目,应该尽可能谦虚地进行。要求米开朗基罗从他的脚手架上下来粉刷你的车库需要技巧,并且要牢牢地抓住你的帽子。

是否有任何值得关注的、试图解决此问题的引人注目的项目在不久的将来出现?如果没有,是什么阻碍了 Linux 平台上文本转语音软件的进一步发展?

引人注目?目前还没有,但在接下来的几句话中就会有。我的 FOSS Force 文章 谈到需要为开源 Java 应用程序 MaryTTS 提供一个易于使用的前端,这带来了成果。目前,有三位 Java 开发人员正在集中精力开发此 GUI。MaryTTS 是一个了不起的应用程序,但与许多 TTS 程序一样,它也很难使用。大多数时候,用户界面是命令行。对于 95% 的 EDCU 来说,这是行不通的,我将参考我之前引用的示例。

这三位开发人员跨越两大洲和三个时区工作,以便将他们的技能应用于这个项目。我们现在有一个 alpha 版本,或者至少是一个概念验证。基本的文本转语音功能正在工作,但还有许多其他功能将构建到 GUI 中。再次,为了避免任何混淆,我们的项目是 MaryTTS 的前端。至于名称,我们希望它很容易被识别为前端。目前,我们正在使用 Voices4MaryTTS,但也在探索其他名称。我们欢迎可以用来命名此应用程序的建议。以下是我们目前正在制作的示例

音频文件

您可以从此处下载。再次说明,这仅仅是一个 Alpha 版本,请记住这一点。

Linux 平台目前在这个领域是否落后于其他竞争对手?

它甚至从未成为这场竞赛中的有力竞争者。在我看来,Linux 中的大多数 TTS 应用程序自诞生以来一直处于业余爱好者模式。我确信这句话会让很多人感到不满,但简单地比较一下所有使用 TTS 的 Linux 程序与 Mac、Windows 甚至移动市场,就会证明我的观点。希望我们可以提高足够的意识,至少看到 Linux 中 TTS 的一些进步。希望如此。

德克萨斯 Linux 节
演讲者访谈

本文是德克萨斯 Linux 节的 演讲者访谈系列 的一部分。德克萨斯 Linux 节 是德克萨斯州第一个全州范围的年度社区运营会议,面向来自孤星州及周边的 Linux 和开源软件用户和爱好者。

Aleksandar Todorović
我是 OCCRP 的技术部门的一员,OCCRP 是一个很棒的调查新闻网络。我对开源软件、人工智能和信息安全充满热情。我的开源贡献现在已与 reddit、elementary OS 和 Tor Project 等项目合并。我正在运营一个个人博客,我在那里分享我的个人故事。

4 条评论

使用 TTS 软件的两个群体的需求差异很大,以至于 Linux 中面向视力障碍人士的软件状态远没有面向言语障碍人士的软件状态那么糟糕。

对于视力障碍人士来说,命令行界面是一个优势;对于言语障碍人士来说,这是一个劣势。视力障碍人士非常愿意为了阅读速度而牺牲语音的自然性;而言语障碍人士则恰恰相反,他们想要自然性而不是速度。

Linux 上 TTS 软件的当前状态似乎很大程度上是因为开发人员一直以视力障碍人士为目标,而根本没有关注言语障碍人士。让我们希望 Ken 的努力能够使这一缺点得到适当的解决。

据我所知,还有 ibmtts(Windows 下 JAWS 的默认 TTS,也称为 Voxin 或 eveloquence)和 Pico(google 的 TTS,这也与 TalkBack 一起使用)
- IBMTTS 在 http://voxin.oralux.net/get.php 上售价约 4 - 5 美元,但该网站目前正在维护中。
- Pico 是开源的
也许这对您有帮助

这篇文章并非完全准确。我不是来批评的,而是为了指出您的所有选择。我是一个盲人,因此我不需要或不一定想要高质量的语音,高质量的语音通常会转化为占用我硬盘空间的大尺寸语音。在我听来,自然性听起来更像是一种复杂但不太正确的算法,用于将语音组合在一起,以尝试模仿人类说话的方式。重音通常不正确,有时只差一点点,有时又非常滑稽,而且它会扰乱文本的流畅性。我更习惯于使用共振峰而不是连接法(如自然语音那样)的语音方法。它不如自然语音自然,但速度更快,而且肯定更小。我一直在努力改进 espeak,可在 http://espeak.sf.net 上找到,以使其美国英语达到标准。如果您根据 Festival 的易用性来判断 linux tts 的状态,那么我对您发现它困难一点也不感到惊讶。我从未成功让该软件工作,而且我已经尝试了很多次。如果您只是指导我需要改进的地方,我非常愿意帮助改进 linux 中 tts 的状态。但是,我确实不同意您关于它不够容易的说法。我从来没有完全理解 windows 用户抱怨说 linux 没有图形安装程序、点击式向导等等。我们在这里做事的方式不同。我认为您可能想要的是一种听起来比计算机更像人类的好的自然语音。您应该能够拥有它。有适用于 linux 的商业质量语音,可能满足您的需求。我知道有两家这样的公司生产它们。一家是 cepstral,我相信来自 nuance,另一家是 ivona,我不确定具体是哪家公司生产的。我使用过最新的 windows 版本,即 windows 10,但我还没有发现该平台比 linux 更容易或更好的地方。事实上,我发现恰恰相反。我不知道 linux 是否有任何好的开源语音听写软件。我听说过有,也听说过没有。如果没有任何,或者如果现有的软件不好,那么这需要修复,因为您和任何人一样有权使用您的计算机,而无需为软件或硬件支付高得离谱的价格。我非常愿意提供帮助,我甚至可以为您指出一些社区,主要是针对盲人和视力障碍人士的社区,但这仍然是您可以解决问题的社区。在涉及到辅助功能时,我经常很难让我的声音被听到。我从未想过这对您来说也会如此困难。

天啊,我真希望我在点击提交之前花时间更仔细地阅读我的评论。您不需要语音听写软件,您需要高质量的 tts 语音。好吧,至少我有点涵盖了这一点。您的基本选择是,espeak、ibmtts 或 voxin,对于好的旧式 eloquence 合成器 jaws 和 window eyes,名称有很多。快速响应语音就只有这些了。之后是自然语音。有 festival,您已经遇到了比您应该遇到的更多麻烦才能启动它,pico,google 在 android 中使用它,cepstral 和 ivona 自然语音,以及 mary tts,orca 尚不支持它。实际上有一个标准化的语音 API,类似于 windows 的 sapi4 和 5,它被称为 speech-dispatcher。这里的主要问题是,因为我们分布太广,并非所有残疾人社区都彼此之间有很多联系。在阅读您的文章之前,我什至不知道有依赖 tts 但不是盲人的人。我们需要组成一个大型的、忠诚的残疾人社区,专注于改进我们依赖的软件,而不是在我们自己的小圈子里抱怨 windows 和 mac 获得了所有媒体和赞誉。有时我也会像其他人一样感到内疚。我想知道 linux 基金会是否会考虑将某种 tts 工作添加到他们的核心基础设施计划中?从企业使用的意义上来说,它不完全是核心,但对于大多数残疾人以及主要的屏幕阅读器 orca 来说,它肯定是软件的基石。除此之外,作为一个社区,我们需要让更多人到现场参加 linux 会议,并宣传每天都有人使用 linux,他们依赖的软件可能并非所有人都听说过。我已经尝试找一个参加一段时间了,但我住在东德克萨斯州,而且通常资金严重不足,因此通常无法负担里程来参加会议,而大多数大型会议都在州外或国外。我们可以改进这一点,但我们必须为此付出努力。我们不能仅仅抱怨 windows 更好,并期望这样做能取得任何进展。我的意思也包括我自己。当我感到沮丧时,我有时会这样做。Linux 有一些惊人的品质,其中之一是能够实时运行并且在启动时说话,让您可以免视觉安装,这与 windows 相比是一个巨大的巨大差异,我决心让它变得更好。

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.