Exemple #1
0
def get_srt_pipe_maker(
    args: argparse.Namespace, srtin: Optional[str]
) -> Callable[[Optional[float]], Union[Pipeline, Callable[[float], Pipeline]]]:
    if srtin is None:
        srtin_format = 'srt'
    else:
        srtin_format = os.path.splitext(srtin)[-1][1:]
    parser = make_subtitle_parser(fmt=srtin_format, caching=True, **args.__dict__)
    return lambda scale_factor: make_subtitle_speech_pipeline(
        **override(args, scale_factor=scale_factor, parser=parser)
    )
Exemple #2
0
def make_reference_pipe(args: argparse.Namespace) -> Pipeline:
    ref_format = _ref_format(args.reference)
    if ref_format in SUBTITLE_EXTENSIONS:
        if args.vad is not None:
            logger.warning("Vad specified, but reference was not a movie")
        return cast(
            Pipeline,
            make_subtitle_speech_pipeline(
                fmt=ref_format,
                **override(args,
                           encoding=args.reference_encoding
                           or DEFAULT_ENCODING),
            ),
        )
    elif ref_format in ("npy", "npz"):
        if args.vad is not None:
            logger.warning("Vad specified, but reference was not a movie")
        return Pipeline([("deserialize",
                          DeserializeSpeechTransformer(args.non_speech_label))
                         ])
    else:
        vad = args.vad or DEFAULT_VAD
        if args.reference_encoding is not None:
            logger.warning(
                "Reference srt encoding specified, but reference was a video file"
            )
        ref_stream = args.reference_stream
        if ref_stream is not None and not ref_stream.startswith("0:"):
            ref_stream = "0:" + ref_stream
        return Pipeline([
            (
                "speech_extract",
                VideoSpeechTransformer(
                    vad=vad,
                    sample_rate=SAMPLE_RATE,
                    frame_rate=args.frame_rate,
                    non_speech_label=args.non_speech_label,
                    start_seconds=args.start_seconds,
                    ffmpeg_path=args.ffmpeg_path,
                    ref_stream=ref_stream,
                    vlc_mode=args.vlc_mode,
                    gui_mode=args.gui_mode,
                ),
            ),
        ])