Cleanup examples and fix VoicesManager types (#332)

Signed-off-by: rany <rany2@riseup.net>
This commit is contained in:
Rany
2024-11-23 16:29:13 +02:00
committed by GitHub
parent 17e5146606
commit a3d468c7c9
11 changed files with 33 additions and 138 deletions

View File

@@ -0,0 +1,29 @@
#!/usr/bin/env python3
"""Simple example to generate an audio file with randomized
dynamic voice selection based on attributes such as Gender,
Language, or Locale."""
import asyncio
import random
import edge_tts
from edge_tts import VoicesManager
TEXT = "Hoy es un buen día."
OUTPUT_FILE = "spanish.mp3"
async def amain() -> None:
"""Main function"""
voices = await VoicesManager.create()
voice = voices.find(Gender="Male", Language="es")
# Also supports Locales
# voice = voices.find(Gender="Female", Locale="es-AR")
communicate = edge_tts.Communicate(TEXT, random.choice(voice)["Name"])
await communicate.save(OUTPUT_FILE)
if __name__ == "__main__":
asyncio.run(amain())