call-to-text/aligner/aligner.py

24 lines
600 B
Python

from typing import Optional
def align(left_segments: list[dict], right_segments: list[dict]) -> list[dict]:
merged = []
for seg in left_segments:
merged.append({
"start": seg["start"],
"end": seg["end"],
"speaker": "callee",
"text": seg["text"].strip(),
})
for seg in right_segments:
merged.append({
"start": seg["start"],
"end": seg["end"],
"speaker": "caller",
"text": seg["text"].strip(),
})
merged.sort(key=lambda s: s["start"])
return merged