subaligner  by baxtree

CLI tool for subtitle synchronization, translation, and transcription

created 5 years ago
480 stars

Top 64.7% on sourcepulse

GitHubView on GitHub
Project Summary

Subaligner is a Python toolkit for synchronizing, translating, and transcribing subtitles for audiovisual content. It targets content creators, localization specialists, and researchers needing to align or generate subtitles, offering automated workflows to improve accessibility and multilingual support.

How It Works

Subaligner employs a dual-stage alignment process. The first stage performs a global shift estimation, while the second stage refines this by aligning individual subtitle segments in parallel. For transcription, it leverages models like Whisper, supporting various sizes and offering advanced prompting techniques for improved accuracy. Translation is handled by models such as Helsinki-NLP and M2M100.

Quick Start & Requirements

  • Installation: pip install subaligner (recommended within a virtual environment).
  • Core Dependency: FFmpeg.
  • Optional Dependencies: subaligner[llm] for translation/transcription, subaligner[stretch] for forced alignment.
  • Additional Requirements: eSpeak for [stretch] installations.
  • Container: Docker image baxtree/subaligner available.
  • Documentation: subaligner.readthedocs.io

Highlighted Details

  • Supports a wide array of subtitle (SRT, TTML, VTT, etc.) and media formats.
  • Offers both single-stage (faster, lower accuracy) and dual-stage (slower, higher accuracy) alignment.
  • Enables subtitle generation via transcription using various Whisper model sizes.
  • Supports translation between multiple languages using different transformer models.
  • Includes batch processing capabilities and a Docker image for containerized use.

Maintenance & Community

The project acknowledges contributions from packages like librosa, tensorflow, scikit-learn, transformers, and openai-whisper. Further community interaction details are not explicitly provided in the README.

Licensing & Compatibility

The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The installation of optional features ([stretch], [dev], [harmony]) requires setuptools<65.0.0, which may conflict with other project dependencies. The README does not detail specific performance benchmarks or limitations regarding supported hardware (e.g., GPU requirements for transcription models).

Health Check
Last commit

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
15 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.