Spaces:
Sleeping
Sleeping
import ast | |
import gradio as gr | |
from ShazamAPI import Shazam | |
async def detect(audio): | |
mp3_file_content_to_recognize = open(audio, 'rb').read() | |
shazam = Shazam( | |
mp3_file_content_to_recognize | |
) | |
recognize_generator = shazam.recognizeSong() | |
results = '' | |
while True: | |
try: | |
print(next(recognize_generator)) | |
results += str(next(recognize_generator)) | |
data_tuple = ast.literal_eval(results) | |
track_info = data_tuple[1] | |
title = track_info['track']['title'] | |
subtitle = track_info['track']['subtitle'] | |
background_image = track_info['track']['images']['background'] | |
url = track_info['track']['url'] | |
return title + '\nby ' + subtitle + '\nin ' + url, background_image | |
except: | |
return 'No results found.', None | |
iface = gr.Interface(fn=detect, inputs=[gr.Audio(type="filepath", label="Audio File")], outputs=[gr.Text(label="Info"), gr.Image(label="Cover")]) | |
iface.launch() |