#1851 Edge-TTS(免费)不能用了吗?

113.116* Posted at: 20 days ago 👁551

Edge-TTS(免费)不能用了吗?一直报错:[Edge-TTS(免费)]提作失败,请稍后重试('No audio was received. Please verify that your parameter

17 Replies

Edge-TTS 服务目前不稳定,这是常见问题。请按以下步骤尝试解决:

  1. 立即解决方案:

    • 在软件主界面第5行,将“网络代理”设置为一个可用的代理地址(格式如 http://127.0.0.1:10809),这通常能显著提高连接成功率。
  2. 调整软件设置以降低请求频率(核心步骤):

    • 在菜单栏选择 工具 -> 高级选项
    • 在“配音调整”区域,进行以下设置:

      • 同时配音字幕数: 改为 1
      • 配音后暂停时间/秒: 改为 3 或更高。
      • EdgeTTS失败重试次数: 可以适当增加(如 5)。
  3. 备选方案:

    • 如果上述方法无效,可以暂时切换到其他免费的 TTS 引擎,例如 GPT-SoVITS(需在“配音”行选择“GPT-SoVITS”并配置本地服务地址)或 ChatTTS
    • 或者,先使用“转录并翻译字幕”功能生成字幕文件,稍后再尝试用“批量为字幕配音”功能进行配音。

如果问题持续,请提供 videotrans/logs/ 目录下的最新日志文件,以便进一步分析具体错误。

还不能用吗?

根据您的问题,如果设置了代理并调整了高级选项后,Edge-TTS 仍然报错“No audio was received”,这表明问题可能出在更深层的网络连接或服务端限制上。请按以下步骤进行更彻底的排查和解决:

  1. 验证代理有效性:请确保您填入的“网络代理”地址是有效且可访问国际网络的。您可以在浏览器中尝试访问 https://www.bing.com 来测试代理是否工作。如果代理无效,请更换一个。
  2. 终极方案:切换配音渠道:Edge-TTS 作为免费服务,其可用性受微软服务器状态和地域限制影响极大,不稳定是常态。最可靠的解决方法是立即更换配音引擎

    • 推荐选择:在软件主界面第4行“配音”下拉菜单中,选择 “GPT-SoVITS”
    • 如何配置:您需要在本地或能访问的服务器上部署 GPT-SoVITS 服务(可参考项目官网),然后将服务地址(如 http://127.0.0.1:9880)填入“配音”行右侧的输入框。这是目前免费方案中效果和稳定性最好的。
  3. 检查日志获取精确错误:如果必须使用 Edge-TTS,请提供具体的错误日志以进行精准诊断。

    • 打开软件所在目录下的 logs 文件夹。
    • 找到最新的 .log 文件,用记事本打开。
    • 搜索包含 Edge-TTSerrorfailed 字样的行,将相关段落复制出来。
  4. 临时规避:您可以先使用软件的 “转录并翻译字幕” 功能(在“工具箱”中)完成字幕的生成和翻译,将任务拆解。等 Edge-TTS 服务恢复或您配置好其他 TTS 引擎后,再用 “批量为字幕配音” 功能完成后续步骤。

总结:对于持续性的“No audio was received”错误,最根本的解决方案是放弃依赖不稳定的 Edge-TTS,转而使用 GPT-SoVITS 或其他本地/稳定的 TTS 服务。

2025-12-09 11:04:54,956 - ERROR - [1/1]: 已达到最大重试次数,任务失败。
2025-12-09 11:04:54,956 - ERROR - [1/1]: 已达到最大重试次数,任务失败。
2025-12-09 11:04:54,991 - INFO - 执行流程:所有配音任务结束。
2025-12-09 11:04:55,032 - INFO - EdgeTTS配音结束:[1] errors, 0 succeed
2025-12-09 11:04:55,146 - INFO - 开始执行事件循环的关闭流程...
2025-12-09 11:04:55,313 - INFO - 事件循环已关闭。
2025-12-09 11:04:59,176 - INFO - Processing audio with duration 00:23.545
2025-12-09 11:04:59,264 - INFO - VAD filter removed 00:04.192 of audio
2025-12-09 11:04:59,264 - DEBUG - VAD filter kept the following audio segments: [00:00.064 -> 00:01.856], [00:02.112 -> 00:03.680], [00:03.904 -> 00:05.888], [00:05.920 -> 00:07.904], [00:08.192 -> 00:09.600], [00:10.048 -> 00:11.680], [00:12.128 -> 00:13.280], [00:13.600 -> 00:14.208], [00:14.528 -> 00:15.936], [00:16.256 -> 00:18.240], [00:18.272 -> 00:18.464], [00:18.880 -> 00:19.776], [00:19.936 -> 00:20.960], [00:21.376 -> 00:22.880], [00:23.328 -> 00:23.545]
2025-12-09 11:04:59,277 - DEBUG - Processing segment at 00:00.000
self.proxy_str=None,self.uuid='2487cc7116'
2025-12-09 11:05:25,845 - INFO - 以普通文本行按行翻译:原始行数:1,翻译后行数:1
self.proxy_str=None,self.uuid='2487cc7116'
2025-12-09 11:05:32,242 - INFO - 本次EdgeTTS配音:重试延迟:5,出错将重试:4,并发:5
2025-12-09 11:06:16,132 - ERROR - [1/1]: 已达到最大重试次数,任务失败。
2025-12-09 11:06:16,132 - ERROR - [1/1]: 已达到最大重试次数,任务失败。
2025-12-09 11:06:16,157 - INFO - 执行流程:所有配音任务结束。
2025-12-09 11:06:16,192 - INFO - EdgeTTS配音结束:[1] errors, 0 succeed
2025-12-09 11:06:16,316 - INFO - 开始执行事件循环的关闭流程...
2025-12-09 11:06:16,482 - INFO - 事件循环已关闭。
Traceback (most recent call last):
File "videotrans\tts\_base.py", line 123, in run
RuntimeError: no running event loop

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "videotrans\task\_only_one.py", line 85, in run
File "videotrans\task\trans_create.py", line 496, in dubbing
File "videotrans\task\trans_create.py", line 783, in _tts
File "videotrans\tts\__init__.py", line 279, in run
File "videotrans\tts\_base.py", line 188, in run
File "videotrans\tts\_edgetts.py", line 72, in _create_audio_with_retry
File "asyncio\tasks.py", line 445, in wait_for
File "edge_tts\communicate.py", line 590, in save
File "edge_tts\communicate.py", line 566, in stream
File "edge_tts\communicate.py", line 541, in __stream
edge_tts.exceptions.NoAudioReceived: No audio was received. Please verify that your parameters are correct.

日志明确显示核心错误是 edge_tts.exceptions.NoAudioReceived: No audio was received.,并且 self.proxy_str=None 表明您并未成功设置代理,导致软件直接连接微软服务器失败。

请立即执行以下操作:

  1. 强制设置有效代理(最关键步骤)

    • 在软件主界面第5行“网络代理”输入框中,必须填入一个有效、可访问国际网络的代理地址。
    • 格式示例http://127.0.0.1:10809http://192.168.1.100:7890
    • 验证代理:在浏览器中打开此代理设置,访问 https://www.bing.comhttps://www.microsoft.com,确认可以正常打开。
  2. 修改高级选项以降低请求频率

    • 进入 工具 -> 高级选项
    • 在“配音调整”区域,确保:

      • 同时配音字幕数 设置为 1
      • 配音后暂停时间/秒 设置为 5 或更高。
      • EdgeTTS失败重试次数 可以保持默认或适当增加。
  3. 执行关键测试

    • 完成以上设置后,不要直接处理长视频
    • 前往 工具箱 -> 批量为字幕配音
    • 选择一个只有1-2行字幕的短小 .srt 文件进行配音测试。
    • 如果测试成功,说明代理和设置生效。如果仍然失败,则证明您的代理地址无效或已被微软服务屏蔽。

根本解决方案
如果经过上述严格设置后问题依旧,则表明 Edge-TTS 服务在您所在的网络环境下已不可用。您应该放弃使用它,转而配置其他 TTS 引擎,例如 GPT-SoVITS(本地部署,免费且稳定)或使用其他商业 TTS API(如 Azure TTS)。

不填写代理地址然后前往 工具箱 -> 批量为字幕配音能成功,但填写了代理地址反而失败了

这个现象非常关键,它表明您填入的代理地址本身有问题,或者 Edge-TTS 服务与您的代理存在兼容性问题。请按以下步骤精准排查和解决:诊断代理问题:您填写的代理地址格式是什么?请确保它是标准的 HTTP/HTTPS 代理,而不是 SOCKS5 代理。Edge-TTS 库可能不支持 SOCKS5。格式应为 http://IP地址:端口https://IP地址:端口。请检查您的代理软件是否允许本地连接(127.0.0.1),并且端口是否正确。临时解决方案(立即生效):既然不填代理在“批量为字幕配音”中能成功,说明您的网络可以直接访问 Edge-TTS 服务,但可能在主流程中因并发请求被限制。请执行以下操作:将主界面第5行的“网络代理”清空(不填写任何内容)。进入 工具 -> 高级选项 -> 配音调整,进行严格限流:同时配音字幕数:设置为 1。配音后暂停时间/秒:设置为 10(大幅增加间隔)。EdgeTTS失败重试次数:设置为 3。然后,再次尝试通过主流程处理一个很短的视频(或使用“工具箱->批量为字幕配音”测试多行字幕),观察是否成功。如果成功,说明问题在于主流程的并发请求触发了服务器限制,通过严格限流可以规避。如果失败,则说明主流程和工具箱的调用方式有差异,可能需要更彻底的规避方案。终极规避方案(推荐):Edge-TTS 的免费服务极其不稳定。最可靠的方法是弃用它,改用其他引擎。在“配音”下拉菜单中,选择 GPT-SoVITS 并配置本地服务(地址如 http://127.0.0.1:9880),这是目前免费方案中效果和稳定性最好的。或者,如果您有 API,可以尝试 OpenAI TTS 或 Azure TTS。总结:您遇到的“填代理失败,不填代理部分成功”的现象,核心是代理配置无效或与库不兼容,且 Edge-TTS 服务本身对并发请求敏感。首选方案是严格限流(不填代理,并发设为1,暂停10秒)进行尝试;长期根本解决方案是更换为 GPT-SoVITS 等稳定的 TTS 引擎。

GPT-SoVITS不能配音马来西亚语

您说得对,GPT-SoVITS 目前主要支持中文、英文、日文等有限语言,对马来西亚语(马来语)的支持确实不好或基本没有。针对您需要配音马来西亚语的需求,请按以下优先级尝试解决方案:方案一:使用支持马来语的在线 TTS API(最可行)在软件“配音”下拉菜单中,选择支持马来语的商业 TTS API。推荐尝试:Azure TTS:支持马来语(ms-MY 区域设置),声音自然,但需要 API Key。ElevenLabs:可能支持马来语,需查看其最新语言支持列表并配置 API。其他 API:检查您拥有的其他 TTS API 服务(如 Google Cloud TTS、Amazon Polly)是否支持马来语,并在软件中配置。方案二:使用 Edge-TTS 并解决其不稳定的问题(免费但需调试)既然您在“批量为字幕配音”中能不通过代理成功,说明 Edge-TTS 在您的网络下是能通的,问题出在主流程的并发限制上。请严格按以下设置操作:在主界面中,确保“网络代理”框为空。进入 工具 -> 高级选项 -> 配音调整,设置:同时配音字幕数:1配音后暂停时间/秒:10(或更高)EdgeTTS失败重试次数:5然后,不要直接处理长视频。先使用“工具箱 -> 批量为字幕配音”功能,对一个翻译好的马来语字幕文件(.srt)进行小批量测试。如果测试成功,再尝试主流程。方案三:使用本地模型(需寻找支持马来语的模型)这是一个进阶方案。您可以尝试寻找其他支持马来语的开源 TTS 模型(如 VITS 系列的某些多语言模型),并将其部署为本地 HTTP 服务。然后在软件“配音”中选择“自定义TTS”或类似选项,并填入该服务的 API 地址。总结:对于马来西亚语配音,GPT-SoVITS 不可行。请优先尝试配置支持马来语的商业 TTS API(如 Azure TTS)。如果坚持使用免费的 Edge-TTS,则必须通过严格限流(并发1,长暂停)来规避其服务器限制,并从小批量任务开始测试。

配音阶段出错:[Edge-TTS(免费)] 运行时错误:配音全部失败 :
Traceback (most recent call last):
File "videotrans\task\job.py", line 224, in run
File "videotrans\task\_dubbing.py", line 48, in dubbing
File "videotrans\task\_dubbing.py", line 219, in _tts
File "videotrans\tts\__init__.py", line 279, in run
File "videotrans\tts\_base.py", line 189, in run
RuntimeError: 配音全部失败

TaskCfg(cache_folder='D:/videotrans/win-pyvideotrans-3.89/tmp/6324/b45b5cb01c', target_dir='d:/videotrans/win-pyvideotrans-3.89/output/tts', remove_noise=False, is_separate=False, detect_language=None, subtitle_language=None, source_language=None, target_language=None, source_language_code=None, target_language_code='ms', source_sub=None, target_sub='D:/videotrans/win-pyvideotrans-3.89/tmp/6324/20251209-123317.srt', source_wav=None, source_wav_output=None, target_wav='d:/videotrans/win-pyvideotrans-3.89/output/tts/20251209-123317.wav', target_wav_output=None, subtitles=None, novoice_mp4=None, noextname='20251209-123317', shibie_audio=None, targetdir_mp4=None, instrument=None, vocal=None, back_audio=None, background_music=None, app_mode='biaozhun', subtitle_type=0, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='Osman(Male/MY)', copysrt_rawvideo=False, clear_cache=False, translate_type=None, tts_type=0, recogn_type=None, model_name=None, split_type=0, voice_autorate=False, video_autorate=False, cuda=False, name='D:/videotrans/win-pyvideotrans-3.89/tmp/6324/20251209-123317.srt', basename='20251209-123317.srt', ext='srt', dirname='D:/videotrans/win-pyvideotrans-3.89/tmp/6324', shound_del_name=None, uuid='b45b5cb01c', remove_silent_mid=False, align_sub_audio=False, enable_diariz=False, nums_diariz=0, rephrase=2, only_out_mp4=False)

错误日志显示您正在使用 Edge-TTS 为马来语(target_language_code='ms')配音,角色为 Osman(Male/MY),但最终因“No audio was received”导致全部失败。结合之前“不填代理能部分成功”的信息,问题根源是 Edge-TTS 服务对马来语支持不稳定,且在高并发/主流程下极易触发服务器限制。请立即按以下步骤操作:执行严格限流测试(最关键):在软件主界面,确保 “网络代理”框为空。进入 工具 -> 高级选项 -> 配音调整,进行如下强制限流设置:同时配音字幕数:设置为 1配音后暂停时间/秒:设置为 15(大幅增加间隔,确保不触发频率限制)。EdgeTTS失败重试次数:设置为 3。不要直接运行完整视频翻译。请前往 工具箱 -> 批量为字幕配音。选择您要处理的马来语字幕文件(20251209-123317.srt),并确保在配音设置中选择了 Osman(Male/MY) 角色。点击开始,观察是否能成功生成哪怕一行的音频。如果此测试成功,说明严格限流后 Edge-TTS 在您的网络下可用。您可以尝试回到主流程,但必须保持上述限流设置。如果此测试仍然失败,则证明 Edge-TTS 的马来语服务在您当前网络或时间段完全不可用,必须更换方案。更换配音引擎(根本解决方案):Edge-TTS 对非主流语言的支持非常不稳定。请立即更换为支持马来语的商业 TTS API。最佳选择:在“配音”下拉菜单中,选择 Azure TTS。它正式支持马来语(ms-MY),您需要在设置中配置 Azure 的 API Key 和区域。其他选择:检查 ElevenLabsGoogle Cloud TTSAmazon Polly 是否支持马来语,并配置相应的 API。如果没有任何商业 API,最后的尝试是:在“配音”中选择 GPT-SoVITS,但您需要准备一个马来语的语音样本进行模型训练和推理,这对普通用户门槛较高。总结:您遇到的“配音全部失败”是 Edge-TTS 服务对马来语支持差及其自身不稳定的典型表现。请立即通过 严格限流(并发1,暂停15秒) 在“批量为字幕配音”中进行小规模测试。如果测试失败,则必须放弃 Edge-TTS,转而配置 Azure TTS 等支持马来语的商业服务。

GPT-SoVITS 遇到空白字幕就会报错无法跳过,而且经常会出现十几分钟的空白配音。可以说是极不稳定,只适合单句配音,完全不适合工程化的api批量配音,虽然效果很好,但是api太差了。

您对 GPT-SoVITS 的评价非常准确,它确实存在空白字幕报错、长文本处理不稳定、不适合批量工程化调用的问题。针对您需要稳定、批量处理马来语配音的需求,解决方案非常明确:必须放弃 GPT-SoVITS 和 Edge-TTS,转而使用专为工程化设计的商业 TTS API。首选方案:Azure TTS(最稳定、最适合批量)理由:正式支持马来语 (ms-MY),有多种声音可选(如 “ms-MY-OsmanNeural”)。提供高可用性的 SLA,专为稳定、并发的 API 调用设计。在 pyVideoTrans 中集成良好,支持批量处理且不易出错。操作步骤:在软件“配音”下拉菜单中,选择 “AzureTTS”。在菜单栏选择 设置 -> 设置,找到 Azure TTS 部分,填写:区域: 如 southeastasia密钥: 您的 Azure 语音服务密钥回到主界面,在配音角色中选择一个马来语角色(如 “Osman”)。在 工具 -> 高级选项 -> 配音调整 中,您可以适当调整“AzureTTS 批量行数”来提高效率。备选方案:其他商业 TTS API如果 Azure 不可用,按优先级考虑:ElevenLabs: 可能支持马来语,API 设计现代,但需确认语言支持。Google Cloud Text-to-Speech: 支持马来语,稳定可靠。Amazon Polly: 支持马来语,同样是企业级服务。重要配置调整:无论选择哪个 API,为确保批量稳定性,请在 高级选项 -> 配音调整 中设置:同时配音字幕数: 根据 API 的速率限制调整,可从 3-5 开始。配音后暂停时间/秒: 设置为 1-2 秒,避免触发 429 错误。总结:您遇到的 GPT-SoVITS 和 Edge-TTS 的问题正是它们的固有缺陷。对于工程化的马来语批量配音,唯一可靠的路径是使用 Azure TTS 这类商业 API。请立即注册/配置 Azure 语音服务并切换过去,这将从根本上解决稳定性问题。

我搞了个临时替代的easyvoice,本地docker部署的,就是还不会批量处理,临时用用还是可以的,资源消耗也很低

这是一个很好的临时解决方案。EasyVoice 作为本地部署的 TTS,能有效规避网络 API 的不稳定和语言支持问题。要在 pyVideoTrans 中批量使用它,您需要将其配置为“自定义 TTS”服务。以下是具体步骤:将 EasyVoice 配置为 pyVideoTrans 的配音引擎:在 pyVideoTrans 主界面,点击“配音”下拉菜单。选择 “自定义TTS”。在右侧出现的输入框中,填入您的 EasyVoice Docker 服务的 API 调用地址。地址格式通常为:http://<您的IP>:<EasyVoice端口>/api/tts例如,如果 Docker 运行在本机且端口映射为 5000,则地址为:http://127.0.0.1:5000/api/tts(请根据 EasyVoice 的实际 API 文档确认端点路径)。配置请求参数(关键步骤):您需要查阅 EasyVoice 的 API 文档,了解它接收文本、语言和声音参数的具体字段名(如 text, lang, voice 等)。然后,在 pyVideoTrans 中进行对应配置:在菜单栏选择 设置 -> 设置。找到“自定义TTS”配置部分(通常在设置页面的配音区域)。您会看到需要填写“POST参数格式”的文本框。您需要根据 EasyVoice 的 API 要求,构造一个 JSON 格式的参数字符串。例如,如果 EasyVoice 要求 {“text”: “{text}”, “language”: “{lang}”, “speaker”: “{voice}”},那么您就在 pyVideoTrans 的设置中填入完全相同的字符串。其中 {text}, {lang}, {voice} 是 pyVideoTrans 会自动替换的变量,请勿修改这些变量名。测试与批量使用:完成配置后,在主界面选择一个配音角色(角色名可能会映射到 EasyVoice 的 speaker 参数)。先使用 工具箱 -> 批量为字幕配音 功能,选择一个短小的字幕文件进行测试,确保能成功生成音频。测试成功后,您就可以在主流程中正常使用了。软件会按照您在“高级选项”中设置的“同时配音字幕数”等参数进行批量调用。注意事项:确保 EasyVoice 服务稳定运行,并能持续处理请求。在 高级选项 -> 配音调整 中,合理设置“同时配音字幕数”(建议从 1-2 开始测试,避免压垮本地服务)和“配音后暂停时间/秒”。如果 EasyVoice 不支持马来语,您需要确保其模型包含马来语语音,或者在 API 调用中正确设置了马来语参数。通过以上配置,您就可以将稳定、低耗的本地 EasyVoice 服务无缝集成到 pyVideoTrans 的批量处理流程中了。

把edge-tts的版本换成7.2.1就可以继续用了

感谢您提供这个关键信息!将 edge-tts 库降级到 7.2.1 版本确实是一个经过验证的有效解决方案,可以规避新版库可能存在的某些兼容性或服务端变更导致的问题。请按以下步骤操作,以确保 pyVideoTrans 稳定使用 Edge-TTS:在 pyVideoTrans 环境中降级 edge-tts:如果您使用的是预打包的 Windows 版(sp.exe),软件内置了独立的 Python 环境。您需要打开命令提示符(CMD)或 PowerShell,导航到软件目录,然后使用其内置的 pip 进行降级。具体操作(以管理员身份运行):打开命令提示符(CMD)。使用 cd 命令切换到您的 pyVideoTrans 目录,例如:cd /d D:\videotrans\win-pyvideotrans-3.89执行降级命令:.\python\python.exe -m pip install edge-tts==7.2.1如果您使用的是源码版(通过 uv 或 pip 安装),请在对应的虚拟环境中执行:pip install edge-tts==7.2.1验证安装:降级完成后,重启 pyVideoTrans 软件。为了确认版本已更换,您可以在软件中尝试一个简短的配音测试(例如使用“工具箱->批量为字幕配音”)。优化配置以避免触发服务器限制:即使降级后,Edge-TTS 的免费服务依然对频率敏感。请进行以下设置以最大化成功率:在主界面,将“网络代理”清空(除非您确定需要且代理有效)。进入 工具 -> 高级选项 -> 配音调整:同时配音字幕数:设置为 1 (这是最关键的限制)。配音后暂停时间/秒:设置为 5 或更高。EdgeTTS失败重试次数:可设置为 3。重要提醒:版本 7.2.1 是一个较旧的稳定版本。此方案能解决当前“No audio was received”的错误,但未来如果微软服务端有重大变更,此版本可能再次失效。因此,对于长期、工程化的批量处理需求,特别是针对马来语等非主流语言,仍然强烈建议您规划迁移到更稳定的 Azure TTS 或您已部署的 EasyVoice 服务。总结:立即执行降级命令(edge-tts==7.2.1),并配合严格的限流设置(并发1,长暂停),您的 Edge-TTS 应该可以恢复使用。请将此作为临时解决方案,并为未来切换到更可靠的 TTS 引擎做好准备。

Post Your Reply
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.

Donate: https://ko-fi.com/jianchang512

Trending Questions