chatgpt-on-wechat icon indicating copy to clipboard operation
chatgpt-on-wechat copied to clipboard

百度TTS语音合成513错误代码

Open lsCoding666 opened this issue 2 years ago • 3 comments
trafficstars

前置确认

  • [X] 我确认我运行的是最新版本的代码,并且安装了所需的依赖,在FAQS中也未找到类似问题。

⚠️ 搜索issues中是否已存在类似问题

  • [X] 我已经搜索过issues和disscussions,没有跟我遇到的问题相关的issue

操作系统类型?

Windows

运行的python版本是?

python 3.10

使用的chatgpt-on-wechat版本是?

Latest Release

运行的channel类型是?

wxy(个人微信, wechaty)

复现步骤 🕹

问一个比较长的回答的问题,比如说介绍下三体剧情。然后就会失败,返回{'cookie': '549501194_2000', 'err_detail': 'Invalid text length', 'err_msg': 'tex param err', 'err_no': 513, 'err_subcode': 234, 'tts_logid': 1888171743}。但是短文本不会有问题

问题描述 😯

我将待转换的文本打印了出来,日志如下

[INFO][2023-05-06 21:49:33][baidu_[voice.py:84](http://voice.py:84/)] - 被合成的文本=《三体》是刘慈欣的科幻小说,是中国近年来受欢迎的科幻小说之一,曾荣获雨果奖。


《三体》的故事主要围绕一个名为“三体”的外星文明展开,它们居住于一个蕴含三个恒星的行星系统中,常年受到从另一恒星系中发射的恒星光束以及混沌环境的影响,为了生存而不断进化。三体文明历经了多次灾难性的文明崩溃,一次发现地球之后,他们发动了一场推翻人类文明的战争。


小说第一部主要描述了以世界末日之夜(又称“红岸基事件”)为开始的故事。红岸基事件是一场怪异的学术研讨会,它的主题是“三体问 题”的解法。会议的参与者们各有不同的想法,有的认为解法在纯理论上就不可能存在,有的则认为应该从实践中寻找。


在这个过程中,人类与三体间的交流不断加深,并且三体文明对地球的侵略也日益临近。小说第二部主要描述了三体文明的来袭以及人类如何应对。在全世界政府和科技界的努力下,人类共同应对了三体文明的入侵,利用一种特殊的技术,人类成功进入了三体文明的行星系,并在那里发现了一个名为“黑暗森林”的宇宙规律。


小说第三部主要是对人类文明和三体文明之间的较量的终结。在第三部,三体文明与地球文明之间的较量进一步升级,两个文明之间的历史和复杂的关系得以揭示,最终达成了一个复杂的结局。
[ERROR][2023-05-06 21:49:33][baidu_[voice.py:93](http://voice.py:93/)] - [Baidu] textToVoice error={'cookie': '549501194_2000', 'err_detail': 'Invalid text length', 'err_msg': 'tex param err', 'err_no': 513, 'err_subcode': 234, 'tts_logid': 1888171743}
[INFO][2023-05-06 21:49:34][wechaty_[channel.py:75](http://channel.py:75/)] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR]

开了工单询问百度的客服,他的回答是py sdk暂时不支持长文本合成,所以会失败 image image image

所以解决方案,要么是拆分处理,要么就用http接口

终端日志 📒

<此处粘贴终端日志>

lsCoding666 avatar May 06 '23 14:05 lsCoding666

当然 对于微信来说 语音长度最长60秒。我认为拆分处理好点,这样回答也能完整

lsCoding666 avatar May 06 '23 14:05 lsCoding666

https://ai.baidu.com/ai-doc/SPEECH/plbxhh4be

lsCoding666 avatar May 06 '23 14:05 lsCoding666

我还没申请baidu语音的api,一个思路是将文本分段得到语音后,再利用ffmpeg合成为一个长语音。 等我有空试一下。 个人微信wechaty实际是不检测语音长度的,itchat是上传文件,跟语音长度不沾边了。 企业微信应用号不支持发送60秒以上的长语音,在发送时会有一个分割逻辑,服务号也可以类似应用号一样的实现,不过我还没有加上去,等有空加一下。

lanvent avatar May 07 '23 15:05 lanvent