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 和开源软件用户和爱好者。
4 条评论