Spaces:
Running
Running
import gradio as gr | |
def to_audioClassification(): | |
return { | |
audio_classification: gr.Row(visible=True), | |
realtime_classification: gr.Row(visible=False), | |
speech_recognition: gr.Row(visible=False), | |
chatbot_qa: gr.Row(visible=False), | |
} | |
def to_realtimeAudioClassification(): | |
return { | |
audio_classification: gr.Row(visible=False), | |
realtime_classification: gr.Row(visible=True), | |
speech_recognition: gr.Row(visible=False), | |
chatbot_qa: gr.Row(visible=False), | |
} | |
def to_speechRecognition(): | |
return { | |
audio_classification: gr.Row(visible=False), | |
realtime_classification: gr.Row(visible=False), | |
speech_recognition: gr.Row(visible=True), | |
chatbot_qa: gr.Row(visible=False), | |
} | |
def to_chatbot(): | |
return { | |
audio_classification: gr.Row(visible=False), | |
realtime_classification: gr.Row(visible=False), | |
speech_recognition: gr.Row(visible=False), | |
chatbot_qa: gr.Row(visible=True), | |
} | |
with gr.Blocks() as demo: | |
with gr.Accordion("Settings", open=True): | |
language = gr.Radio(["en-us", "pt-br"], label="Language", info="Choose the language to display the classification result and audio", value='en-us', interactive=True) | |
with gr.Row(): | |
btn0 = gr.Button("Audio Classification", scale=1, size='lg') | |
btn1 = gr.Button("Realtime Audio Classification", scale=1,size='lg') | |
btn2 = gr.Button("Speech Recognition", scale=1, size='lg') | |
btn3 = gr.Button("Help", scale=1, size='lg') | |
with gr.Row(visible=False) as audio_classification: | |
with gr.Column(min_width=700): | |
with gr.Accordion("Record an Audio", open=True): | |
inputRecord = gr.Audio(label="Audio Input", source="microphone", type="filepath") | |
with gr.Accordion("Upload a file", open=False): | |
inputUpload = gr.Audio(label="Audio Input", source="upload", type="filepath") | |
clearBtn = gr.ClearButton([inputRecord, inputUpload]) | |
with gr.Column(min_width=700): | |
output = gr.Label(label="Audio Classification") | |
btn = gr.Button(value="Generate Audio") | |
audioOutput = gr.Audio(label="Audio Output", interactive=False) | |
with gr.Row(visible=False) as realtime_classification: | |
with gr.Column(min_width=700): | |
input = gr.Audio(label="Audio Input", source="microphone", type="filepath",streaming=True, every=10) | |
historyOutput = gr.Textbox(label="History", interactive=False) | |
# historyOutput = gr.Label(label="History") | |
with gr.Column(min_width=700): | |
output = gr.Label(label="Audio Classification") | |
with gr.Row(visible=False) as speech_recognition: | |
with gr.Column(min_width=700): | |
with gr.Accordion("Record an Audio", open=True): | |
inputRecord = gr.Audio(label="Audio Input", source="microphone", type="filepath") | |
with gr.Accordion("Upload a file", open=False): | |
inputUpload = gr.Audio(label="Audio Input", source="upload", type="filepath") | |
clearBtn = gr.ClearButton([inputRecord]) | |
with gr.Column(min_width=700): | |
output = gr.Label(label="Transcription") | |
with gr.Row(visible=False) as chatbot_qa: | |
chatbot = gr.Chatbot( | |
[], | |
elem_id="chatbot", | |
bubble_full_width=False, | |
# avatar_images=(None, "/content/avatar-socialear.png"), | |
min_width=2000 | |
) | |
with gr.Row(min_width=2000): | |
txt = gr.Textbox( | |
scale=4, | |
show_label=False, | |
placeholder="Enter text and press enter", | |
container=False, | |
min_width=1000 | |
) | |
submit = gr.Button(value="", size='sm', scale=1) | |
btn0.click(fn=to_audioClassification, outputs=[audio_classification, realtime_classification, speech_recognition, chatbot_qa]) | |
btn1.click(fn=to_realtimeAudioClassification, outputs=[audio_classification, realtime_classification, speech_recognition, chatbot_qa]) | |
btn2.click(fn=to_speechRecognition, outputs=[audio_classification, realtime_classification, speech_recognition, chatbot_qa]) | |
btn3.click(fn=to_chatbot, outputs=[audio_classification, realtime_classification, speech_recognition, chatbot_qa]) | |
if __name__ == "__main__": | |
demo.queue() | |
demo.launch() |