Python GTTS 错误:AttributeError:“NoneType”对象没有属性“group”

2024-04-24

我有一个项目正在进行文本到语音转换。我的音频文件被存储为 mp3。

但现在,当我检查 Gtts api 时抛出错误。我尝试搜索但找不到该错误的可行解决方案。

我的代码如下:

def synth(sent,language='en',slow = False):
    """
    Synthesize text into audio
    """  
    os.system('clear')
    print("Speaker Output:" + sent)
    gt_ob = gTTS(text=sent, lang=language, slow=slow)
    file_name = hashlib.md5(sent.encode('utf-8')).hexdigest()
    print("File Name " + file_name)
    gt_ob.save("media/audio.mp3")
    print("Till here")
    os.system("ffmpeg -nostats -loglevel 0 -y -i media/audio.mp3 -ar 16000 media/"+ file_name + ".wav")

if __name__ == "__main__":
    synth("good morning","en")

我收到的错误消息是:

File "file_name.py", line 30, in <module>
synth("good morning","en")
  File "file_name.py", line 25, in synth
    gt_ob.save("media/audio.mp3")
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts/tts.py", line 247, in save
    self.write_to_fp(f)
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts/tts.py", line 187, in write_to_fp
    part_tk = self.token.calculate_token(part)
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 28, in calculate_token
    seed = self._get_token_key()
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 62, in _get_token_key
    a = re.search("a\\\\x3d(-?\d+);", tkk_expr).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

那么我们该如何解决这个出现的bug呢?


现在官方已经修复了。它与上游依赖有关gtts, gtts-token。它已被修复在gtts-token==1.1.2

我全新安装了两者后问题得到解决gtts and gtts-token。现在它正在发挥作用。感谢开源大神和@carrey-cole

Link: https://github.com/pndurette/gTTS/issues/137 https://github.com/pndurette/gTTS/issues/137

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python GTTS 错误:AttributeError:“NoneType”对象没有属性“group” 的相关文章

随机推荐

  • 如何在 Python 中生成唯一随机浮点列表

    我知道有一些简单的方法可以生成唯一随机整数的列表 例如random sample range 1 100 10 我想知道除了编写一个像范围一样但接受这样的浮点数的函数之外 是否有更好的方法来生成唯一随机浮点数的列表 import rando
  • CREATE命令被拒绝给用户?

    show grants for charm localhost Grants for charm localhost GRANT USAGE ON TO charm localhost IDENTIFIED BY PASSWORD E
  • 在 Go 中设置引用

    如何通过引用传递接口并让方法为我填充它 像这样的东西 var i CustomInterface Get title ref i i SomeOperationWithoutTypeAssertion i is nil here my pr
  • 如何从 PHP 中的 json 响应中按键提取值 [重复]

    这个问题在这里已经有答案了 我正在使用 getResponse api 来获取订阅者的最新信息 这是之后打印的内容var dump result object stdClass 2 1 updated gt int 1 我如何提取 解码 编
  • 在 bash 中使用正则表达式从字符串中提取信息

    我在 bash 中有一个字符串变量 如下所示 SOGoTimeFormat H M SOGoMailShowSubscribedFoldersOnly 0 SOGoMailSignaturePlacement below SOGoLangu
  • Swift Struct 不符合 Equatable 协议?

    如何使结构符合 Equatable 协议 我正在使用 Xcode 7 3 1 struct MyStruct var id Int var value String init id Int value String self id id s
  • 列出可用于 gstreamer 1.0 中 ksvideosrc 视频捕获的设备名称

    我正在尝试使用 c 中的 gstreamer 1 0 查询 Windows 上可用视频捕获设备 网络摄像头 的列表 我使用 ksvideosrc 作为源 我能够捕获视频输入 但我无法查询可用设备 及其上限 的列表 在 gstreamer 0
  • 如何在静态方法或自定义类中注入HttpClient?

    我想使用角度HttpClient在静态方法或类中 在类中不能将其定义为构造函数参数 我尝试过类似的东西 export class SomeNotInjectableService static doSomething const injec
  • Ruby on Rails 3:link_创建新的嵌套资源?

    我试图在 Rails 3 应用程序中创建一个链接来创建新的嵌套资源 但我无法弄清楚 链接到新嵌套资源的语法是什么 解决方案 确保您的资源正确嵌套在您的路由文件中 resources books do resources chapters e
  • Amazon S3:授予来自 IP 的匿名访问权限(通过存储桶策略)

    我有一个 Amazon S3 存储桶 并且希望将其可供特定计算机上的脚本使用 而无需部署登录凭证 所以我的计划是只允许从该机器的 IP 进行匿名访问 我对亚马逊云还很陌生 存储桶策略看起来是不错的选择 我将以下策略添加到我的存储桶中 Ver
  • 如何解决“允许的最大密钥长度为 900 字节”。

    我有以下表结构 CREATE TABLE dbo Signature caption id nvarchar 512 NOT NULL signature id int NOT NULL 我想使用以下 alter 命令添加主键 ALTER
  • C# 中 System.String[*] 和 System.String[] 的区别

    Edit 我知道 C 相当于For Each server As String In servers is foreach var item in servers 但是由于GetOPCServers返回对象 应该将其转换为可迭代类型 我正在
  • 页面抓取以从谷歌财经获取价格

    我试图通过抓取谷歌金融页面来获取股票价格 我在 python 中使用 urllib 包 然后使用正则表达式来获取价格数据 当我让 python 脚本运行时 它最初会运行一段时间 几分钟 然后开始抛出异常 HTTP 错误 503 服务不可用
  • 如何设置“如果对象存在”条件?

    有没有办法检查对象是否存在 我不断收到 需要对象 错误 我知道该对象不存在 如果是这种情况 我想绕过我的代码的一部分 我不知道什么是我没有尝试过的 var codeName document getElementById testCode
  • 如何阻塞直到BlockingQueue为空?

    我正在寻找一种方法来阻止直到BlockingQueue是空的 我知道 在多线程环境下 只要有生产者将物品放入BlockingQueue 可能会出现队列变空 几纳秒后又充满项目的情况 但是 如果只有one生产者 那么它可能希望在停止将项目放入
  • 为 iPhone 或 Android 开发? (作为 C# 开发人员)[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 R 提取包含特定人名的句子

    我正在使用 R 来提取包含特定人名的句子来自文本 这是一个示例段落 在蒂宾根 他作为改革家遭到反对 但在他的叔公约翰 罗伊克林的推荐下 他接受了马丁 路德的召唤 进入维滕贝格大学 梅兰希顿 21 岁时成为维滕贝格的希腊语教授 他研究圣经 尤
  • 根据 Python Pandas 中的描述场景和状态过滤产品

    假设我在 Pandas DataFrame 中有以下产品描述 我想保留满足以下条件的产品的所有产品描述 对于每一个id in product descriptions 检查是否包含全部descriptions从 至少 1 个场景scenar
  • DocumentDB IN 关键字与 Linq

    您现在可以使用 DocumentDB 创建 IN 查询 如下所示 SELECT FROM Families WHERE Families id IN AndersenFamily WakefieldFamily 但如果我使用 Linq 运行
  • Python GTTS 错误:AttributeError:“NoneType”对象没有属性“group”

    我有一个项目正在进行文本到语音转换 我的音频文件被存储为 mp3 但现在 当我检查 Gtts api 时抛出错误 我尝试搜索但找不到该错误的可行解决方案 我的代码如下 def synth sent language en slow Fals