Skip to content

Feature Request: Subtitle Post-Processing Module with Professional Formatting Rules #1

@erklu

Description

@erklu

Description

Automatically format subtitles based on professional standards.
The goal is to produce readable and well-structured subtitles following subtitle guidelines such as those from SVT and Medietextarna, including:
• Max 42 characters per line for better readability (we may need to review this for web video; a shorter limit could be more appropriate).
• Maximum two lines per subtitle block.
• Optimized words per minute (WPM) for reading comfort (~160–180 WPM).
• Timestamps aligned with speech for natural flow.
• Export primarily to .srt (optionally also .vtt or other formats).

Expected Behavior
• Subtitles are divided into blocks based on sentence structure and natural pauses.
• Line length and word count are adapted for optimal readability.
• Display time is adjusted so viewers have enough time to read.
• Speaker changes are clearly marked if multiple people are talking. Ideally, a new speaker starts a new block.
• Exceptions may apply for quick exchanges (e.g., short yes/no answers), where breaking the block could disrupt reading speed.
• Speaker IDs could be optional but not default.
• Noise or incomplete speech is filtered out (e.g., no subtitles for silence or irrelevant sounds).

Technical Guidelines

Text segmentation into subtitle blocks
• Max 42 characters per line, 2 lines per block.
• Avoid line breaks in the middle of names or fixed expressions.
• Avoid mixing multiple speakers in the same block, unless readability or timing would suffer.

Timing based on reading speed
• Default reading speed: 160–180 words per minute.
• Minimum display time: 1.5 seconds, to avoid flickering subtitles.

Audio-sync and natural timing
• Subtitle should ideally appear 0.5 seconds before speech and remain at least 1 second after the final word.
• If possible, adjust timestamps for natural rhythm in relation to spoken tempo.

Export in professional formats
• Primary export to .srt.
• Support for .vtt or possibly .json if needed for further processing.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions