File size: 1,687 Bytes
8dba1c5
3d4f76a
d43dbf4
a852f2a
8dba1c5
4d76adc
 
98c2953
4705045
c1715bb
35313b9
 
 
b91fd63
d702742
3d4f76a
2d6617c
3d4f76a
4705045
 
 
4d76adc
8dba1c5
3d4f76a
4705045
3d4f76a
 
 
 
8dba1c5
3d4f76a
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
48
49
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 update_message(request: gr.Request):
    debug = False
    if request.username == os.environ.get("S2S_USER"):
        debug = True
    return f"Welcome, {request.username}", 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()
    debug = False
    iface.load(update_message, None, [m,debug])
    
    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():
                if debug:
                    debug_transcript = gr.Textbox(label="Transcription Debug")
                    transcript = gr.Textbox(label="Transcription")
                else:
                    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)