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())