File size: 1,299 Bytes
7718032
 
 
 
 
 
 
 
 
 
 
 
6db627d
7718032
 
 
0f45386
 
 
 
 
 
 
 
 
 
 
7718032
0f45386
028779a
7718032
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr

lpmc_client = gr.load("seungheondoh/LP-Music-Caps-demo", src="spaces")
from gradio_client import Client

client = Client("https://ysharma-explore-llamav2-with-tgi.hf.space/")


def infer(audio_file):
    
    cap_result = lpmc_client(
    				audio_file,	# str (filepath or URL to file) in 'audio_path' Audio component
    				api_name="predict"
    )
    print(cap_result)

    llama_q = f"""

    I'll give you music description, then i want you to provide an image description that would fit well with the music.
    Answer with only one image description. Never do lists.

    Here's the music description :

    {cap_result}
    
    """

    result = client.predict(
    				llama_q,	# str in 'Message' Textbox component
    				api_name="/chat"
    )
    
    print(result)
    
    return cap_result, result

with gr.Blocks() as demo:
    with gr.Column(elem_id="col-container"):
        audio_input = gr.Audio(type="filepath", source="upload")
        infer_btn = gr.Button("Generate")
        lpmc_cap = gr.Textbox(label="Lp Music Caps caption")
        llama_trans_cap = gr.Textbox(label="Llama translation")
        img_result = gr.Video(label="Result")

    infer_btn.click(fn=infer, inputs=[audio_input], outputs=[lpmc_cap, llama_trans_cap])

demo.queue().launch()