Spaces:
Sleeping
Sleeping
colab-user commited on
Commit ·
efb3ddd
1
Parent(s): 0e8f2f1
fix processor speaker map
Browse files- app/services/processor.py +9 -11
app/services/processor.py
CHANGED
|
@@ -174,9 +174,13 @@ class Processor:
|
|
| 174 |
speakers = ["Speaker 1"]
|
| 175 |
roles = {"Speaker 1": "UNKNOWN"}
|
| 176 |
|
| 177 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 178 |
diarization_segments.sort(key=lambda x: x.start)
|
| 179 |
-
|
| 180 |
|
| 181 |
# Step 4: Refine segment boundaries
|
| 182 |
refined_segments: List[SpeakerSegment] = []
|
|
@@ -253,7 +257,7 @@ class Processor:
|
|
| 253 |
start=seg.start,
|
| 254 |
end=seg.end,
|
| 255 |
speaker=seg.speaker,
|
| 256 |
-
role=roles.get(seg.speaker),
|
| 257 |
text=text.strip(),
|
| 258 |
)
|
| 259 |
)
|
|
@@ -325,20 +329,14 @@ class Processor:
|
|
| 325 |
for i, spk in enumerate(speakers)
|
| 326 |
}
|
| 327 |
|
| 328 |
-
|
| 329 |
-
"NV": "👩💼",
|
| 330 |
-
"KH": "👤",
|
| 331 |
-
"UNKNOWN": "❓",
|
| 332 |
-
}
|
| 333 |
for seg in segments:
|
| 334 |
ts = f"[{format_timestamp(seg.start)} → {format_timestamp(seg.end)}]"
|
| 335 |
role = seg.role or "UNKNOWN"
|
| 336 |
|
| 337 |
speaker_icon = speaker_icons.get(seg.speaker, "⚪")
|
| 338 |
-
role_icon = role_icons.get(role, "❓")
|
| 339 |
-
|
| 340 |
lines.append(
|
| 341 |
-
f"{ts} {speaker_icon}
|
| 342 |
)
|
| 343 |
|
| 344 |
return "\n".join(lines)
|
|
|
|
| 174 |
speakers = ["Speaker 1"]
|
| 175 |
roles = {"Speaker 1": "UNKNOWN"}
|
| 176 |
|
| 177 |
+
if not roles:
|
| 178 |
+
roles = {
|
| 179 |
+
speaker: "UNKNOWN"
|
| 180 |
+
for speaker in speakers
|
| 181 |
+
}
|
| 182 |
+
# Sort by start time
|
| 183 |
diarization_segments.sort(key=lambda x: x.start)
|
|
|
|
| 184 |
|
| 185 |
# Step 4: Refine segment boundaries
|
| 186 |
refined_segments: List[SpeakerSegment] = []
|
|
|
|
| 257 |
start=seg.start,
|
| 258 |
end=seg.end,
|
| 259 |
speaker=seg.speaker,
|
| 260 |
+
role=roles.get(seg.speaker, "UNKNOWN"),
|
| 261 |
text=text.strip(),
|
| 262 |
)
|
| 263 |
)
|
|
|
|
| 329 |
for i, spk in enumerate(speakers)
|
| 330 |
}
|
| 331 |
|
| 332 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
| 333 |
for seg in segments:
|
| 334 |
ts = f"[{format_timestamp(seg.start)} → {format_timestamp(seg.end)}]"
|
| 335 |
role = seg.role or "UNKNOWN"
|
| 336 |
|
| 337 |
speaker_icon = speaker_icons.get(seg.speaker, "⚪")
|
|
|
|
|
|
|
| 338 |
lines.append(
|
| 339 |
+
f"{ts} {speaker_icon} [{seg.speaker}|{role}] {seg.text}"
|
| 340 |
)
|
| 341 |
|
| 342 |
return "\n".join(lines)
|