Beispiel #1
0
def make_uem_segments(uem_path: Pathlike,
                      recording: Recording) -> List[SupervisionSegment]:
    lines = uem_path.read_text().splitlines()
    return [
        SupervisionSegment(
            id=
            f"{recording.id}-{int(100*float(start)):06d}-{int(100*float(end)):06d}",
            recording_id=recording.id,
            start=float(start),
            duration=round(float(end) - float(start), ndigits=8),
        ) for _, _, start, end in map(str.split, lines)
    ]
Beispiel #2
0
def make_rttm_segments(rttm_path: Pathlike, recording: Recording,
                       metadata: Dict) -> List[SupervisionSegment]:
    lines = rttm_path.read_text().splitlines()
    return [
        SupervisionSegment(
            id=
            f"{recording.id}-{speaker}-{int(100*float(start)):06d}-{int(100*(float(start)+float(duration))):06d}",
            recording_id=recording.id,
            start=float(start),
            duration=float(duration),
            speaker=speaker,
            language=metadata["lang"],
            custom=metadata,
        ) for _, _, channel, start, duration, _, _, speaker, _, _ in map(
            str.split, lines)
    ]