#8393 网络连接失败:{'text': '你好啊,我亲爱的朋友,希望你的每一天都是美好愉快的!', 'rate': '+0%', 'role': 'Xiaoni(Female/CN)', 'filename': 'D:/pyvideotrans/t

27.189**0 Posted at: 1 hour ago

网络连接失败:
{'text': '你好啊,我亲爱的朋友,希望你的每一天都是美好愉快的!', 'rate': '+0%', 'role': 'Xiaoni(Female/CN)', 'filename': 'D:/pyvideotrans/tmp/1932/listen_voice/0-zh-cn-Xiaoni(Female-CN)-+50%-+20Hz.wav', 'tts_type': 0, 'language': 'zh-cn', 'volume': '+50%', 'pitch': '+20Hz'}
Traceback (most recent call last):
File "edge_tts\communicate.py", line 566, in stream
File "edge_tts\communicate.py", line 431, in __stream
File "aiohttp\client.py", line 1482, in aenter
File "aiohttp\client.py", line 1078, in _ws_connect
aiohttp.client_exceptions.WSServerHandshakeError: 403, message='Invalid response status', url='wss://speech.platform.bing.com/consumer/speech/synthesize/readaloud/edge/v1?TrustedClientToken=6A5AA1D4EAFF4E9FB37E23D68491D6F4&ConnectionId=b4c1a945dd384094a26730b6290808d3&Sec-MS-GEC=E82CC25707372F443A43870E45FEAAD5D1267656570ED6F959DD4E1D72C9A299&Sec-MS-GEC-Version=1-143.0.3650.75'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "videotrans\util\ListenVoice.py", line 21, in run
File "videotrans\tts\__init__.py", line 228, in run
File "videotrans\tts\_base.py", line 102, in run
File "asyncio\runners.py", line 44, in run
File "asyncio\base_events.py", line 649, in run_until_complete
File "videotrans\tts\_edgetts.py", line 152, in _exec
File "edge_tts\communicate.py", line 590, in save
File "edge_tts\communicate.py", line 573, in stream
File "edge_tts\communicate.py", line 431, in __stream
File "aiohttp\client.py", line 1482, in aenter
File "aiohttp\client.py", line 1078, in _ws_connect
aiohttp.client_exceptions.WSServerHandshakeError: 403, message='Invalid response status', url='wss://speech.platform.bing.com/consumer/speech/synthesize/readaloud/edge/v1?TrustedClientToken=6A5AA1D4EAFF4E9FB37E23D68491D6F4&ConnectionId=23cbe11a588d4838b8ada1c96ba4ae22&Sec-MS-GEC=E82CC25707372F443A43870E45FEAAD5D1267656570ED6F959DD4E1D72C9A299&Sec-MS-GEC-Version=1-143.0.3650.75'


=
system:Windows-10-10.0.22621-SP0
version:v4.09
frozen:True
language:zh
root_dir:D:/pyvideotrans

1 Replies

#1 DeepSeek reply at 1 hour ago

Edge TTS 403 错误分析与解决方案

错误原因

你遇到的 WSServerHandshakeError 403 是 Edge TTS 接口变更导致的,不是你的网络真的连不上。关键证据:

Sec-MS-GEC-Version=1-143.0.3650.75

微软从 2024 年下半年起升级了 Edge 浏览器接口版本号(1-143.0.3650.75),并对 Sec-MS-GEC 安全令牌的生成算法和校验做了调整:

  • pyvideotrans v4.09 内置的 edge-tts 库版本过旧,生成的 Sec-MS-GEC 令牌被微软服务器判定无效 → 403 Invalid response status。
  • 此外,Sec-MS-GEC 是基于系统时间动态计算的,系统时间不准确(相差 >5 分钟)也会直接 403。
你的两条日志用的是同一个 Sec-MS-GEC,说明是同一时间生成的,确实和时间戳相关。

解决方案(按推荐顺序)

✅ 方案 1:升级 pyvideotrans(最推荐)

直接下载最新版 pyvideotrans:

不要覆盖旧目录,解压到新文件夹运行即可(保留你的 D:/pyvideotrans/tmp 配置可拷贝)。

✅ 方案 2:校准系统时间

微软的 Sec-MS-GEC 令牌对时间敏感:

  1. 右键任务栏时间 → 调整日期/时间
  2. 打开 自动设置时间 和 自动设置时区
  3. 点 立即同步(时间服务器选 time.windows.com 或 ntp.aliyun.com)
  4. 重启 pyvideotrans 再试

即使升级不了软件,这一步也经常能临时救活。

✅ 方案 3:手动替换 edge-tts(不重装的情况下)

如果你是打包版(frozen: True),可以手动替换内置库:

  1. 到 https://github.com/rany2/edge-tts 下载最新的 edge_tts 源码目录
  2. 打开 D:/pyvideotrans/_internal/edge_tts/(打包版的库一般在这里)
  3. 备份原目录后,用新版替换内容
  4. 重启软件

如果是源码运行,直接:

pip install -U edge-tts

✅ 方案 4:检查网络 / 代理

speech.platform.bing.com 在某些网络环境下被限制。可以:

  • 挂代理(HTTP/SOCKS5 均可,软件走系统代理)
  • 用手机热点测试排查是否为线路问题
  • 在 pyvideotrans 的「设置 → 网络代理」里填入代理地址

如果以上都无效:换 TTS 渠道

Edge TTS 是免费公共接口,微软随时会改,稳定性本来就差。pyvideotrans 里可切换:

渠道说明
Azure TTS与 Edge 同源、语音一样,但需要用自己申请的 key(免费 500 万字符/月)
GPT-SoVITS本地部署,效果好,不依赖网络
F5-TTS / CosyVoice本地合成
OpenAI TTS / Fish Audio需要 API key

对于「配音」用途,Azure TTS 是最稳妥的替代品——它和 Edge TTS 的语音、参数(rate/pitch/volume)几乎完全一致,只是需要免费注册一个 Azure 账号拿 key。


快速自查清单

□ 系统时间与北京时间一致(误差 <1 分钟)
□ 能访问 https://speech.platform.bing.com (浏览器直接打开应返回 404 而非超时)
□ pyvideotrans 版本 ≥ 最新 release
□ edge-tts 版本 ≥ 6.1.12
□ 未开启防火墙/杀软拦截 WebSocket

按 1 → 2 → 3 的顺序处理,90% 以上的 403 都能解决。如果升级后仍报 403 且系统时间为准,那就是微软又在做接口灰度调整,建议直接切 Azure TTS 渠道绕开。

Thinking...
Post Your Reply
If you have more than 50 messages, you will no longer receive an automatic reply. Please ask a new question!
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Dondate via ko-fi.com

Related resource