import asyncio import edge_tts import sys TEXT = sys.argv[1] if len(sys.argv) > 1 else "Hello World!" VOICE = sys.argv[2] if len(sys.argv) > 2 else "en-GB-SoniaNeural" OUTPUT_FILE = "tts.wav" async def _main() -> None: communicate = edge_tts.Communicate(TEXT, VOICE) await communicate.save(OUTPUT_FILE) if __name__ == "__main__": loop = asyncio.get_event_loop() try: loop.run_until_complete(_main()) finally: loop.close()