File size: 1,516 Bytes
8dba1c5
3d4f76a
d43dbf4
a852f2a
8dba1c5
4d76adc
 
98c2953
4705045
9ce0c60
 
467ace1
54b3fc0
35313b9
 
 
ac592e2
467ace1
d702742
3d4f76a
2d6617c
3d4f76a
4705045
 
 
4d76adc
8dba1c5
3d4f76a
4705045
3d4f76a
 
 
 
8dba1c5
3d4f76a
9ce0c60
 
b91fd63
 
 
 
 
 
9ce0c60
b91fd63
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("S2S_USER"), os.environ.get("S2S_PW")), (os.environ.get("POSOS_USER"), os.environ.get("POSOS_PW"))]

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

def doDebug(request):
    debug = False
    if request.username == os.environ.get("S2S_USER"):
        debug = True
    print(request.username)
    return debug

def process_transcribe(file):
    print(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
    
    return raw_text

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