import gradio as gr from transformers import pipeline pipe = pipeline("automatic-speech-recognition", "facebook/wav2vec2-base-960h") dictionary = {' ': '/', "'": '.----.', '0': '-----', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.', '?': '..--..', 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..', } def asr(speech): transcript = pipe(speech)['text'] morseCode = "" for character in transcript: morseCode += dictionary[character] + " " return morseCode gr.Interface(fn=asr, inputs = gr.inputs.Audio(source="upload", type="filepath", label="Upload your audio file here"), outputs = gr.outputs.Textbox(type="str",label="Output Text"), ).launch()