ankban commited on
Commit
4b798ad
·
verified ·
1 Parent(s): afbad91

Update spoken_module.py

Browse files
Files changed (1) hide show
  1. spoken_module.py +14 -3
spoken_module.py CHANGED
@@ -5,7 +5,8 @@ from datetime import datetime
5
  from sqlmodel import Session
6
  from app_utils import (
7
  model, LANG_CODES, client, save_to_db, fetch_user_sessions,
8
- convert_to_wav, transcribe_audio, generate_feedback, generate_example_response
 
9
  )
10
 
11
  def spoken_dashboard(nickname):
@@ -64,21 +65,31 @@ def spoken_dashboard(nickname):
64
 
65
  wav_path = convert_to_wav(audio_file)
66
  transcript = transcribe_audio(wav_path)
67
- previous = fetch_last_transcript(nickname)
 
 
68
 
 
69
  feedback_text = generate_feedback(
70
  transcript=transcript,
71
  language=language,
72
  goal=goal,
73
  focus_areas=focus_areas,
74
- previous_transcript=previous
75
  )
76
 
 
 
 
 
 
 
77
  lang_code = LANG_CODES.get(language, "en")
78
  tts = gTTS(feedback_text, lang=lang_code)
79
  mp3_path = f"/tmp/{uuid.uuid4()}.mp3"
80
  tts.save(mp3_path)
81
 
 
82
  if nickname:
83
  save_to_db(nickname, transcript, feedback_text, language)
84
 
 
5
  from sqlmodel import Session
6
  from app_utils import (
7
  model, LANG_CODES, client, save_to_db, fetch_user_sessions,
8
+ convert_to_wav, transcribe_audio, generate_feedback, generate_example_response,
9
+ parse_scores_from_feedback, generate_progress_summary
10
  )
11
 
12
  def spoken_dashboard(nickname):
 
65
 
66
  wav_path = convert_to_wav(audio_file)
67
  transcript = transcribe_audio(wav_path)
68
+ previous_sessions = fetch_user_sessions(nickname)
69
+ previous_transcript = previous_sessions[-1].transcript if previous_sessions else None
70
+ previous_feedback = previous_sessions[-1].feedback if previous_sessions else None
71
 
72
+ # Get feedback from GPT
73
  feedback_text = generate_feedback(
74
  transcript=transcript,
75
  language=language,
76
  goal=goal,
77
  focus_areas=focus_areas,
78
+ previous_transcript=previous_transcript
79
  )
80
 
81
+ # Append progress tracker if available
82
+ if previous_feedback:
83
+ progress_summary = generate_progress_summary(feedback_text, previous_feedback)
84
+ feedback_text += progress_summary
85
+
86
+ # Text-to-Speech
87
  lang_code = LANG_CODES.get(language, "en")
88
  tts = gTTS(feedback_text, lang=lang_code)
89
  mp3_path = f"/tmp/{uuid.uuid4()}.mp3"
90
  tts.save(mp3_path)
91
 
92
+ # Save session
93
  if nickname:
94
  save_to_db(nickname, transcript, feedback_text, language)
95