Spaces:
Sleeping
Sleeping
File size: 1,237 Bytes
f25c867 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import argparse
import asyncio
import tempfile
import edge_tts
from project_settings import project_path
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--text",
default="学而时习之,不亦悦乎。",
type=str
)
parser.add_argument(
"--speaker",
default="zh-CN-XiaoxiaoNeural",
type=str
)
args = parser.parse_args()
return args
async def print_edge_voices():
voices = await edge_tts.list_voices()
for voice in voices:
print(voice)
async def edge_text_to_speech(text: str, speaker: str):
communicate = edge_tts.Communicate(text, speaker)
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tmp_file:
tmp_path = tmp_file.name
await communicate.save(tmp_path)
print(tmp_path)
return f"Speech synthesis completed for: {text}", tmp_path
def main():
args = get_args()
loop = asyncio.get_event_loop()
loop.run_until_complete(print_edge_voices())
loop.run_until_complete(edge_text_to_speech(
text=args.text,
speaker=args.speaker,
))
return
if __name__ == '__main__':
main()
|