当前位置: 首页 > java >正文

消除AttributeError: module ‘ttsfrd‘ has no attribute ‘TtsFrontendEngine‘报错输出的记录

#工作记录

尝试消除

消除“模块ttsfrd没有属性ttsfrontendengine”的错误的记录

报错摘录:

Traceback (most recent call last):
  File "F:\PythonProjects\CosyVoice\webui.py", line 188, in <module>
    cosyvoice = CosyVoice(args.model_dir)
  File "F:\PythonProjects\CosyVoice\cosyvoice\cli\cosyvoice.py", line 41, in __init__
    self.frontend = CosyVoiceFrontEnd(configs['get_tokenizer'],
  File "F:\PythonProjects\CosyVoice\cosyvoice\cli\frontend.py", line 65, in __init__
    self.frd = ttsfrd.TtsFrontendEngine()
AttributeError: module 'ttsfrd' has no attribute 'TtsFrontendEngine' 

找到代码部分发现运行时强制使用 ttsfrd ,但是试了多种方法还是不管用,于是在代码中设置成禁用了:

#    use_ttsfrd = Trueuse_ttsfrd = False

 禁用后没有再输出报错信息。查阅了一下,禁用 ttsfrd ,项目会调用WeTextProcessing来代用。

 

尝试修复

 其他修复方案可尝试:

pip install --upgrade ttsfrd
pip install "modelscope[audio]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

模块ttsfrd没有属性ttsfrontendengine的错误通常发生在代码逻辑中试图访问ttsfrd模块中不存在的属性或方法时。

这可能是由于安装不正确、版本不匹配,或者仅仅是拼写错误。

示例

import ttsfrd
ttsfrd.ttsfrontendengine()  # AttributeError: 模块 'ttsfrd' 没有属性 'ttsfrontendengine'

常见原因和解决方案

  1. 检查拼写错误 确保我们尝试访问的属性或方法名中没有拼写错误。

    示例

    import ttsfrd
    ttsfrd.ttsfrontendengine()  # 错误写法

    解决方法: 从模块的文档中验证正确的属性或方法名

    import ttsfrd
    ttsfrd.correct_method_name()  # 正确用法
  2. 验证安装 确保ttsfrd模块已正确安装。我们可以使用pip重新安装它。

    示例

    pip install ttsfrd -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
  3. 检查模块版本 确保我们使用的ttsfrd模块版本包含ttsfrontendengine属性。

    示例

    pip show ttsfrd

    查看版本信息,并在必要时更新

    pip install --upgrade ttsfrd -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
  4. 使用 ModelScope 音频依赖 如果ttsfrd是 ModelScope 的一部分,我们可以安装所有音频依赖以确保兼容性。

    示例

    pip install "modelscope[audio]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

http://www.xdnf.cn/news/4250.html

相关文章:

  • 2015-2018年 重要城市交通拥堵指数-社科数据
  • Ragflow服务器上部署教程
  • 前端、XSS(跨站脚本攻击,Cross-Site Scripting)
  • 深入理解 Oracle 数据块:行迁移与行链接的性能影响
  • 互联网大厂Java求职面试:云原生与AI融合下的系统设计挑战-2
  • 网络编程核心技术解析:从Socket基础到实战开发
  • 在Spring Boot 中如何配置MongoDB的副本集 (Replica Set) 或分片集群 (Sharded Cluster)?
  • C++ STL 基础与多线程安全性说明文档
  • 如何开发一个笑话管理小工具
  • 盛最多水的容器
  • conda 安装cudnn
  • SpringBoot中使用MCP和通义千问来处理和分析数据
  • 强啊!Oracle Database 23aiOracle Database 23ai:使用列别名进行分组排序!
  • 高光谱相机赋能烟叶分选:精准、高效与智能化的新突破
  • 美团后端开发一面
  • 第十五届蓝桥杯单片机国赛-串口解析
  • 前端封装框架依赖管理全攻略:构建轻量可维护的私有框架
  • 关于Java多态简单讲解
  • 【表设计】外键的取舍-分布式中逐渐消失的外键
  • 【firewall-cmd】--的作用以及使用方法
  • FlinkCDC采集MySQL8.4报错
  • 第六节:图像基本操作-像素级操作
  • Windows11下ESP-IDF开发环境搭建【基于Cursor/VS Code插件】
  • 【25软考网工】第五章(7)路由协议、静态与默认路由、路由协议分类
  • 代码随想录训练营第十八天| 150.逆波兰表达式求值 239.滑动窗口最大值 347.前k个高频元素
  • 了解一下OceanBase中的表分区
  • C++:实现线程池
  • 【Spring Boot 注解】@SpringBootApplication
  • 力扣-hot100 (矩阵置零)
  • C++命名空间