text_to_speech.py 791 B

12345678910111213141516171819202122
  1. import asyncio
  2. import argparse
  3. import edge_tts
  4. async def generate_speech(text, voice, output_file):
  5. communicate = edge_tts.Communicate(text, voice)
  6. await communicate.save(output_file)
  7. if __name__ == "__main__":
  8. parser = argparse.ArgumentParser(description='Text to Speech using Edge TTS')
  9. parser.add_argument('--text', required=True, help='Text to convert to speech')
  10. parser.add_argument('--voice', required=True, help='Voice to use (e.g., zh-CN-YunxiNeural)')
  11. parser.add_argument('--output', required=True, help='Output MP3 file path')
  12. args = parser.parse_args()
  13. try:
  14. asyncio.run(generate_speech(args.text, args.voice, args.output))
  15. print(f"Success: {args.output}")
  16. except Exception as e:
  17. print(f"Error: {e}")
  18. exit(1)