ttsedge / test_edge_tts.py
chaore's picture
Upload 8 files
a8dead5 verified
import edge_tts
import asyncio
async def test_edge_tts():
print("测试Edge TTS库...")
try:
# 测试列出语音
voices = await edge_tts.list_voices()
print(f"获取到 {len(voices)} 种语音")
# 测试语音合成
text = "Welcome to Edge TTS"
voice = "en-US-JennyNeural"
print(f"\n正在合成语音: {text}")
print(f"使用语音: {voice}")
communicate = edge_tts.Communicate(text, voice)
audio_data = b""
async for chunk in communicate.stream():
if chunk["type"] == "audio":
audio_data += chunk["data"]
elif chunk["type"] == "WordBoundary":
print(f"\r正在处理: {chunk['text']}", end="")
if audio_data:
print(f"\n\n语音合成成功,音频大小: {len(audio_data)} 字节")
with open("direct_edge_tts.mp3", "wb") as f:
f.write(audio_data)
print("音频已保存为 direct_edge_tts.mp3")
return True
else:
print("\n\n错误: 没有获取到音频数据")
return False
except Exception as e:
print(f"\n\n错误: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
asyncio.run(test_edge_tts())