You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下Firefox/Chromium调用speechSynthesis.getVoices返回空数组

解决Ubuntu 22.04升级后浏览器TTS无法访问语音引擎的问题

针对升级后浏览器speechSynthesis.getVoices()始终返回空数组,但系统spd-say功能正常的情况,可按以下步骤排查修复:

  • 修复Speech Dispatcher模块权限
    浏览器依赖Speech Dispatcher调用系统语音引擎,先确保核心模块权限正常:

    sudo chmod +x /usr/lib/speech-dispatcher-modules/sd_espeak-ng
    sudo systemctl restart speech-dispatcher.service
    
  • 重置用户级Speech Dispatcher配置
    升级残留的旧配置可能导致冲突,删除用户目录下的配置文件后重启服务:

    rm -rf ~/.config/speech-dispatcher
    systemctl --user restart speech-dispatcher.service
    
  • 确认浏览器语音合成权限
    打开浏览器设置,依次进入「隐私和安全」-「网站设置」-「语音合成」,确保允许网站使用该功能。部分浏览器需在「权限」面板单独确认此选项已开启。

  • 强制触发浏览器语音加载
    打开浏览器开发者工具(F12),在控制台执行以下代码,手动触发语音列表加载事件:

    speechSynthesis.onvoiceschanged = () => {
      console.log(speechSynthesis.getVoices());
    };
    speechSynthesis.getVoices();
    

    查看控制台输出,确认是否返回语音列表。

  • 补全依赖包
    升级过程中可能缺失浏览器与Speech Dispatcher交互的依赖,执行以下命令安装:

    sudo apt install libspeechd-dev speech-dispatcher-espeak-ng
    

    安装完成后重启浏览器重试。

内容的提问来源于stack exchange,提问作者Sharcoux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:10:30