# Asks for txt input, creates TTS and sound via AudioGen, plays it back # Need to have paplay installed on client - live_demo.py import os import requests import subprocess from types import SimpleNamespace def send_to_server(args): url = "http://192.168.88.209:5000" payload = { 'text': args.text, 'voice': args.voice, 'soundscape': args.soundscape, 'affective': True, 'image': None, 'video': None, 'speed': 1.14, 'native': None, } return requests.post(url, data=payload, files=[(args.text, open('_tmp.txt', 'rb'))]) # NONEs do not arrive to servers dict args = SimpleNamespace() args.voice = 'fr_FR_m-ailabs_bernard' # 'en_US/m-ailabs_low#judy_bieber' args.speed = 1.14 os.system('cls' if os.name == 'nt' else 'clear') while True: _str = input("\n\n\n\nDescribe Any Sound: \n\n\n\n") args.soundscape = _str # xtra duration for audiogen to sound cool!!!! if len(_str) < 20: _str += 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata few silence for audiogen to impress you.' args.text = '_tmp.txt' # input -> .txt (implementation thought for audiobooks in API) with open(args.text, 'w') as f: f.write(_str) if len(_str) >= 4: response = send_to_server(args) out_file = '_gen_.wav'#+ response.headers['suffix-file-type'].split('.')[-1] with open(out_file, 'wb') as f: f.write(response.content) subprocess.run(["paplay", out_file]) else: print(f'__\n{_str}\n')