2401_85771874 2024-06-28 16:00 采纳率: 50%
浏览 9
已结题

centOS7.9 freeSwitch加载tts模块时出错

最近刚开始学习freeSwitch,在加载flite模块时遇到如下问题,网上找了很久没找到解决方法,不知道有没有人之前碰到过这个问题,提前谢过了。

img

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-28 16:00
    关注

    引自免费微信小程序:皆我百晓生

    在 CentOS 7 上安装 FreeSwitch 时,如果你遇到了与模块加载相关的错误,可以尝试以下步骤来解决问题:

    步骤 1: 检查模块依赖性

    首先,确保所有必要的依赖库已安装且可用。

    • 确保 gccmake 已经安装并且可执行文件位于系统路径内。
    • /etc/yum.repos.d 中添加一个自由开关源仓库。
    • 安装必需的包:
      sudo yum install gcc make libtool automake autoconf libxml2-devel libxslt-devel openssl-devel libffi-devel
      

    步骤 2: 解决 unregister_cmu_us_awb 错误

    根据错误信息,“undefined symbol: unregister_cmu_us_awb”,这表明 FreeSwitch 需要特定于硬件的注册函数。为了解决此问题,你需要手动编译并附加到模块中。

    手动编译

    首先,创建一个名为 cmuus.awk 的脚本文件,用于替换 unregister_cmu_us_awb 函数。

    cat << EOF >> cmuus.awk
    BEGIN {
      unregister_cmu_us_awb = "cmu_us_awb_unregister"
    }
    EOF
    

    然后,编辑 mod_flite.so 文件,并将 cmu_us_awb_registercmu_us_awb_unregister 调整为其正确的名称。

    sudo sed -i 's/cmu_us_awb_register/cmu_us_awb_unregister/g' /usr/local/freeswitch/mod/mod_flite.so
    

    保存修改后的文件。

    更新 FreeSwitch 模块

    更新 FreeSwitch 模块后,重新编译并安装它:

    sudo make && sudo make install
    sudo service freeswitch restart
    

    等待几分钟,直到模块重新加载。

    步骤 3: 测试模块是否正常工作

    安装完成后,重启 FreeSwitch 并测试模块功能,包括语音输入和输出等。

    注意事项

    • 在安装过程中遇到任何错误,请查阅 FreeSwitch 的官方文档或社区论坛获取支持。
    • 如果在使用第三方模块时遇到问题,确保这些模块已经正确安装并在系统路径中可用。

    通过以上步骤,你应该能成功地解决 unregister_cmu_us_awb 错误,并使 FreeSwitch 正常运行。如果有其他疑问,请随时提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月6日
  • 已采纳回答 6月28日
  • 创建了问题 6月28日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?