from transformers import pipeline import gradio as gr from numpy import random from PIL import Image pipe = pipeline(model="fimster/whisper-small-sv-SE") # change to "your-username/the-name-you-picked" images = ["katt", "melon", "hund", "banan"] image = random.choice(images) # query_image = Image.open("./images/" + image + ".jpeg") with gr.Blocks as demo: with gr.row(): gr.Label("Vad är detta? Spela in ditt svar med inspelningsknappen!") input_img = gr.Image("./images/" + image + ".jpeg") def transcribe(audio): text = pipe(audio)["text"] returntext = "" if text.lower() != image.lower(): returntext = "Du svarade fel, ditt svar var: " + text + ", rätt svar var: " + image else: returntext = "Du hade rätt, svaret var: " + image return returntext iface = gr.Interface( fn=transcribe, inputs=gr.Audio(source="microphone", type="filepath"), outputs="text", title="Whisper Small Swedish", description="Realtime demo for Swedish speech recognition using a fine-tuned Whisper small model.", ) iface.launch()