haepada commited on
Commit
567bf65
·
verified ·
1 Parent(s): 50449f5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -21
app.py CHANGED
@@ -622,7 +622,7 @@ def create_interface():
622
  AUDIO_PLAYER_HTML = """
623
  <div class="audio-player-container">
624
  <audio id="mainAudio" preload="auto" style="display:none;">
625
- <source src="/assets/main_music.mp3" type="audio/mpeg">
626
  </audio>
627
  <button id="playButton" onclick="toggleAudio()" class="custom-audio-button">
628
  <span id="playButtonText">재생</span>
@@ -843,14 +843,26 @@ def create_interface():
843
  with blessing_section:
844
  gr.Markdown("### 축원의식을 시작하겠습니다")
845
  gr.Markdown("'명짐 복짐 짊어지고 안가태평하시기를 비도발원 축원 드립니다'")
 
 
846
  baseline_audio = gr.Audio(
847
  label="축원 문장 녹음하기",
848
  sources=["microphone"],
849
  type="numpy",
850
  streaming=False
851
  )
852
- blessing_status = gr.Markdown("", elem_id="blessing-status") # 상태 표시 추가
853
- set_baseline_btn = gr.Button("축원 마치기", variant="primary")
 
 
 
 
 
 
 
 
 
 
854
 
855
  # 4단계: 굿판 입장 안내
856
  entry_guide_section = gr.Column(visible=False)
@@ -1003,31 +1015,21 @@ def create_interface():
1003
  def handle_blessing_complete(audio, state):
1004
  if audio is None:
1005
  return state, "음성을 먼저 녹음해주세요.", gr.update(visible=True), gr.update(visible=False)
1006
-
1007
  try:
1008
- # 상태 표시
1009
- status_msg = "축원 분석 중..."
1010
-
1011
- # 음성 분석 수행
1012
  sr, y = audio
1013
  features = calculate_baseline_features((sr, y))
1014
 
1015
  if features:
1016
- state = safe_state_update(state, {
1017
- "baseline_features": features
1018
- })
1019
- status_msg = "축원이 완료되었습니다."
1020
- return (
1021
- state,
1022
- status_msg,
1023
- gr.update(visible=False),
1024
- gr.update(visible=True)
1025
- )
1026
-
1027
- return state, "축원 분석에 실패했습니다.", gr.update(visible=True), gr.update(visible=False)
1028
 
 
 
1029
  except Exception as e:
1030
- return state, f"오류가 발생했습니다: {str(e)}", gr.update(visible=True), gr.update(visible=False)
1031
 
1032
  def handle_enter():
1033
  return gr.update(selected=1) # 청신 탭으로 이동
 
622
  AUDIO_PLAYER_HTML = """
623
  <div class="audio-player-container">
624
  <audio id="mainAudio" preload="auto" style="display:none;">
625
+ <source src="/assets/main_music.mp3" type="audio/mp3">
626
  </audio>
627
  <button id="playButton" onclick="toggleAudio()" class="custom-audio-button">
628
  <span id="playButtonText">재생</span>
 
843
  with blessing_section:
844
  gr.Markdown("### 축원의식을 시작하겠습니다")
845
  gr.Markdown("'명짐 복짐 짊어지고 안가태평하시기를 비도발원 축원 드립니다'")
846
+
847
+ # 축원 문장 녹음하기
848
  baseline_audio = gr.Audio(
849
  label="축원 문장 녹음하기",
850
  sources=["microphone"],
851
  type="numpy",
852
  streaming=False
853
  )
854
+
855
+ # 상태 표시 (길이 조정 추가)
856
+ blessing_status = gr.Markdown(
857
+ "분석 결과가 여기에 표시됩니다.",
858
+ elem_id="blessing-status",
859
+ style={"min-height": "200px"} # CSS 스타일로 길이를 조정합니다
860
+ )
861
+
862
+ # 상태 분석 및 결과창 구분
863
+ set_baseline_btn = gr.Button("축원문 분석하기", variant="primary")
864
+ send_blessing_btn = gr.Button("축원 보내기", variant="secondary", visible=False)
865
+
866
 
867
  # 4단계: 굿판 입장 안내
868
  entry_guide_section = gr.Column(visible=False)
 
1015
  def handle_blessing_complete(audio, state):
1016
  if audio is None:
1017
  return state, "음성을 먼저 녹음해주세요.", gr.update(visible=True), gr.update(visible=False)
1018
+
1019
  try:
1020
+ status_msg = "축원문 분석 중..."
 
 
 
1021
  sr, y = audio
1022
  features = calculate_baseline_features((sr, y))
1023
 
1024
  if features:
1025
+ state = safe_state_update(state, {"baseline_features": features})
1026
+ status_msg = "분석 완료되었습니다. 축원을 보내세요."
1027
+ return state, status_msg, gr.update(visible=False), gr.update(visible=True)
 
 
 
 
 
 
 
 
 
1028
 
1029
+ return state, "분석에 실패했습니다. 다시 시도해주세요.", gr.update(visible=True), gr.update(visible=False)
1030
+
1031
  except Exception as e:
1032
+ return state, f"오류 발생: {str(e)}", gr.update(visible=True), gr.update(visible=False)
1033
 
1034
  def handle_enter():
1035
  return gr.update(selected=1) # 청신 탭으로 이동