|
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() |