jinggujiwoo7 commited on
Commit
1746c02
β€’
1 Parent(s): a8345a1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +58 -9
app.py CHANGED
@@ -1,7 +1,9 @@
1
  import gradio as gr
 
2
 
3
- # μ§ˆλ¬Έμ„ μ €μž₯ν•  λ³€μˆ˜
4
- submitted_question = ""
 
5
 
6
  # μ„ μƒλ‹˜μ˜ 질문 μž…λ ₯ λ°›κΈ°
7
  def teacher_question(question):
@@ -9,9 +11,35 @@ def teacher_question(question):
9
  submitted_question = question
10
  return "", question
11
 
12
- # 질문이 μ œμΆœλ˜μ—ˆμŒμ„ ν™•μΈν•˜λŠ” ν•¨μˆ˜
13
- def check_submission():
14
- return submitted_question
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜
17
  with gr.Blocks() as demo:
@@ -21,9 +49,30 @@ with gr.Blocks() as demo:
21
  output_question = gr.Textbox(label="Submitted Question")
22
  submit_question.click(teacher_question, inputs=question_input, outputs=[output_question])
23
 
24
- with gr.Tab("Check Submission"):
25
- check_button = gr.Button("Check Submission")
26
- submitted_text = gr.Textbox(label="Submitted Question")
27
- check_button.click(check_submission, outputs=submitted_text)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
  demo.launch()
 
1
  import gradio as gr
2
+ import os
3
 
4
+ # μ €μž₯된 μŒμ„± 파일과 μ½”λ©˜νŠΈλ₯Ό κ΄€λ¦¬ν•˜λŠ” λ”•μ…”λ„ˆλ¦¬
5
+ recordings = {}
6
+ comments = {}
7
 
8
  # μ„ μƒλ‹˜μ˜ 질문 μž…λ ₯ λ°›κΈ°
9
  def teacher_question(question):
 
11
  submitted_question = question
12
  return "", question
13
 
14
+ # ν•™μƒλ“€μ˜ μŒμ„± λ…ΉμŒ 및 μ €μž₯
15
+ def record_student_voice(student_name, question, voice):
16
+ file_path = f"recordings/{student_name}_{question}.wav"
17
+ os.makedirs("recordings", exist_ok=True)
18
+ with open(file_path, "wb") as f:
19
+ f.write(voice)
20
+
21
+ if question in recordings:
22
+ recordings[question].append(file_path)
23
+ else:
24
+ recordings[question] = [file_path]
25
+
26
+ return "Voice recorded successfully!"
27
+
28
+ # μ €μž₯된 μŒμ„± λͺ©λ‘ 제곡
29
+ def get_recorded_list(question):
30
+ if question in recordings:
31
+ return recordings[question]
32
+ else:
33
+ return []
34
+
35
+ # μŒμ„±μ— λŒ€ν•œ μ½”λ©˜νŠΈ μž‘μ„±
36
+ def write_comment(question, comment):
37
+ if question in comments:
38
+ comments[question].append(comment)
39
+ else:
40
+ comments[question] = [comment]
41
+
42
+ return f"Comment '{comment}' added successfully for question '{question}'."
43
 
44
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜
45
  with gr.Blocks() as demo:
 
49
  output_question = gr.Textbox(label="Submitted Question")
50
  submit_question.click(teacher_question, inputs=question_input, outputs=[output_question])
51
 
52
+ with gr.Tab("Record Voice"):
53
+ student_name_input = gr.Textbox(placeholder="Your name", label="Your name")
54
+ question_display = gr.Textbox(label="Question", interactive=False)
55
+ voice_input = gr.Audio(type="filepath", label="Record your voice")
56
+ submit_voice = gr.Button("Submit Voice")
57
+ output_voice = gr.Textbox(label="Status")
58
+ submit_voice.click(record_student_voice, inputs=[student_name_input, question_display, voice_input], outputs=output_voice)
59
+
60
+ with gr.Tab("List Voices"):
61
+ question_list_input = gr.Textbox(placeholder="Question", label="Enter question to list recordings")
62
+ submit_list = gr.Button("Get Recordings")
63
+ recordings_list = gr.Dropdown(label="Select a recording to play")
64
+ submit_list.click(get_recorded_list, inputs=question_list_input, outputs=recordings_list)
65
+
66
+ with gr.Tab("Play Voice"):
67
+ recording_select = gr.Dropdown(label="Select a recording to play")
68
+ play_audio = gr.Audio(type="filepath", label="Recorded Voice")
69
+ recording_select.change(lambda x: x, inputs=recording_select, outputs=play_audio)
70
+
71
+ with gr.Tab("Write Comment"):
72
+ comment_question_input = gr.Textbox(placeholder="Question", label="Question")
73
+ comment_input = gr.Textbox(placeholder="Your comment", label="Comment")
74
+ submit_comment = gr.Button("Submit Comment")
75
+ output_comment = gr.Textbox(label="Status")
76
+ submit_comment.click(write_comment, inputs=[comment_question_input, comment_input], outputs=output_comment)
77
 
78
  demo.launch()