"""管线各阶段共享的数据传输对象(DTO)。 独立于任何模型加载逻辑——segmenter(纯算法)和 srt_writer(纯 IO)可以只依赖 本模块,不拉入 faster_whisper / torch。 """ from __future__ import annotations from dataclasses import dataclass @dataclass class Word: """ASR 识别出的单个词,带时间戳。""" text: str start: float # 秒 end: float probability: float = 1.0 @dataclass class Segment: """ASR 输出的一段文本,可能含词级时间戳。""" text: str start: float end: float words: list[Word] @dataclass class Subtitle: """断句后的一条字幕:英文文本 + 起止时间戳。""" text: str start: float end: float