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