Spaces:
Runtime error
Runtime error
File size: 2,448 Bytes
5558062 830f8b5 5558062 |
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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
from simbals_apis_public_clients.clients.services import SimbalsAPIClient
import time
import json
import os
import gradio as gr
SIMBALS_GLOBAL_DB = 1
SIMBALS_MAIN_DATABASE = 2
def process(input_path):
# setup the client
client = SimbalsAPIClient(os.environ['TOKEN'], debug=True)
parameters = client.prepare_request("31415", audio_file=input_path)
# add audio features service with an available database
#parameters = client.add_audio_features(parameters, SIMBALS_MAIN_DATABASE)
parameters = client.add_tags(parameters, SIMBALS_MAIN_DATABASE)
# launch the request and test for ok/code values
ok, code, job_id = client.launch_request(parameters)
# try to get the results with obtained job_id. If code is 4, job is not finished. In all other cases, job is finished
for i in range(1000):
results=client.get_results(job_id)
if results[0] != 4:
print(json.dumps(results[1], indent=1))
#return json.dumps(results[1], indent=1)
output = json.dumps(results[1], indent=1)
break
time.sleep(1)
res = results[1]["response"]["tagging"]["2"]
moods = []
for m in res['moods']:
moods.append((m['name'], m['probability']))
print(moods)
music_desc=[]
for d in res['music_descriptors']:
music_desc.append((d['name'],d['value']))
print(music_desc)
genres=[]
for d in res['genres']:
genres.append((d['name'],d['probability']))
print(genres)
themes = []
for d in res['themes']:
themes.append((d['name'],d['probability']))
print(themes)
instruments = []
for d in res['instruments']:
instruments.append((d['name'],d['probability']))
print(instruments)
timbres = []
for d in res['timbres']:
timbres.append((d['name'],d['probability']))
print(timbres)
vocalgender = [res['vocal_gender'][0]['name'], res['vocal_gender'][0]['probability']]
print(vocalgender)
audioquality = [res['audio_quality'][0]['name'], res['audio_quality'][0]['probability']]
print(audioquality)
return moods
demo = gr.Interface(fn=process,
inputs=gr.Audio(type="filepath"),
outputs=gr.outputs.Textbox(label="Generated Text")
#examples=example_list,
#cache_examples=False
)
demo.launch(debug=False) |