27 lines
680 B
Python
27 lines
680 B
Python
from pathlib import Path
|
|
|
|
from transcriber.merge.aligner import MergedSegment
|
|
|
|
|
|
def write_txt(segments: list[MergedSegment], output_path: str) -> str:
|
|
"""Export merged segments as a readable dialogue text file.
|
|
|
|
Args:
|
|
segments: List of merged speaker segments.
|
|
output_path: Path to the output .txt file.
|
|
|
|
Returns:
|
|
Path to the written file.
|
|
"""
|
|
path = Path(output_path)
|
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
|
|
lines = []
|
|
for seg in segments:
|
|
lines.append(f"[{seg.speaker}]")
|
|
lines.append(seg.text)
|
|
lines.append("")
|
|
|
|
path.write_text("\n".join(lines), encoding="utf-8")
|
|
return str(path)
|