JM0410 commited on
Commit
9ebe145
โ€ข
1 Parent(s): 071eb50

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from gtts import gTTS
3
+ import tempfile
4
+
5
+ # ํ€ด์ฆˆ ๋ฌธ์ œ์™€ ์„ ํƒ์ง€๋ฅผ ์„ค์ •
6
+ quiz = {
7
+ "text": "NUmber 2 : Prosper",
8
+ "options": ["To fail", "To grow and succeed", "To disappear"],
9
+ "answer": 1
10
+ }
11
+
12
+ # ํ…์ŠคํŠธ๋ฅผ ์Œ์„ฑ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ž„์‹œ ํŒŒ์ผ์— ์ €์žฅ
13
+ def text_to_speech(text):
14
+ tts = gTTS(text)
15
+ temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
16
+ tts.save(temp_file.name)
17
+ return temp_file.name
18
+
19
+ # ํ€ด์ฆˆ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค
20
+ def quiz_function(selected_option):
21
+ correct_index = quiz["answer"]
22
+ selected_index = quiz["options"].index(selected_option)
23
+ if selected_index == correct_index:
24
+ return "์ •๋‹ต์ž…๋‹ˆ๋‹ค!"
25
+ else:
26
+ return "์˜ค๋‹ต์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ์‹œ๋„ํ•ด๋ณด์„ธ์š”."
27
+
28
+ # ์˜ค๋””์˜ค ํŒŒ์ผ ์ƒ์„ฑ
29
+ audio_path = text_to_speech(quiz["text"])
30
+
31
+ # Gradio ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค
32
+ with gr.Blocks() as demo:
33
+ gr.Markdown("### Listening Test")
34
+ audio = gr.Audio(value=audio_path, autoplay=False, label="์˜ค๋””์˜ค๋ฅผ ๋“ค์–ด๋ณด์„ธ์š”")
35
+ options = gr.Radio(choices=quiz["options"], label="")
36
+ submit = gr.Button("์ œ์ถœ")
37
+ result = gr.Textbox(label="๊ฒฐ๊ณผ")
38
+
39
+ submit.click(fn=quiz_function, inputs=options, outputs=result)
40
+
41
+ # ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค
42
+ demo.launch()