artificial-styletts2 / live_demo.py
Dionyssos's picture
del adhoc soundscape fading
df63ff0
# 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")
_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.soundscape = _str
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')