过去一年,基于神经网络、大型语言模型和机器学习的文本转语音引擎如雨后春笋般涌现。然而,对于依赖屏幕阅读器的视障用户而言,这波技术浪潮似乎与他们擦肩而过。如果你不是屏幕阅读器用户,可能会感到惊讶:在过去三十年间,绝大多数视障人士使用的语音合成技术几乎原地踏步。尽管文本转语音技术已在语音助手、导航系统和电话客服等领域彻底改变了明眼用户的使用体验,视障用户所依赖的语音引擎却长期停滞。这一现象背后有其深层次原因:视障用户与明眼用户对语音合成的需求存在本质差异,而这种差异导致两者在技术演进路径上渐行渐远。
需求错位:两种用户群体的根本性分歧
视障用户对语音合成的偏好与明眼用户截然不同。明眼用户追求自然、拟人、会话式的语音效果,越接近真人发声越好。然而,视障用户更看重语音的快速性、清晰度、可预测性和工作效率。这导致视障用户普遍偏好语速极高但略显机械的语音,通常可达到每分钟八百至九百词,而正常人的语速仅在每分钟两百至两百五十词之间。这种偏好看似奇怪,实则源于屏幕阅读器的使用场景:视障用户需要快速浏览大量文本内容,机械但高效的语音反而能让他们保持专注,不被语音的情感色彩分散注意力。
不幸的是,这种需求差异导致视障用户被排斥在语音技术爆炸式发展的浪潮之外。最受西方英语视障用户青睐的语音引擎 Eloquence,其最后一次更新是在 2003 年。尽管它因极高的普及度而迫使苹果公司在 iPhone、Mac、Apple TV 和 Apple Watch 上集成该语音,但苹果也不得不通过模拟层来运行这个已经二十余年未更新的语音引擎。Eloquence 是一个 32 位语音库,最后一次编译还是在 2003 年,在现代 64 位软件环境中根本无法直接运行。随着 NVDA 屏幕阅读器从 32 位向 64 位架构迁移,维护 Eloquence 的兼容性已成为社区面临的重大技术挑战。此外,Eloquence 库还存在大量已知的安全漏洞,但由于源代码无法更新或修复,使用者只能被动应对这些风险。
对于非英语用户而言,情况更为严峻。现代文本转语音引擎大多由明眼用户群体开发和优化,视障用户发现非主流语言的语音引擎普遍存在效率低下、过于会话化、语速过慢等问题。开源的 Espeak-ng 虽然尝试支持数百种语言并满足视障用户需求,但其本身也面临严峻挑战:许多语言的语音规则直接摘自 Wikipedia 文章,未经验证;其架构直接源自 1995 年为 RISC OS 系统编写的 Speak 语音引擎,这意味着今天的使用者仍在承受近三十年前的设计决策带来的局限性。更令人担忧的是,Espeak-ng 代码库目前仅有少量活跃维护者,虽然比零维护的 Eloquence 稍好,但长期可持续性仍然存疑。
现代 AI TTS 引擎的工程化困境
面对这一现状,社区开始尝试将现代 AI 驱动的文本转语音系统引入屏幕阅读器。理想情况下,这些基于神经网络的引擎应该能够提供更自然、更高效的语音体验。然而,实际工程化过程中的发现令人失望:几乎所有现代 AI 文本转语音系统都存在一系列根本性问题,使其难以适应屏幕阅读器的严苛要求。这些问题并非个别模型的缺陷,而是当前主流 AI 语音合成范式的系统性局限。
依赖膨胀问题
将现代 AI 语音系统集成到屏幕阅读器中面临的首要挑战是依赖膨胀。传统的语音合成引擎通常体积小巧、依赖简单,而现代基于深度学习的文本转语音系统则需要大量的 Python 第三方库支持。以两个具有代表性的开源项目为例:Kitten TTS 需要约一百零三个 Python 依赖包,而 Supertonic 也需要三十个以上。这种依赖规模对于屏幕阅读器插件开发来说是灾难性的。NVDA 插件的标准构建和打包方式并不支持自动化的依赖声明和构建流程,开发者只能手动复制和包含这些依赖项,无法实现自动更新。更严重的是,加载这些庞大的依赖项会导致屏幕阅读器启动变慢、资源占用增加,并且将用户暴露于这些依赖库中可能存在的任何安全风险之下。由于屏幕阅读器需要访问整个系统,这种安全攻击面的大幅扩张是不可接受的。
准确性缺口
现代 AI 文本转语音系统的设计目标是生成自然、拟人、流畅的语音,但这种追求似乎是以牺牲准确性为代价的。在实际测试中,这些模型普遍存在跳过单词、错误读取数字、截断短句以及忽略文本标点符号带来的韵律提示等问题。Kitten TTS 在准确性方面略胜一筹,因为它使用了确定性的音素化器(实际上与 Espeak 使用的相同)来确定单词的正确发音方式,仅将语音生成本身交给 AI 处理。然而,即便如此,Kitten TTS 仍然远未达到完美的准确性。对于屏幕阅读器使用场景而言,单词遗漏或数字误读是根本无法接受的错误类型,因为这可能导致用户完全误解重要信息。
流式延迟瓶颈
传统语音合成引擎可以在接收到文本后立即开始生成语音,而现代 AI 文本转语音系统的工作方式则截然不同。这类系统需要等待接收完整的文本块后才能开始语音生成。Supertonic 在这方面稍有优势,因为它可以在生成结果可用时流式输出音频;而 Kitten TTS 必须等待整个文本块完全生成后才能开始播放。然而,对于屏幕阅读器而言,这种等待是致命的。用户需要屏幕阅读器能够立即开始朗读新内容,他们会在文本中快速跳转,并频繁中断当前朗读。这意味着语音合成系统必须能够快速丢弃当前任务并重新开始,而不是让用户陷入等待。在实际使用中,当用户快速移动焦点或执行中断操作时,等待整段文本生成造成的延迟会严重破坏使用体验。
参数可控性缺失
传统语音合成引擎通常允许用户轻松调整音高、语速、音量、粗糙度等参数,这使视障用户能够根据自己的精确需求定制语音体验。更强大的是,这种实时调整能力允许开发者根据文本的格式或属性动态改变语音特征,例如对标题使用不同的语调,对代码块使用更具机械感的声音。现代 AI 语音模型由于是在特定说话者的录音数据上训练的,无法提供这种细粒度的参数控制。开发者只能使用模型训练数据中固有的语速、音高、音量等特征。Kitten TTS 和 Supertonic 虽然都提供了基础的语速控制,但不同语音之间和不同语句之间的实际表现差异很大。这种可控性的丧失意味着视障用户失去了赖以提升效率的重要工具。
行业现状与可行方向
当前最先进的 AI 文本转语音模型(如 Kokoro)在上述问题上的表现更加明显,而非有所改善。这并非个别项目的问题,而是整个现代 AI 语音合成领域与视障用户需求缺乏交集的体现。Blastbay Studios 在使用现代设计和技术创建满足视障用户需求的语音方面做了一些有趣的工作,但这是一个闭源产品,且存在发音准确性问题。更关键的是,它依赖于单一维护者,长期可持续性存疑。
从工程角度看,理想的解决方案是重新实现 Eloquence 作为一组开源库。但这需要语言学、数字信号处理和听力学方面的专业知识,以及出色的编程能力。保守估计,这样的现代化工作至少需要数百万美元的资助。在现实约束下,视障用户可能不得不接受「足够好」的语音合成方案,尽管这些方案在速度和效率上远不及他们目前使用的传统引擎。
对于开发者而言,当前可采取的务实策略包括:继续维护 Eloquence 的兼容性层直至模拟层造成的实时性能损失变得不可接受;探索基于规则的传统语音合成与轻量级神经网络模型的混合方案;以及推动语音合成领域对无障碍需求的关注。长远来看,只有当 AI 语音合成研究社区意识到视障用户这一特殊群体的需求,并将其纳入模型设计和评估的考量范围,真正的解决方案才可能出现。
参考资料
- Samuel Proulx. "The State of Modern AI Text To Speech Systems for Screen Reader Users." interfree.ca, 2026 年 1 月 5 日.