import gradio as gr from custom_theme import CustomMinimalTheme from service.oral.oral_service import oral_exercise from service.written.written_service import written_exercise from utils.instructions import ORAL_QUIZ, TRANSCRIPTION_EXERCISE, QA_DRILL, PRONUNCIATION_PRACTICE with gr.Blocks(theme=CustomMinimalTheme()) as demo: with gr.Tabs(): with gr.TabItem("🗣️ Oral Quiz"): oral_exercise( "data/oral_quiz/audio", "data/oral_quiz/expected_result", ORAL_QUIZ) with gr.TabItem("✍️ Transcription Exercise"): written_exercise("data/transcription_exercise/audio", "data/transcription_exercise/expected_result", TRANSCRIPTION_EXERCISE) with gr.TabItem("🗣️ Pronunciation Practice"): oral_exercise("data/pronunciation_practice/audio", "data/pronunciation_practice/expected_result", PRONUNCIATION_PRACTICE) with gr.TabItem("🗣️ Q&A Drill"): oral_exercise("data/q&a_drill/audio", "data/q&a_drill/expected_result", QA_DRILL) if __name__ == "__main__": demo.launch(show_api=False)