File size: 1,687 Bytes
7f4441c f96fb77 2457131 7f4441c 1746c02 2457131 db8c649 2457131 c558203 db8c649 c558203 7f4441c b6eca85 2457131 b6eca85 2457131 f96fb77 b6eca85 2457131 b6eca85 2457131 db8c649 2457131 f96fb77 b6eca85 |
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
# μ μ λ³μ
recordings = {}
# νμλ€μ μμ± λ
Ήμ λ° μ μ₯
def record_and_submit_voice(student_name, voice):
recordings.setdefault(student_name, []).append(voice)
return f"Voice recorded and submitted successfully by {student_name}!"
# μ½λ©νΈ μμ±
def write_comment(student_name, selected_student_name, comment):
if selected_student_name in recordings:
comment_list = recordings[selected_student_name]
comment_list.append((student_name, comment))
return f"Comment added successfully by {student_name}!"
else:
return "Selected student's recording not found!"
# Gradio μΈν°νμ΄μ€ μ μ
with gr.Blocks() as app:
student_name_input = gr.Textbox(placeholder="Enter your name", label="Your Name")
voice_input = gr.Audio(type="numpy", label="Record your voice")
submit_voice_button = gr.Button("Submit Voice")
play_recording_dropdown = gr.Dropdown(label="Select recording to play")
@app
def submit_voice_handler():
return record_and_submit_voice(student_name_input.value, voice_input.value)
@app
def play_recording_handler(selected_student_name):
return recordings.get(selected_student_name, [])
comment_input = gr.Textbox(placeholder="Write your comment here...", label="Write Comment")
submit_comment_button = gr.Button("Submit Comment")
@app
def submit_comment_handler():
return write_comment(student_name_input.value, play_recording_dropdown.value, comment_input.value)
submit_voice_button.click(submit_voice_handler)
submit_comment_button.click(submit_comment_handler)
# μΈν°νμ΄μ€ μ€ν
app.launch()
|