jinggujiwoo7 commited on
Commit
f96fb77
β€’
1 Parent(s): 677d620

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -47
app.py CHANGED
@@ -1,57 +1,37 @@
1
  import gradio as gr
2
 
3
- # μ „μ—­ μƒνƒœλ₯Ό μœ μ§€ν•˜λŠ” λ³€μˆ˜
4
- state = {"question": "", "recordings": [], "comments": []}
5
 
6
  # μ„ μƒλ‹˜μ˜ 질문 μž…λ ₯ λ°›κΈ°
7
- def teacher_question(question):
8
- state["question"] = question
9
- return question
 
10
 
11
  # ν•™μƒλ“€μ˜ μŒμ„± λ…ΉμŒ 및 μ €μž₯
12
- def record_student_voice(voice):
13
- if state["question"]:
14
- state["recordings"].append(voice)
15
- return f"Voice recorded successfully for question: {state['question']}"
16
- else:
17
- return "Please submit a question first."
18
-
19
- # λŒ“κΈ€ μ €μž₯
20
- def write_comment(comment):
21
- if state["question"]:
22
- state["comments"].append(comment)
23
- return f"Comment added successfully for question: {state['question']}"
24
  else:
25
  return "Please submit a question first."
26
 
27
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜
28
- with gr.Blocks() as demo:
29
- with gr.Tab("Teacher's Question"):
30
- question_input = gr.Textbox(lines=2, placeholder="Enter your question here...", label="Teacher's Question")
31
- submit_question = gr.Button("Submit")
32
- output_question = gr.Textbox(label="Question", interactive=False)
33
- submit_question.click(fn=teacher_question, inputs=question_input, outputs=output_question)
34
-
35
- with gr.Tab("Record Voice"):
36
- question_display = gr.Markdown(value="Question will appear here after submission")
37
- voice_input = gr.Audio(type="numpy", label="Record your voice")
38
- submit_voice = gr.Button("Submit Voice")
39
- output_voice = gr.Textbox(label="Status")
40
- submit_voice.click(fn=record_student_voice, inputs=voice_input, outputs=output_voice)
41
-
42
- with gr.Tab("Write Comment"):
43
- comment_display = gr.Markdown(value="Question will appear here after submission")
44
- comment_input = gr.Textbox(placeholder="Your comment", label="Comment")
45
- submit_comment = gr.Button("Submit Comment")
46
- output_comment = gr.Textbox(label="Status")
47
- submit_comment.click(fn=write_comment, inputs=comment_input, outputs=output_comment)
48
-
49
- # μ—…λ°μ΄νŠΈ ν•¨μˆ˜ μ •μ˜
50
- def update_question_display():
51
- return state["question"]
52
-
53
- # νŽ˜μ΄μ§€ λ‘œλ“œ μ‹œ 질문 μ—…λ°μ΄νŠΈ
54
- demo.load(fn=update_question_display, outputs=[output_question, question_display, comment_display])
55
- submit_question.click(fn=update_question_display, outputs=[output_question, question_display, comment_display])
56
-
57
- demo.launch()
 
1
  import gradio as gr
2
 
3
+ # μ „μ—­ λ³€μˆ˜
4
+ question = ""
5
 
6
  # μ„ μƒλ‹˜μ˜ 질문 μž…λ ₯ λ°›κΈ°
7
+ def teacher_question(q):
8
+ global question
9
+ question = q
10
+ return "Question submitted successfully!"
11
 
12
  # ν•™μƒλ“€μ˜ μŒμ„± λ…ΉμŒ 및 μ €μž₯
13
+ def record_and_submit_voice(voice):
14
+ global question
15
+ if question:
16
+ # μ—¬κΈ°μ„œ μŒμ„±μ„ μ²˜λ¦¬ν•˜κ³  μ €μž₯ν•˜λŠ” μ½”λ“œλ₯Ό μΆ”κ°€ν•˜μ„Έμš”
17
+ return "Voice recorded and submitted successfully!"
 
 
 
 
 
 
 
18
  else:
19
  return "Please submit a question first."
20
 
21
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜
22
+ question_input = gr.Textbox(lines=2, placeholder="Enter your question here...", label="Teacher's Question")
23
+ submit_question = gr.Button("Submit Question")
24
+ voice_input = gr.Audio(type="numpy", label="Record your voice")
25
+ submit_voice = gr.Button("Submit Voice")
26
+ output = gr.Textbox(label="Status")
27
+
28
+ submit_question.click(teacher_question, inputs=question_input, outputs=output)
29
+ submit_voice.click(record_and_submit_voice, inputs=voice_input, outputs=output)
30
+
31
+ # μΈν„°νŽ˜μ΄μŠ€ μ‹€ν–‰
32
+ gr.Interface(
33
+ [question_input, submit_question, voice_input, submit_voice, output],
34
+ "grid",
35
+ title="Teacher's Question with Voice Recording",
36
+ live=True
37
+ ).launch()