#%%writefile app.py import gradio as gr from transformers import pipeline from pathlib import Path examples = list(Path().rglob('*mp3')) model_id = 'SamuelM0422/whisper-small-pt' pipe = pipeline('automatic-speech-recognition', model=model_id) def transcribe_speech(filepath): output = pipe( filepath, max_new_tokens=256, generate_kwargs={ 'task': 'transcribe', 'language': 'portuguese' }, chunk_length_s=30, batch_size=8 ) return output['text'] demo = gr.Blocks() title='Audio Transcriber (PT) 🎙️' description='A fine-tuned Whisper model for the Portuguese language.' mic_transcribe = gr.Interface( fn=transcribe_speech, inputs=gr.Audio(sources='microphone', type='filepath'), outputs=gr.components.Textbox(), flagging_mode='never', examples=examples, description=description ) file_transcribe=gr.Interface( fn=transcribe_speech, inputs=gr.Audio(sources='upload', type='filepath'), outputs=gr.components.Textbox(), flagging_mode='never', examples=examples, description=description ) with demo: gr.TabbedInterface([mic_transcribe, file_transcribe], ['Transcribe Microphone', 'Transcribe Audio File'], title=title) demo.launch(debug=True)