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()