File size: 1,705 Bytes
f41efe1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from src.search import Search

search = Search("config.yaml")

with gr.Blocks() as demo:
    gr.Markdown("Search Sound Effect using this demo.")
    with gr.TabItem("Search from Audio File"):
        with gr.Row():
            with gr.Column(scale=1):
                text_input = gr.Textbox(value="太鼓", label="SE Title")
                audio_input = gr.Audio(source="upload")
                ratio = gr.Slider(minimum=0, maximum=1, value=1, label="Weight Parameter. 1 means 'use only text'. 0 means 'use only audio'.")
                topk = gr.Dropdown(
                    [5, 10, 20, 30, 40, 50], value="20", label="Top K"
                )
                button = gr.Button("Search")
            with gr.Column(scale=2):
                output = gr.Dataframe()
    with gr.TabItem("Search from Microphone"):
        with gr.Row():
            with gr.Column(scale=1):
                mic_text_input = gr.Textbox(value="太鼓", label="SE Title")
                mic_audio_input = gr.Audio(source="microphone")
                mic_ratio = gr.Slider(minimum=0, maximum=1, value=1, label="Weight Parameter. 1 means 'use only text'. 0 means 'use only audio'.")
                mic_topk = gr.Dropdown(
                    [5, 10, 20, 30, 40, 50], value="20", label="Top K"
                )
                mic_button = gr.Button("Search")
            with gr.Column(scale=2):
                mic_output = gr.Dataframe()

    button.click(
        search.search, inputs=[text_input, audio_input, ratio, topk], outputs=output
    )
    mic_button.click(
        search.search, inputs=[mic_text_input, mic_audio_input, mic_ratio, mic_topk], outputs=mic_output
    )

demo.launch()