Spaces:
No application file
No application file
| import gradio | |
| import webui.modules.implementations.whisper as w | |
| def whisper(): | |
| with gradio.Row(): | |
| with gradio.Row(): | |
| selected = gradio.Dropdown(w.get_official_models(), value='base', label='Model') | |
| with gradio.Column(elem_classes='smallsplit'): | |
| load = gradio.Button('π', variant='tool secondary') | |
| unload = gradio.Button('π£', variant='tool primary') | |
| def load_model(model): | |
| return w.load(model) | |
| with gradio.Row(): | |
| transcribe = gradio.Button('Transcribe', variant='primary', elem_id='whisper-transcribe') | |
| with gradio.Row(): | |
| with gradio.Column(): | |
| audio = gradio.Audio(label='Audio to transcribe', elem_id='whisper-audio-in') | |
| audios = gradio.Files(label='Batch input', file_types=['audio'], elem_id='whisper-batch-in') | |
| with gradio.Column(): | |
| output = gradio.TextArea(label='Transcript', elem_id='whisper-audio-out') | |
| outputs = gradio.Files(label='Batch output', file_types=['audio'], elem_id='whisper-batch-out') | |
| unload.click(fn=w.unload, outputs=output, show_progress=True) | |
| load.click(fn=load_model, inputs=selected, outputs=output, show_progress=True) | |
| transcribe.click(fn=w.transcribe, inputs=[audio, audios], outputs=[output, outputs]) | |