jsbeaudry's picture
Update app.py
0493d0d verified
from transformers import pipeline
import gradio as gr
# Load Whisper model
print("Loading model...")
pipe = pipeline(model="jsbeaudry/whisper-medium-oswald")
print("Model loaded successfully.")
# Transcription function
def transcribe(audio_path):
if audio_path is None:
return "Please upload or record an audio file first."
result = pipe(audio_path)
return result["text"]
# Build Gradio interface
def create_interface():
with gr.Blocks(title="Whisper Medium - Haitian Creole") as demo:
gr.Markdown("# πŸŽ™οΈ Whisper Medium Creole ASR")
gr.Markdown(
"Upload an audio file or record your voice in Haitian Creole. "
"Then click **Transcribe** to see the result."
)
with gr.Row():
with gr.Column():
audio_input = gr.Audio(source="upload", type="filepath", label="🎧 Upload Audio")
audio_input2 = gr.Audio(source="microphone", type="filepath", label="🎀 Record Audio")
with gr.Column():
transcribe_button = gr.Button("πŸ” Transcribe")
output_text = gr.Textbox(label="πŸ“ Transcribed Text", lines=4)
transcribe_button.click(fn=transcribe, inputs=audio_input, outputs=output_text)
transcribe_button.click(fn=transcribe, inputs=audio_input2, outputs=output_text)
return demo
if __name__ == "__main__":
interface = create_interface()
interface.launch()