rany2 / edge-tts

Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key
https://pypi.org/project/edge-tts/
GNU General Public License v3.0
4.24k stars 447 forks source link

rate parameter examples/basic_generation.py #107

Closed jhoanmartinez closed 1 year ago

jhoanmartinez commented 1 year ago

How can I add rate parameter to generate the audio slowly or faster? the file examples/basic_generation.py work pretty well, what part can i place the rate parameter to achieve it?

jhoanmartinez commented 1 year ago

The parameter is included in this code

import asyncio
import random
import edge_tts
from edge_tts import VoicesManager

TEXT = "Hola mundo"
OUTPUT_FILE = "spanish.mp3"

async def amain(gender, language_region) -> None:
    """Main function"""
    voices = await VoicesManager.create()

    # Also supports Locales CO -> Colombia
    voice = voices.find(Gender=gender, Locale=language_region)

    communicate = edge_tts.Communicate(text = TEXT, 
                                       voice = random.choice(voice)["Name"], 
                                       rate = "-10%") 
    await communicate.save(OUTPUT_FILE)

if __name__ == "__main__":
    loop = asyncio.get_event_loop_policy().get_event_loop()
    try:
        loop.run_until_complete(amain("Female", "es-CO"))
    finally:
        loop.close()
rany2 commented 1 year ago

That should work OK