mirror of
https://github.com/m-bain/whisperX.git
synced 2025-07-01 18:17:27 -04:00
70 lines
1.6 KiB
Python
70 lines
1.6 KiB
Python
from typing import TypedDict, Optional, List, Tuple
|
|
|
|
|
|
class SingleWordSegment(TypedDict):
|
|
"""
|
|
A single word of a speech.
|
|
"""
|
|
word: str
|
|
start: float
|
|
end: float
|
|
score: float
|
|
|
|
class SingleCharSegment(TypedDict):
|
|
"""
|
|
A single char of a speech.
|
|
"""
|
|
char: str
|
|
start: float
|
|
end: float
|
|
score: float
|
|
|
|
|
|
class SingleSegment(TypedDict):
|
|
"""
|
|
A single segment (up to multiple sentences) of a speech.
|
|
"""
|
|
|
|
start: float
|
|
end: float
|
|
text: str
|
|
|
|
|
|
class SegmentData(TypedDict):
|
|
"""
|
|
Temporary processing data used during alignment.
|
|
Contains cleaned and preprocessed data for each segment.
|
|
"""
|
|
clean_char: List[str] # Cleaned characters that exist in model dictionary
|
|
clean_cdx: List[int] # Original indices of cleaned characters
|
|
clean_wdx: List[int] # Indices of words containing valid characters
|
|
sentence_spans: List[Tuple[int, int]] # Start and end indices of sentences
|
|
|
|
|
|
class SingleAlignedSegment(TypedDict):
|
|
"""
|
|
A single segment (up to multiple sentences) of a speech with word alignment.
|
|
"""
|
|
|
|
start: float
|
|
end: float
|
|
text: str
|
|
words: List[SingleWordSegment]
|
|
chars: Optional[List[SingleCharSegment]]
|
|
|
|
|
|
class TranscriptionResult(TypedDict):
|
|
"""
|
|
A list of segments and word segments of a speech.
|
|
"""
|
|
segments: List[SingleSegment]
|
|
language: str
|
|
|
|
|
|
class AlignedTranscriptionResult(TypedDict):
|
|
"""
|
|
A list of segments and word segments of a speech.
|
|
"""
|
|
segments: List[SingleAlignedSegment]
|
|
word_segments: List[SingleWordSegment]
|