# 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 _str += 'Lorem ipsum dolor sit amet, consetetur elixir sed diam nonumy eirmod tempor invidunt labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Soutet clita kasd gubergren.' 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')