Jesus Lopez
feat: applio
a8c39f5
raw
history blame
807 Bytes
import sys
import asyncio
import edge_tts
import os
async def main():
# Parse command line arguments
tts_file = str(sys.argv[1])
text = str(sys.argv[2])
voice = str(sys.argv[3])
rate = int(sys.argv[4])
output_file = str(sys.argv[5])
rates = f"+{rate}%" if rate >= 0 else f"{rate}%"
if tts_file and os.path.exists(tts_file):
text = ""
try:
with open(tts_file, "r", encoding="utf-8") as file:
text = file.read()
except UnicodeDecodeError:
with open(tts_file, "r") as file:
text = file.read()
await edge_tts.Communicate(text, voice, rate=rates).save(output_file)
print(f"TTS with {voice} completed. Output TTS file: '{output_file}'")
if __name__ == "__main__":
asyncio.run(main())