|
import sys |
|
import asyncio |
|
import edge_tts |
|
import os |
|
|
|
|
|
async def main(): |
|
|
|
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) |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
asyncio.run(main()) |
|
|