File size: 1,739 Bytes
8dba1c5
3d4f76a
d43dbf4
a852f2a
8dba1c5
4d76adc
 
225ea17
4705045
9eed340
9ce0c60
 
467ace1
9eed340
0f72939
82135f1
 
d702742
3d4f76a
 
4705045
 
 
4d76adc
8dba1c5
3d4f76a
4705045
3d4f76a
 
2c84772
 
8dba1c5
3d4f76a
9eed340
9ce0c60
b91fd63
 
 
1cfe5a6
b91fd63
 
4cc0637
9eed340
9ce0c60
2c84772
8adaa95
6e6e0de
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
45
46
47
import gradio as gr
import numpy as np
import runpod
import os

RUNPOD_API = os.environ.get("RUNPOD_API")
RUNPOD_ENDPOINT = os.environ.get("RUNPOD_ENDPOINT")
auth = [(os.environ.get("ADMIN"), os.environ.get("ADMIN_PW")), (os.environ.get("USER"), os.environ.get("USER_PW"))]


def welcome_user(request: gr.Request):
    return f"Bienvenue {request.username}"

def doDebug(request: gr.Request):
    if request.username == os.environ.get("ADMIN"):
        return gr.Textbox(label="Debug Transcription", visible=True)
    return gr.Textbox(label="Debug Transcription", visible=False)

def process_transcribe(file):
    audio_nparray = file[1]
    audio_list = audio_nparray.tolist()
    
    runpod.api_key = RUNPOD_API
    endpoint = runpod.Endpoint(RUNPOD_ENDPOINT)

    run_request = endpoint.run_sync(
        {"audio_list": audio_list}
    )
    raw_text = run_request
    text_corrected = raw_text["text_corrected"]
    return raw_text,text_corrected

with gr.Blocks(theme=gr.themes.Default(primary_hue="blue")) as iface:
    m = gr.Markdown(value="bienvenue")
    iface.load(welcome_user, None, m)
    with gr.Tab("Speech2text prescription"):
        with gr.Row():
            with gr.Column():
                audio_file = gr.Audio(sources=["upload"], type="numpy", label="Audio")
                submit_btn = gr.Button("Submit", variant="primary")
            with gr.Column():
                debug_transcript = gr.Textbox()
                iface.load(doDebug, None, debug_transcript)
                transcript = gr.Textbox(label="Transcription")
        submit_btn.click(process_transcribe, inputs=[audio_file], outputs=[debug_transcript,transcript])
    logout_button = gr.Button("Logout", link="/logout")
iface.launch(auth=auth)