jonghhhh commited on
Commit
7ff01ac
Β·
verified Β·
1 Parent(s): a1c0fe0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -21
app.py CHANGED
@@ -1,9 +1,5 @@
1
  import streamlit as st
2
- from gtts import gTTS
3
- from pydub import AudioSegment
4
- from pydub.playback import play
5
- import tempfile
6
- import os
7
 
8
  # 학생 리슀트
9
  student_list = ["홍길동", "κΉ€μ² μˆ˜", "이영희", "λ°•μ˜μˆ˜"]
@@ -15,30 +11,27 @@ attendance_status = {student: "미확인" for student in student_list}
15
  # Streamlit UI
16
  st.title("μΆœμ„ 확인 μ‹œμŠ€ν…œ")
17
 
 
 
 
18
  if 'current_index' not in st.session_state:
19
  st.session_state.current_index = 0
20
 
21
- # μ˜€λ””μ˜€ 파일 생성 ν•¨μˆ˜
22
- def create_audio_for_student(student):
23
- tts = gTTS(student + " 학생")
24
- temp_file = tempfile.NamedTemporaryFile(delete=False, suffix='.mp3')
25
- tts.save(temp_file.name)
26
- return temp_file.name
27
 
28
  # 학생 이름 뢈러였기
29
  if st.button("λ‹€μŒ 학생"):
30
  current_student = student_list[st.session_state.current_index]
31
 
32
- # μ˜€λ””μ˜€ 파일 생성
33
- audio_file = create_audio_for_student(current_student)
34
-
35
- # μ˜€λ””μ˜€ νŒŒμΌμ„ μžλ™ μž¬μƒ
36
- audio_segment = AudioSegment.from_mp3(audio_file)
37
- play(audio_segment)
38
-
39
  # 화면에 ν˜„μž¬ 학생 이름 ν‘œμ‹œ
40
  st.subheader(f"ν˜„μž¬ 학생: {current_student}")
41
 
 
 
 
42
  # μΆœμ„ μ—¬λΆ€ 선택
43
  attendance = st.radio(f"{current_student} μΆœμ„ μ—¬λΆ€", ("μΆœμ„", "결석"))
44
  attendance_status[current_student] = attendance
@@ -56,9 +49,6 @@ if st.button("λ‹€μŒ 학생"):
56
  st.session_state.current_index += 1
57
  else:
58
  st.write("λͺ¨λ“  ν•™μƒμ˜ 이름을 λΆˆλ €μŠ΅λ‹ˆλ‹€.")
59
-
60
- # μž„μ‹œ 파일 μ‚­μ œ
61
- os.remove(audio_file)
62
 
63
  # κ²°μ„μž 리슀트 보여주기
64
  st.subheader("κ²°μ„μž 리슀트")
@@ -66,3 +56,4 @@ if absentees:
66
  st.write(absentees)
67
  else:
68
  st.write("κ²°μ„μžκ°€ μ—†μŠ΅λ‹ˆλ‹€.")
 
 
1
  import streamlit as st
2
+ import pyttsx3
 
 
 
 
3
 
4
  # 학생 리슀트
5
  student_list = ["홍길동", "κΉ€μ² μˆ˜", "이영희", "λ°•μ˜μˆ˜"]
 
11
  # Streamlit UI
12
  st.title("μΆœμ„ 확인 μ‹œμŠ€ν…œ")
13
 
14
+ # TTS μ—”μ§„ μ΄ˆκΈ°ν™”
15
+ engine = pyttsx3.init()
16
+
17
  if 'current_index' not in st.session_state:
18
  st.session_state.current_index = 0
19
 
20
+ # TTS둜 이름 μ½μ–΄μ£ΌλŠ” ν•¨μˆ˜
21
+ def speak_text(text):
22
+ engine.say(text)
23
+ engine.runAndWait()
 
 
24
 
25
  # 학생 이름 뢈러였기
26
  if st.button("λ‹€μŒ 학생"):
27
  current_student = student_list[st.session_state.current_index]
28
 
 
 
 
 
 
 
 
29
  # 화면에 ν˜„μž¬ 학생 이름 ν‘œμ‹œ
30
  st.subheader(f"ν˜„μž¬ 학생: {current_student}")
31
 
32
+ # 학생 이름을 TTS둜 읽기
33
+ speak_text(current_student + " 학생")
34
+
35
  # μΆœμ„ μ—¬λΆ€ 선택
36
  attendance = st.radio(f"{current_student} μΆœμ„ μ—¬λΆ€", ("μΆœμ„", "결석"))
37
  attendance_status[current_student] = attendance
 
49
  st.session_state.current_index += 1
50
  else:
51
  st.write("λͺ¨λ“  ν•™μƒμ˜ 이름을 λΆˆλ €μŠ΅λ‹ˆλ‹€.")
 
 
 
52
 
53
  # κ²°μ„μž 리슀트 보여주기
54
  st.subheader("κ²°μ„μž 리슀트")
 
56
  st.write(absentees)
57
  else:
58
  st.write("κ²°μ„μžκ°€ μ—†μŠ΅λ‹ˆλ‹€.")
59
+