diff --git a/README.md b/README.md index 53d71fb..d44f5c0 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ In addition, it is required to use `--pitch=-10Hz` instead of `--pitch -10Hz` ot It is possible to use the `edge-tts` module directly from Python. For a list of example applications: -* https://github.com/rany2/edge-tts/blob/master/examples/input_example.py +* https://github.com/rany2/edge-tts/blob/master/examples/example.py * https://github.com/rany2/edge-tts/blob/master/src/edge_tts/util.py * https://github.com/rany2/edge-srt-to-speech/blob/master/src/edge_srt_to_speech/__main__.py * https://github.com/hasscc/hass-edge-tts/blob/main/custom_components/edge_tts/tts.py diff --git a/examples/example.py b/examples/example.py new file mode 100644 index 0000000..14ce848 --- /dev/null +++ b/examples/example.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 +""" +Example Python script that shows how to use edge-tts as a module +""" + +import asyncio +import edge_tts + +async def main(): + """ + Main function + """ + TEXT = "Hello World!" + VOICE = "en-GB-SoniaNeural" + OUTPUT_FILE = "test.mp3" + + communicate = edge_tts.Communicate() + with open(OUTPUT_FILE, "wb") as f: + async for i in communicate.run(TEXT, voice=VOICE): + if i[2] is not None: + f.write(i[2]) + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) \ No newline at end of file diff --git a/examples/input_example.py b/examples/input_example.py deleted file mode 100755 index dacea62..0000000 --- a/examples/input_example.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python3 -""" -Example Python script that shows how to use edge-tts as a module -""" - -import asyncio -import tempfile - -from playsound import playsound - -import edge_tts - - -async def main(): - """ - Main function - """ - communicate = edge_tts.Communicate() - ask = input("What do you want TTS to say? ") - with tempfile.NamedTemporaryFile() as temporary_file: - async for i in communicate.run(ask): - if i[2] is not None: - temporary_file.write(i[2]) - playsound(temporary_file.name) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main())