|
from dataclasses import dataclass |
|
from typing import Optional |
|
|
|
@dataclass |
|
class TimedText: |
|
start: Optional[float] |
|
end: Optional[float] |
|
text: Optional[str] = '' |
|
speaker: Optional[int] = -1 |
|
probability: Optional[float] = None |
|
is_dummy: Optional[bool] = False |
|
|
|
@dataclass |
|
class ASRToken(TimedText): |
|
def with_offset(self, offset: float) -> "ASRToken": |
|
"""Return a new token with the time offset added.""" |
|
return ASRToken(self.start + offset, self.end + offset, self.text, self.speaker, self.probability) |
|
|
|
@dataclass |
|
class Sentence(TimedText): |
|
pass |
|
|
|
@dataclass |
|
class Transcript(TimedText): |
|
pass |
|
|
|
@dataclass |
|
class SpeakerSegment(TimedText): |
|
pass |