import math import os import requests from pprint import pprint import argparse import soundfile from a2f_api import A2F parser = argparse.ArgumentParser() parser.add_argument("audio_path") parser.add_argument("--host", type=str, default="https://a2fdemo.piedata.ai/") args = parser.parse_args() a2f = A2F(args.host) print(f"Uploading {args.audio_path}...") server_audio_path = a2f.upload(args.audio_path) fname = os.path.basename(server_audio_path) print("Status: ", a2f.status()) print("EmotionNames: ", a2f.get_emotion_names()) print("Scene Objects: ", a2f.get_scene_objects()) print("Scene Players: ", a2f.get_players()) print("Preprocessing settings: ", a2f.get_pre_settings()) print("Postprocessing settings: ", a2f.get_post_settings()) print("Setting player root: ", a2f.set_player_root("/home/ubuntu/results")) print("Player root: ", a2f.get_player_root()) print("Setting audio: ", a2f.set_audio(os.path.basename(server_audio_path))) print("Audio Range: ", a2f.get_audio_range()) print("Running: ", a2f.run()) print("NumKeys: ", a2f.get_number_of_keys()) print("Keys: ", a2f.get_generated_keys()) # print("BlendShape solvers: ", a2f.get_blendshape_solvers()) print("Exporting: ", a2f.export_json("/home/ubuntu/results", filename=os.path.splitext(fname)[0])) print(f"Pulling to ./{fname}...") a2f.pull(fname)