Google TTS For NVDA
作者: Nguyen Anh Duc、Dao Duc Trung 和 Pham Hung Vuong
长久以来,读屏软件用户一直希望能在 Windows 系统的 NVDA 上使用来自 Google 语音合成技术的熟悉语音,就像在 Android 读屏软件上的体验一样。
Google TTS For NVDA 正是为实现这一愿望而诞生的。通过 WebAssembly(WASM)技术运行 Google 的语音合成技术,并借助受支持的后台 Chromium 浏览器运行环境(如 Google Chrome、Microsoft Edge 或 Brave),本插件为您带来熟悉、自然的 Google 语音,提升您日常使用电脑的体验。
下载所需的语音包后,本插件将完全离线运行于您的电脑上,无需持续联网即可获得快速响应的语音。
主要功能
- 完全离线运行: 下载所需语音包后,语音将在本地处理。
- 丰富的语言和语音: 为受支持的语言提供多种 Google TTS 语音包。
- 响应快速、延迟低: 采用文本分段和音频缓冲技术,提升 NVDA 的响应速度。
- Google TTS 语音管理器: 可在无障碍对话框中浏览、下载、移除并查看语音包。
- Chromium 浏览器运行环境选择: 可选择 Google Chrome、Microsoft Edge 或 Brave 作为受支持的后台浏览器运行环境。
- 自动语言配置文件: 可选择按语言分别设置配置文件,让不同语言拥有各自的语音和语音参数。
- 内置插件更新: 可在 NVDA 设置中检查插件更新,并可选择在每次启动时自动检查一次。
系统要求
- NVDA: 版本 2024.1 或更高。本插件支持 32 位(x86)和 64 位(x64)的 NVDA 2024 至 2026 各版本。
- Chromium 浏览器: 电脑上需安装 Google Chrome、Microsoft Edge 或 Brave。如果使用 Microsoft Edge 作为运行环境,还需要安装 Microsoft Edge WebView2 运行时。
- 可交互的 Windows 用户会话: 在 Chromium 浏览器运行环境无法启动的场景下(如 Windows 登录界面、安全桌面环境、Windows PE、恢复环境或其他最小化 Windows 会话),请不要依赖本插件。
快速入门指南
- 按 NVDA+Ctrl+S 打开 NVDA 的选择语音合成器对话框,选择Google TTS For NVDA。
- 如果尚未安装任何语音包,NVDA 会显示一条消息,提示尚未安装任何 Google TTS For NVDA 语音。按确定打开 Google TTS 语音管理器并下载语音包。按取消可暂时继续使用当前的语音合成器。
- 在 Google TTS 语音管理器的下载选项卡中,至少下载一个语音包。
- 下载完成后,打开语音设置(NVDA+Ctrl+V)选择您偏好的语言和变体。
管理语音
您可以随时打开 Google TTS 语音管理器来添加或移除语音包:
- 按快捷键 NVDA+Ctrl+Shift+G,或
- 依次进入NVDA 菜单 → 工具 → Google TTS 语音管理器...
Google TTS 语音管理器包含两个选项卡:
- 已安装: 显示已存储在您电脑上的语音包。状态列会说明每个语音包是可用、不受内置引擎支持、缺少所需的语音包、被其他已安装语音包依赖,还是依赖于其他语音包。
- 下载: 显示可供下载的语音包。状态列会说明该语音包是否可供下载、是否需要其他语音包、所需语音包是否已安装,或是否被其他可下载语音包依赖。
每个选项卡中的控件按以下顺序排列:按语言筛选、选中全部语音包、语音包列表,然后是移除选中的语音包或下载选中的语音包(视选项卡而定)。对话框还包含一个状态行,以及刷新、打开语音包文件夹和关闭按钮。
要添加语音,请在下载选项卡中勾选所需的语音包,然后按下载选中的语音包。要移除语音,请在已安装选项卡中勾选不再需要的语音包,然后按移除选中的语音包。
部分语音包依赖于其他语音包。下载有依赖关系的语音包时,语音管理器也会一并下载所需的语音包。移除某个被其他已安装语音包依赖的语音包时,语音管理器会将这些相关联的语音包一并列出,避免留下无法使用的语音。
语音管理器可防止您误删最后一个可用的语音包。如果 Google TTS For NVDA 并非当前的语音合成器,警告对话框默认选中否。如果 Google TTS For NVDA 正是当前的语音合成器,语音管理器会要求您先切换到其他语音合成器;若不切换,则会保留最后一个可用的语音包。
您可以在任一选项卡中使用按语言筛选下拉框,只显示您所需语言(例如英语或越南语)的语音包,以便更快找到所需语音。此外,如果想查看语音包在电脑上的存储位置,可点击打开语音包文件夹。
语音的下载和移除均在后台进行,您可以继续正常使用 NVDA,不会被打断。进度播报只会在关键节点和最终结果时播报,不会因为每一点微小的百分比变化而反复播报。
配置
语音设置
无论自动语言配置文件是否启用,NVDA 的语音设置对话框(NVDA+Ctrl+V)都会为 Google TTS For NVDA 提供停顿选项。当自动语言配置文件关闭时,该对话框还会提供以下选项:
- 语音: 选择已安装的 Google TTS 语言。
- 变体: 选择该语言下的具体语音名称,包括已安装的 Chrome OS 语音和 Google Natural 语音。
- 语速: 调整朗读速度。
- 加速朗读: 启用后可将朗读速度提高一倍,便于快速浏览。
- 音调: 调整语音的音高。
- 音量: 调整朗读音量。
停顿: 选择停顿时长保持不变、仅在文本末尾缩短,还是在整段朗读过程中都缩短以加快阅读速度。此设置适用于所有 Google TTS 语音。
插件设置
在NVDA 菜单 → 首选项 → 设置 → Google TTS For NVDA中,您可以配置:
- Chromium 浏览器运行环境: 选择 Google Chrome、Microsoft Edge 或 Brave 作为插件的后台 Chromium 浏览器运行环境。设置面板会显示各浏览器的可用状态。
- Chromium 浏览器运行环境状态: 查看当前选择的运行环境、各浏览器的可用情况,以及使用中的回退运行环境(如适用)。
- 使用自动语言配置文件: 启用自动配置文件选择,并展开下文所述的配置文件控件。
- 首选配置文件语言: 选择当句子语义不清时使用的已启用配置文件语言。在至少启用一个语言配置文件之前,此列表可能为空。
- 自动语言配置文件: 选择要编辑的已安装语言配置文件。
- 使用此语言配置文件: 启用选中的语言配置文件。
- 变体、语速、加速朗读、音调、音量、大写字母音调变化百分比、大写字母提示方式、大写提示音、如支持则使用拼读功能: 为选中的已启用配置文件设置语音参数。
- 自动语言配置文件状态: 查看配置文件当前是关闭、不可用、尚未选择配置文件,还是已启用。
- 更新: 包含下文所述的插件更新控件。
- 在 NVDA 启动时自动检查插件更新: 让 Google TTS For NVDA 在下一次 NVDA 启动后检查一次更新。此选项默认关闭。
- 插件更新状态: 查看当前已安装的插件版本、自动启动检查是否开启,以及当前是否正在检查更新。
- 检查更新...:手动检查最新的稳定版插件。
Google TTS For NVDA 设置分类也可通过自定义的按键手势打开。默认未分配快捷键;可在NVDA 菜单 → 首选项 → 按键手势的 Google TTS For NVDA 分类下自行分配。
插件更新
打开NVDA 菜单 → 首选项 → 设置 → Google TTS For NVDA,然后按检查更新...以检查最新的稳定版本。手动检查时,如果插件已是最新版本、无法连接网络,或无法解析更新响应,都会显示一个"确定"对话框提示相应信息。
当有新版本可用时,Google TTS For NVDA 会显示一个更新信息对话框,列出下载大小、所需的最低 NVDA 版本、最后测试通过的 NVDA 版本以及更新日志。选择是即可在 NVDA 内下载 .nvda-addon 安装包。下载过程中,正在下载 Google TTS For NVDA 更新对话框会显示下载状态、进度条(在已知文件大小时)以及取消按钮。插件会依据更新清单中记录的文件大小和 SHA256 校验值验证下载的文件,然后打开 NVDA 常规的插件安装程序。
更新程序还能识别同一公开版本号下的小型修复版本(hotfix)。这使维护者可以在不改变显示版本号的情况下发布兼容性或稳定性修复,而当发布元数据显示有更新的构建版本时,NVDA 仍可提供该新版本。
自动启动检查默认处于关闭状态。如果启用该选项,Google TTS For NVDA 会在下一次 NVDA 启动后检查一次更新,若没有新版本则不会有任何提示。无论自动检查是否启用,手动检查功能始终可用。如果在打开设置分类时后台启动检查仍在进行,"检查更新"按钮会保持禁用状态,直到该次检查完成为止。更改在 NVDA 启动时自动检查插件更新复选框只会影响之后的 NVDA 启动,不会中断正在进行的检查。
自动语言配置文件
启用使用自动语言配置文件后,检测到的句子将使用插件按语言划分的配置文件,而不是 NVDA 常规的语音设置。如果只启用了一种语言配置文件,则该配置文件会用于每一个句子。关闭自动语言配置文件后,您常规的 Google TTS 语言和变体设置会重新生效。
自动语言配置文件在 32 位(x86)和 64 位(x64)版本的 NVDA 中均使用内置的 CLD2 检测库。只有当 CLD2 的检测结果对某个已启用的语言足够可靠时,才会被采纳。如果文本过短或语义不清,插件会在可用的情况下使用较为保守的本地语言判断信号,并回退到首选的已启用语言。
- 打开NVDA 菜单 → 首选项 → 设置 → Google TTS For NVDA。
- 启用使用自动语言配置文件。
- 移至首选配置文件语言。该列表中只会显示已启用的语言,因此在您启用配置文件之前该列表可能为空。
- 选择一个自动语言配置文件。
- 为每种您希望自动语言配置文件使用的语言选中使用此语言配置文件复选框。语言配置文件在勾选之前处于关闭状态。
- 为每种已启用的语言设置变体、语速、加速朗读、音调、音量、大写字母音调变化百分比、大写字母提示方式、大写提示音以及如支持则使用拼读功能。
- 返回首选配置文件语言,选择当某个句子语义不清时使用的已启用语言。
语速、音调和音量使用与 NVDA 语音设置相同的滑动条控件。大写字母音调则使用数字编辑/微调控件,便于精确调整。
诸如标点符号与特殊符号朗读级别、自动方言切换、语言切换播报、Unicode 规范化、包含表情符号在内的 Unicode 联盟数据、额外符号词典、延迟字符描述,以及语音模式选择等 NVDA 全局设置,仍保留在 NVDA 的语音设置中。
自动语言配置文件会在 NVDA 处理文本之前设置语言语境,因此 NVDA 的符号发音和语音词典处理仍会在所选语言语境下按常规语音流程进行。
当自动语言配置文件关闭时,NVDA 语音词典会针对当前所选的 Google TTS 变体正常工作。当自动语言配置文件启用时,插件会在处理相应文本段落期间,临时使用该语言配置文件所选变体对应的语音词典。NVDA 的默认词典与临时词典仍会按 NVDA 的常规行为运作。
本合成器会忽略 NVDA 自身的自动语言与方言切换命令,因此这些全局选项不会强制 Google TTS 更改语音。如果您希望在本插件中实现自动语音/配置文件选择,请使用 Google TTS 的自动语言配置文件功能。若启用了 NVDA 的朗读时播报语言变化选项,在配置文件启用期间,播报的语言名称将遵循 Google TTS 自动语言配置文件的检测结果。当配置文件关闭时,NVDA 仍可使用应用程序提供的语言变化信息进行语言播报以及字符/符号处理(包括标点符号和符号词典),但这些命令不会使 Google TTS 更改语音。
启用自动语言配置文件期间,NVDA 的语音设置对话框将不再为本合成器提供常规的语音、变体、语速、加速朗读、音调和音量控件,而是显示一条可聚焦的提示,引导您前往 Google TTS For NVDA 设置分类进行配置。停顿选项在语音设置中仍然可用,并适用于所有 Google TTS 语音。此模式下,常规的语音设置环命令(桌面键盘为 NVDA+Ctrl+方向键,笔记本键盘为 NVDA+Shift+Ctrl+方向键)只会播报该提示,而不会更改 Google TTS 的语音或语音参数。启用自动语言配置文件期间,Google TTS 同样会使用各已启用配置文件中的大写字母及拼读选项;关闭自动语言配置文件后,常规语音设置中的数值将重新生效。Google TTS For NVDA 设置分类中的状态信息同样可通过 Tab 键访问,便于读屏软件播报。
排查 Edge 运行环境无声问题
如果您选择 Microsoft Edge 作为 Chromium 浏览器运行环境,Google TTS For NVDA 还会检查 Microsoft Edge WebView2 运行时是否可用。有可能已安装 Edge,但 WebView2 缺失或已损坏,此时插件将无法使用 Edge 进行语音合成。Google Chrome 和 Brave 不依赖 WebView2。
WebView2 是原生 Windows 应用程序用来承载网页内容的 Microsoft Edge 运行时组件。它与 Microsoft Edge 相关,但即便系统中已有正常可用的 Edge 浏览器,也不代表应用场景所需的 WebView2 运行时已安装且状态正常。Microsoft 建议应用程序使用 Evergreen 版 WebView2 运行时,因为它是共享的、可自动更新,且体积小巧的 Evergreen 引导程序会自动下载与设备架构匹配的运行时。
需要 WebView2 时,Google TTS For NVDA 会提供按钮供您下载 Microsoft 的在线 Evergreen 引导程序、打开 Microsoft 的 WebView2 页面获取离线安装程序或固定版本安装包,或选择稍后再处理。在 WebView2 可用之前,NVDA 会继续使用先前的语音合成器。
如果 Windows 无法打开下载页面,插件会在一个带标签的只读文本框中显示下载地址,并提供复制链接按钮,方便您手动将地址粘贴到浏览器中。
如果电脑已联网,可在此处下载 Microsoft Edge WebView2 Evergreen 引导程序:下载 Microsoft Edge WebView2 运行时。
运行安装程序,重启 NVDA,然后重新选择Google TTS For NVDA。如需离线安装程序或固定版本的 WebView2 运行时安装包,请打开 Microsoft 的 WebView2 页面:Microsoft Edge WebView2。
注意事项
- 使用 NVDA 时,您无需保持 Google Chrome、Microsoft Edge 或 Brave 浏览器窗口处于打开状态。插件会自动在后台连接并处理语音。
- NVDA 启动后首次朗读时,语音可能需要片刻时间进行初始化。
社区贡献
我们非常重视来自社区的合并请求(pull request)。当代码能够稳定运行、符合插件现有的逻辑与界面风格、不会给其他插件功能带来回归问题、不会干扰其他 NVDA 插件或 NVDA 本身、不会削弱插件安全性,并且不会在未经许可的情况下收集用户数据时,该贡献才会被接受。
支持与联系
如果您有任何问题、建议或需要帮助,欢迎联系开发团队:
更新日志
版本 0.5.5(2026-07-23)
- 自动语言配置文件: 改进了 CLD2 与 Google TTS 语言代码别名之间的自动语言配置文件匹配,涵盖菲律宾语/他加禄语、爪哇语、旧版希伯来语代码、挪威语变体、阿拉伯语,以及简体中文、繁体中文与粤语的映射关系。
- CLD2 Windows DLL: 改用 MSVC(而非 MinGW-w64)重新编译内置的 CLD2 Windows DLL,使打包后的插件不再触发此前在 VirusTotal 测试中出现的杀毒软件误报。
版本 0.5(2026-07-19)
- 插件更新: 新增可在 Google TTS For NVDA 设置分类中进行的内置更新检查,支持可选的启动时检查、本地化的更新信息、在 NVDA 内下载安装包、转交给 NVDA 标准的插件安装程序处理,并支持同一公开版本号下的小型修复版本(hotfix)。
- Chromium 运行环境回退: 改进了 Chrome、Edge 与 Brave 之间的回退逻辑,当所选运行环境无法启动或尚未就绪时,Google TTS For NVDA 现在可以尝试其他受支持的浏览器运行环境。当 WebView2 缺失且有其他受支持的运行环境可用时,现在可以跳过 Edge。当浏览器仍在完成启动时,Google TTS For NVDA 现在会等待并重试,减少了偶发的静默启动失败或浏览器连接失败问题。
- NVDA 兼容性: 改进了与新旧版本 NVDA 在语音、拼读、语音词典、设置、语音合成器切换、全局插件以及语音合成驱动等方面的兼容性。Google TTS 现在会阻止 NVDA/应用程序的语言切换命令更改 Google 语音,同时在自动语言配置文件关闭时仍保留这些命令用于语言播报和字符/符号处理。
- 简体中文、繁体中文与俄语本地化: 新增了简体中文、繁体中文和俄语的界面翻译及用户文档。中文语言区域还包含本地化的插件元数据。
- 语音可靠性: 修复了在极少数情况下语音被中断后可能不完整重播的问题,恢复了 SeaNet 语音的音调控制功能,并避免了从 Google TTS 切换到其他语音合成器后偶发的语音设置错误。新增停顿设置,可选择缩短停顿时长;可在 NVDA 的语音设置对话框(NVDA+Ctrl+V)中启用,详情见"配置"部分。
- 状态字段无障碍性: 改进了运行环境、自动语言配置文件、更新、语音设置提示以及手动网址回退等状态字段,使其更易于聚焦和查看,不会出现延迟的重复播报。
版本 0.4(2026-07-16)
- 自动语言配置文件: 新增按语言划分的 Google TTS 配置文件,灵感来自 Android 上的 Auto TTS。可在 Google TTS For NVDA 设置分类中进行配置;每种已启用的语言均可拥有各自的变体、语速、加速朗读、音调、音量、大写字母处理方式和拼读方式,而在该功能关闭时,NVDA 常规语音设置仍可正常使用。
- NVDA 兼容性: 改进了与 NVDA 2024.1 至 2026 版本的兼容性,包括更安全的语音合成器切换、更安全的语音处理钩子,以及在其他插件封装 NVDA 语音合成器选择逻辑时更稳妥的表现。
- 多语言长文本朗读: 改进了对使用非 ASCII 标点或词间无空格文字的语言的分句与分词处理,并为多种语言扩展了基于 Unicode 的标点符号处理。
- Chromium 运行环境支持: 新增对 Brave 浏览器运行环境的支持,改进了在 Google TTS For NVDA 设置分类中 Chrome/Edge/Brave 之间的回退行为,并明确说明仅当使用 Microsoft Edge 时才需要 Microsoft Edge WebView2 运行时。
- 文档改进: 在 GitHub README 中新增了设置自定义 Chrome、Edge 和 Brave 可执行文件路径的说明(含无障碍的 Windows 图形界面操作步骤),并在插件帮助文档和 GitHub 文档中都扩充了 Edge WebView2 故障排除内容。
- 设置无障碍性: 新增了一个默认未分配快捷键的按键手势命令,可直接打开 Google TTS For NVDA 设置;改进了状态字段,使读屏软件能更可靠地播报其标签和完整信息;并使语音设置环在该功能启用期间播报自动语言配置文件的提示信息,而不是更改语音参数,从而使由配置文件管理的语音参数与 NVDA 常规语音设置保持兼容。
- 语音选择与稳定性: 改进了语音与变体的选择方式,使语音预热更安全,改善了语音管理器的语音包处理逻辑,加快了语音中断的响应速度,使语音包导入更安全,并修正了部分地区语言名称(如英语(尼日利亚))。
版本 0.3(2026-07-12)
- Chromium 浏览器运行环境选择: 新增可直接在 NVDA 设置(NVDA 菜单 → 首选项 → 设置 → Google TTS For NVDA)中选择受支持的 Chromium 浏览器运行环境的选项,包括 Google Chrome 和 Microsoft Edge。
- 连接与缓存稳定性: 将浏览器配置文件存储位置迁移至
AppData\Local,以便在 NVDA 重启后仍保留已编译的 WASM 缓存,并自动隐藏后台浏览器辅助窗口。
- Google TTS 语音管理器改进: 新增按语言筛选下拉框、语音包可用性与依赖关系状态、更安全的语音包移除逻辑(避免移除后无可用语音)、更精简的进度播报、改进的键盘导航与读屏软件焦点管理,以及自动检测并清理孤立语音包的功能。
- 语音响应与稳定性: 修复了 NVDA 启动或切换语音合成器后首句朗读被截断的问题,降低了语音合成延迟,并改进了语音中断处理。
- 扩充语音库: 集成了 180 个 Google TTS 语音包并规范化语言代码(其中 160 个语音包可完全下载并立即使用,另外 20 个语音包目前尚不兼容当前的 WASM 引擎)。
- 本地化与越南语翻译: 实现了完整的本地化系统,并为用户界面和文档添加了完整的越南语翻译。
版本 0.2(2026-07-03)
- 将语音库扩充至 100 多个语音选项,新增 40 多个语言/方言语音包及 Google Natural 语音变体。
- 将 WASM TTS 引擎升级至 20260625.1 版本。
- 按语言代码字母顺序重新排列语音包,便于查找。
版本 0.1.5(2026-07-02)
最后编辑于 2026-07-23