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()