File size: 1,770 Bytes
7f4441c
 
cbfbd5b
 
7f4441c
5e95e64
7f4441c
a8345a1
 
e46bb7f
5e95e64
1746c02
cbfbd5b
 
 
 
 
 
 
 
1746c02
cbfbd5b
 
 
 
 
 
45b9570
cbfbd5b
45b9570
7f4441c
17411ab
 
 
 
 
a8345a1
17411ab
1746c02
c53ff7e
1746c02
 
cbfbd5b
17411ab
cbfbd5b
 
0846800
cbfbd5b
0846800
17411ab
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
50
51
import gradio as gr

# μ„ μƒλ‹˜μ΄ μž…λ ₯ν•œ μ§ˆλ¬Έμ„ μ €μž₯ν•˜λŠ” λ³€μˆ˜
submitted_question = ""

# μ„ μƒλ‹˜μ˜ 질문 μž…λ ₯ λ°›κΈ°
def teacher_question(question):
    global submitted_question
    submitted_question = question
    return "", question

# ν•™μƒλ“€μ˜ μŒμ„± λ…ΉμŒ 및 μ €μž₯
def record_student_voice(voice):
    global submitted_question
    if submitted_question:
        if submitted_question in recordings:
            recordings[submitted_question].append(voice)
        else:
            recordings[submitted_question] = [voice]
        return "Voice recorded successfully for question: " + submitted_question
    else:
        return "Please submit a question first."

# μ €μž₯된 μŒμ„± λͺ©λ‘ 제곡
def get_recorded_list(question):
    if question in recordings:
        return recordings[question]
    else:
        return []

# Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜
with gr.Blocks() as demo:
    with gr.Tab("Teacher's Question"):
        question_input = gr.Textbox(lines=2, placeholder="Enter your question here...", label="Teacher's Question")
        submit_question = gr.Button("Submit")
        output_question = gr.Textbox(label="Submitted Question")
        submit_question.click(teacher_question, inputs=question_input, outputs=[output_question])

    with gr.Tab("Record Voice"):
        voice_input = gr.Audio(type="numpy", label="Record your voice")
        submit_voice = gr.Button("Submit Voice")
        output_voice = gr.Textbox(label="Status")
        submit_voice.click(record_student_voice, inputs=[voice_input], outputs=output_voice)

    def update_question_display(question):
        output_voice.value = "Recording for question: " + question

    demo.load(update_question_display, inputs=output_question)

demo.launch()