From f1709e7e93513a87ff50fdd4b0ecedc59bbccf99 Mon Sep 17 00:00:00 2001 From: rany2 Date: Thu, 5 Jan 2023 00:04:22 +0200 Subject: [PATCH] update dynamic_voice_selection.py for new API --- examples/dynamic_voice_selection.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/examples/dynamic_voice_selection.py b/examples/dynamic_voice_selection.py index fb85a1c..ce4cb9a 100644 --- a/examples/dynamic_voice_selection.py +++ b/examples/dynamic_voice_selection.py @@ -1,26 +1,28 @@ +#!/usr/bin/env python3 + +""" +Example of dynamic voice selection using VoicesManager. +""" + import asyncio -import edge_tts -from edge_tts import VoicesManager import random +import edge_tts +from edge_tts import VoicesManager + + async def main(): - """ - Main function - """ voices = await VoicesManager.create() - voice = voices.find(Gender="Male", Language="es") + voice = voices.find(Gender="Male", Language="es") # Also supports Locales # voice = voices.find(Gender="Female", Locale="es-AR") VOICE = random.choice(voice)["ShortName"] TEXT = "Hoy es un buen día." OUTPUT_FILE = "spanish.mp3" - communicate = edge_tts.Communicate() + communicate = edge_tts.Communicate(TEXT, VOICE) + communicate.save(OUTPUT_FILE) - with open(OUTPUT_FILE, "wb") as f: - async for i in communicate.run(TEXT, voice=VOICE): - if i[2] is not None: - f.write(i[2]) if __name__ == "__main__": asyncio.get_event_loop().run_until_complete(main())