File size: 1,054 Bytes
113a2b6
 
7240e40
 
113a2b6
60f882a
7240e40
60f882a
 
 
 
 
 
113a2b6
7240e40
60f882a
 
 
7240e40
 
 
 
60f882a
 
 
 
 
7240e40
 
 
 
60f882a
 
 
7240e40
60f882a
7240e40
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from transformers import pipeline

asr = pipeline(task="automatic-speech-recognition",
              model="distil-whisper/distil-small.en")

import gradio as gr
demo = gr.Blocks()

def transcribe_speech(filepath):
    if filepath is None:
        gr.Warning("No Audio found, please retry")
        return ""

    output = asr(filepath)
    return output["text"]

mic_transcribe = gr.Interface(
    fn = transcribe_speech,
    inputs = gr.Audio(sources="microphone",
                     type="filepath"), 
    outputs=gr.Textbox(label="Transcription", 
                      lines=3),
    allow_flagging="never"
)

file_transcribe = gr.Interface(
    fn = transcribe_speech,
    inputs = gr.Audio(sources="upload",
                     type="filepath"), 
    outputs=gr.Textbox(label="Transcription", 
                      lines=3),
    allow_flagging="never"
)

with demo:
    gr.TabbedInterface(
        [mic_transcribe, 
        file_transcribe], 
        ["Transcribe Microphone", 
        "Transcribe Audio File"], 
    )

demo.launch(debug=True)