Skip to main content

Automatically aligns an out-of-sync subtitle file to its companion video/audio using Deep Neural Network and Forced Alignment.

Project description

Build Status Codecov Python 3.7 Python 3.6 Python 3.5 Python 3.4 Documentation Status GitHub license

Dependencies

FFmpeg and eSpeak

apt-get install ffmpeg espeak libespeak1 libespeak-dev espeak-data

or

brew install ffmpeg espeak

Installation

make install && source .venv/bin/activate

Usage

# Single-stage alignment (high-level shift with lower latency)

    (.venv) $ subaligner_1pass -v video.mp4 -s subtitle.srt
# Dual-stage alignment (low-level shift with higher latency)

(.venv) $ subaligner_2pass -v video.mp4 -s subtitle.srt

The aligned subtitle will be saved at subtitle_aligned.srt. For details on CLI, run subaligner_1pass --help or subaligner_2pass --help.

Supported Formats

Subtitle: SubRip, TTML and WebVTT

Video: MP4, WebM, Ogg, 3GP, FLV and MOV

Anatomy

Subtitles can be out of sync with their companion audiovisual media files for a variety of causes including latency introduced by Speech-To-Text on live streams or calibration and rectification involving human intervention during post-production.

A model has been trained with synchronised video and subtitle pairs and later used for predicating shifting offsets and directions under the guidance of a two-stage aligning approach.

First Stage (Global Alignment):

Second Stage (Parallelised Individual Alignment):

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subaligner-0.0.6.tar.gz (1.1 MB view hashes)

Uploaded Source

Built Distributions

subaligner-0.0.6-py3.8.egg (1.2 MB view hashes)

Uploaded Source

subaligner-0.0.6-py3.7.egg (1.2 MB view hashes)

Uploaded Source

subaligner-0.0.6-py3-none-any.whl (1.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page