Spaces:
Runtime error
Runtime error
terry-li-hm
commited on
Commit
·
128a0e2
1
Parent(s):
458cf48
Update
Browse files
sv.py
CHANGED
|
@@ -241,11 +241,41 @@ def generate_diarization(audio_path):
|
|
| 241 |
diarization_segments = []
|
| 242 |
txt_file = "mtr_dn.txt"
|
| 243 |
with open(txt_file, "w") as f:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 244 |
for turn, _, speaker in output.itertracks(yield_label=True):
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 249 |
f.write(line)
|
| 250 |
print(line.strip())
|
| 251 |
diarization_segments.append(
|
|
@@ -253,7 +283,7 @@ def generate_diarization(audio_path):
|
|
| 253 |
parse_time(start_time),
|
| 254 |
parse_time(end_time),
|
| 255 |
parse_time(duration),
|
| 256 |
-
|
| 257 |
)
|
| 258 |
)
|
| 259 |
|
|
|
|
| 241 |
diarization_segments = []
|
| 242 |
txt_file = "mtr_dn.txt"
|
| 243 |
with open(txt_file, "w") as f:
|
| 244 |
+
current_speaker = None
|
| 245 |
+
current_start = None
|
| 246 |
+
current_end = None
|
| 247 |
+
|
| 248 |
for turn, _, speaker in output.itertracks(yield_label=True):
|
| 249 |
+
if speaker != current_speaker:
|
| 250 |
+
if current_speaker is not None:
|
| 251 |
+
start_time = format_time(current_start)
|
| 252 |
+
end_time = format_time(current_end)
|
| 253 |
+
duration = format_time(current_end - current_start)
|
| 254 |
+
line = (
|
| 255 |
+
f"{start_time} - {end_time} ({duration}): {current_speaker}\n"
|
| 256 |
+
)
|
| 257 |
+
f.write(line)
|
| 258 |
+
print(line.strip())
|
| 259 |
+
diarization_segments.append(
|
| 260 |
+
(
|
| 261 |
+
parse_time(start_time),
|
| 262 |
+
parse_time(end_time),
|
| 263 |
+
parse_time(duration),
|
| 264 |
+
current_speaker,
|
| 265 |
+
)
|
| 266 |
+
)
|
| 267 |
+
current_speaker = speaker
|
| 268 |
+
current_start = turn.start
|
| 269 |
+
current_end = turn.end
|
| 270 |
+
else:
|
| 271 |
+
current_end = turn.end
|
| 272 |
+
|
| 273 |
+
# Write the last segment
|
| 274 |
+
if current_speaker is not None:
|
| 275 |
+
start_time = format_time(current_start)
|
| 276 |
+
end_time = format_time(current_end)
|
| 277 |
+
duration = format_time(current_end - current_start)
|
| 278 |
+
line = f"{start_time} - {end_time} ({duration}): {current_speaker}\n"
|
| 279 |
f.write(line)
|
| 280 |
print(line.strip())
|
| 281 |
diarization_segments.append(
|
|
|
|
| 283 |
parse_time(start_time),
|
| 284 |
parse_time(end_time),
|
| 285 |
parse_time(duration),
|
| 286 |
+
current_speaker,
|
| 287 |
)
|
| 288 |
)
|
| 289 |
|