fix: fix some error by cache queue

This commit is contained in:
冯琪 2025-03-13 15:48:36 +08:00
parent a6900c4892
commit a299dfdb7b

View File

@ -129,25 +129,28 @@ async def fetch_audio_data(session, pair_data, voice, speed):
"speed": speed,
"return_type": "base64"
}
try:
async with session.post(url, json=payload) as response:
if response.status != 200:
logger.error(f"TTS API error: {response.status} - {await response.text()}")
for i in range(3):
try:
async with session.post(url, json=payload) as response:
if response.status != 200:
logger.error(f"TTS API error: {response.status} - {await response.text()}")
return None
data = await response.json()
audio_base64 = data.get("audio_base64")
if not audio_base64:
logger.error(f"No audio data returned for pair")
return None
return {
"audio_base64": audio_base64,
"sentences": pair_data["sentences"],
"indices": pair_data["indices"]
}
except Exception as e:
logger.error(f"Error fetching audio: {e}")
if i == 2:
return None
data = await response.json()
audio_base64 = data.get("audio_base64")
if not audio_base64:
logger.error(f"No audio data returned for pair")
return None
return {
"audio_base64": audio_base64,
"sentences": pair_data["sentences"],
"indices": pair_data["indices"]
}
except Exception as e:
logger.error(f"Error fetching audio: {e}")
return None
await asyncio.sleep(0.5)
continue
async def text_to_speech(text, voice="zf_xiaoxiao", speed=1.5):
"""异步将文本转换为语音,返回每两句话的音频数据和时间戳"""