|
import os |
|
|
|
async def reply_with_voice(cl,client, assistant_message): |
|
|
|
try: |
|
speech_file_path = "response.mp3" |
|
response = client.audio.speech.create( |
|
model="tts-1", |
|
voice="alloy", |
|
input=assistant_message |
|
) |
|
|
|
with open(speech_file_path, "wb") as file: |
|
file.write(response.content) |
|
|
|
|
|
elements = [ |
|
cl.Audio(name="Voice", path=speech_file_path, display="inline") |
|
] |
|
await cl.Message(content=assistant_message, elements=elements, author="John Smith").send() |
|
except Exception as e: |
|
await cl.Message(content=f"Error generating or sending audio: {e}").send() |
|
finally: |
|
if os.path.exists(speech_file_path): |
|
os.remove(speech_file_path) |
|
return |
|
|