Module elpis.transcriber.results
Expand source code
from typing import List
from pympi.Elan import Eaf
from elpis.models.annotation import Annotation
def build_elan(annotations: List[Annotation], tier_name: str = "Phrase") -> Eaf:
"""Builds an elan file from the given annotations and tier_name.
Parameters:
annotations: The list of annotations to add.
tier_name: The name of the tier to add the annotations under.
Returns:
The resulting elan file.
"""
result = Eaf()
result.add_tier(tier_name)
for annotation in annotations:
result.add_annotation(
id_tier=tier_name,
start=annotation.start_ms,
end=annotation.stop_ms,
value=annotation.transcript,
)
return result
def build_text(annotations: List[Annotation]) -> str:
"""Combines all the text from a list of annotations, ordered from earliest
start time.
Parameters:
annotations: The list of annotations to Combines
Returns:
The combined transcripts.
"""
annotations = sorted(
annotations,
key=(
lambda annotation: annotation.start_ms
if annotation.start_ms is not None
else 0
),
)
return " ".join(annotation.transcript for annotation in annotations)
Functions
def build_elan(annotations: List[Annotation], tier_name: str = 'Phrase') ‑> pympi.Elan.Eaf
-
Builds an elan file from the given annotations and tier_name.
Parameters
annotations: The list of annotations to add. tier_name: The name of the tier to add the annotations under.
Returns
The resulting elan file.
Expand source code
def build_elan(annotations: List[Annotation], tier_name: str = "Phrase") -> Eaf: """Builds an elan file from the given annotations and tier_name. Parameters: annotations: The list of annotations to add. tier_name: The name of the tier to add the annotations under. Returns: The resulting elan file. """ result = Eaf() result.add_tier(tier_name) for annotation in annotations: result.add_annotation( id_tier=tier_name, start=annotation.start_ms, end=annotation.stop_ms, value=annotation.transcript, ) return result
def build_text(annotations: List[Annotation]) ‑> str
-
Combines all the text from a list of annotations, ordered from earliest start time.
Parameters
annotations: The list of annotations to Combines
Returns
The combined transcripts.
Expand source code
def build_text(annotations: List[Annotation]) -> str: """Combines all the text from a list of annotations, ordered from earliest start time. Parameters: annotations: The list of annotations to Combines Returns: The combined transcripts. """ annotations = sorted( annotations, key=( lambda annotation: annotation.start_ms if annotation.start_ms is not None else 0 ), ) return " ".join(annotation.transcript for annotation in annotations)