You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Text to Speech Python SDK macOS环境超时错误求助

解决Azure文本转语音在部分Mac设备上超时的问题

问题概述

相同环境(MacOS 14.5、Python 3.11.8、azure-cognitiveservices-speech 1.41.1)下,8台Mac中有5台运行TTS代码时始终超时,报错包含:

USP error: timeout waiting for the first audio chunk
File:/Users/runner/work/1/s/external/azure-c-shared-utility/pal/ios-osx/tlsio_appleios.c Func:tlsio_appleios_destroy Line:196 tlsio_appleios_destroy called while not in TLSIO_STATE_CLOSED.

3台设备运行正常,已排除环境版本、凭据差异问题。

解决建议

1. 强制使用系统TLS库

Azure语音SDK在Mac上可能存在TLS适配问题,强制SDK调用系统原生TLS实现:
在初始化SpeechConfig前添加代码:

import os
os.environ['AZURE_SPEECH_USE_SYSTEM_TLS'] = '1'

2. 调整超时参数

默认超时阈值可能无法覆盖网络条件稍差的设备,手动延长超时时间:

speech_config.set_property(speechsdk.PropertyId.Speech_Synthesis_InitialSilenceTimeoutMs, '10000')  # 设为10秒
speech_config.set_property(speechsdk.PropertyId.Speech_Synthesis_EndpointTimeoutMs, '20000')  # 设为20秒

3. 排查单设备网络拦截

即使处于同一网络,个别设备可能存在防火墙/代理限制:

  • 测试设备能否访问Azure语音端点:运行curl -v https://<你的服务区域>.tts.speech.microsoft.com/(替换区域为你的Azure服务区域,如eastasia)
  • 检查第三方防火墙(如Little Snitch)或VPN是否拦截了SDK的网络请求

4. 调整SDK版本

当前1.41.1版本可能存在特定Mac版本的适配bug,尝试:

  • 降级到1.40.0版本:pip install azure-cognitiveservices-speech==1.40.0
  • 升级到最新稳定版:pip install --upgrade azure-cognitiveservices-speech

5. 替换异步调用为同步方式

尝试用同步方法替代异步调用,避免回调逻辑的潜在问题:

result = synthesizer.speak_text(text)  # 替换原speak_text_async().get()

6. 重置系统网络缓存

部分设备可能存在网络缓存异常,执行以下命令重置:

sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

重启设备后重新测试。

内容的提问来源于stack exchange,提问作者AndyPi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 08:22:14