Spaces:
Paused
Paused
File size: 2,437 Bytes
391222d e7d2d44 391222d 80449f7 93da42a 391222d 1c0a21f ade087a 1c0a21f e7d2d44 ade087a 391222d 1b28bbd ba26d1c 391222d ade087a 58498d2 ade087a 46e11dd ade087a d06b9f4 391222d ade087a 369ed77 a6ce55f 369ed77 b6101eb 391222d 54b4948 |
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 |
import gradio as gr
import os
img_to_text = gr.Blocks.load(name="spaces/pharma/CLIP-Interrogator")
text_to_music = gr.Interface.load("spaces/fffiloni/text-2-music")
def get_prompts(uploaded_image):
print(f"""βββββ
Calling CLIP Interrogator ...
""")
prompt = img_to_text(uploaded_image, fn_index=1)[0]
music_result = get_music(prompt)
return music_result
def get_music(prompt):
print(f"""βββββ
Calling now MubertAI ...
βββββββ
""")
result = text_to_music(prompt, fn_index=0)
print(f"""βββββ
NEW RESULTS
prompt : {prompt}
music : {result}
βββββββ
""")
return result
css = """
#col-container {max-width: 700px; margin-left: auto; margin-right: auto;}
a {text-decoration-line: underline; font-weight: 600;}
"""
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.HTML("""<div style="text-align: center; max-width: 700px; margin: 0 auto;">
<div
style="
display: inline-flex;
align-items: center;
gap: 0.8rem;
font-size: 1.75rem;
"
>
<h1 style="font-weight: 900; margin-bottom: 7px; margin-top: 5px;">
Image to Music
</h1>
</div>
<p style="margin-bottom: 10px; font-size: 94%">
Sends an image in to <a href="https://huggingface.co/spaces/pharma/CLIP-Interrogator" target="_blank">CLIP Interrogator</a>
to generate a text prompt which is then run through
<a href="https://huggingface.co/Mubert" target="_blank">Mubert</a> text-to-music to generate music from the input image!
</p>
</div>""")
input_img = gr.Image(type="filepath", elem_id="input-img")
generate = gr.Button("Generate Music from Image")
music_output = gr.Audio(label="Result", type="filepath", elem_id="music-output")
#with gr.Group(elem_id="share-btn-container"):
# community_icon = gr.HTML(community_icon_html, visible=False)
# loading_icon = gr.HTML(loading_icon_html, visible=False)
# share_button = gr.Button("Share to community", elem_id="share-btn", visible=False)
generate.click(get_prompts, inputs=[input_img], outputs=[music_output])
demo.queue(max_size=32, concurrency_count=20).launch() |