def main()

in voxpopuli/segmentation/cut_from_labels.py [0:0]


def main(args):

    path_data = Path(args.root_original)
    path_out = Path(args.output)
    path_annotations = Path(args.tsv_file)

    path_extractor = get_path_fully_segmented
    if args.mode == "labelled":
        timestamp_extractor = get_ts_vad
    elif args.mode == "per_speaker_vad":
        timestamp_extractor = get_ts_base
    elif args.mode == "per_speaker":
        timestamp_extractor = get_ts_speaker
        path_extractor = get_path_paragraph
    else:
        raise RuntimeError(f"Invalid mode {args.mode}")

    annot_dict = load_annot_file(path_annotations, path_extractor, timestamp_extractor)
    segmenter = FileSegmenter(path_data, path_out, annot_dict)
    segmenter.run(n_procs=args.n_procs)