morsecode / app.py
epdavid2's picture
Update app.py
6750385
raw
history blame
1.12 kB
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()