hafsaabd82 commited on
Commit
26c55e5
·
verified ·
1 Parent(s): 065ad1b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -20
app.py CHANGED
@@ -210,35 +210,29 @@ def analyze_audio(audio_file: str,
210
  diarize_output = None
211
  else:
212
  warn(results, "DIAR_SKIP", "HF_TOKEN not set. Skipping speaker diarization.")
213
- print("Assigning speakers to words...")
214
-
215
  try:
216
  diarize_segments_for_assignment = []
217
- if diarize_output is not None:
218
- if hasattr(diarize_output, "itertracks"):
219
- for segment, _, label in diarize_output.itertracks(yield_label=True):
220
- diarize_segments_for_assignment.append({
221
- "start": float(segment.start),
222
- "end": float(segment.end),
223
- "speaker": normalize_speaker(label)
224
- })
225
- else:
226
- diarize_segments_for_assignment = diarize_output
227
- else:
228
- diarize_segments_for_assignment = []
229
- for seg in aligned.get("segments", []):
230
  diarize_segments_for_assignment.append({
231
- "start": seg.get("start", 0),
232
- "end": seg.get("end", seg.get("start", 0)),
233
- "speaker": "Speaker_1"
234
  })
235
-
236
  if diarize_segments_for_assignment:
237
  final = whisperx.assign_word_speakers(diarize_segments_for_assignment, aligned)
238
  else:
 
239
  final = aligned
240
  for seg in final.get("segments", []):
241
- seg["speaker"] = "Speaker_1"
 
 
 
 
 
242
  except Exception as e:
243
  warn(results, "ASSIGN_SPEAKERS_ERROR", f"Error assigning speakers: {e}. Falling back to unassigned segments.")
244
  final = aligned
 
210
  diarize_output = None
211
  else:
212
  warn(results, "DIAR_SKIP", "HF_TOKEN not set. Skipping speaker diarization.")
213
+ print("Assigning speakers to words...")
 
214
  try:
215
  diarize_segments_for_assignment = []
216
+ if diarize_output is not None and hasattr(diarize_output, "itertracks"):
217
+ for segment, _, label in diarize_output.itertracks(yield_label=True):
 
 
 
 
 
 
 
 
 
 
 
218
  diarize_segments_for_assignment.append({
219
+ "start": float(segment.start),
220
+ "end": float(segment.end),
221
+ "speaker": normalize_speaker(label)
222
  })
223
+ print(f"DEBUG: Converted {len(diarize_segments_for_assignment)} diarization segments.")
224
  if diarize_segments_for_assignment:
225
  final = whisperx.assign_word_speakers(diarize_segments_for_assignment, aligned)
226
  else:
227
+ warn(results, "ASSIGN_FAIL", "Diarization segments were empty or unavailable. Defaulting all to Speaker_1.")
228
  final = aligned
229
  for seg in final.get("segments", []):
230
+ seg["speaker"] = "Speaker_1"
231
+ except Exception as e:
232
+ warn(results, "ASSIGN_SPEAKERS_ERROR", f"Error assigning speakers: {e}. Falling back to unassigned segments.")
233
+ final = aligned
234
+ for seg in final.get("segments", []):
235
+ seg["speaker"] = "Speaker_1"
236
  except Exception as e:
237
  warn(results, "ASSIGN_SPEAKERS_ERROR", f"Error assigning speakers: {e}. Falling back to unassigned segments.")
238
  final = aligned