Try Live
Add Docs
Rankings
Pricing
Enterprise
Docs
Install
Install
Docs
Pricing
Enterprise
More...
More...
Try Live
Rankings
Add Docs
Subtitle Edit
https://github.com/subtitleedit/subtitleedit
Admin
Subtitle Edit is a free, open-source editor for creating, editing, and converting video subtitles in
...
Tokens:
46,977
Snippets:
478
Trust Score:
7
Update:
2 months ago
Context
Skills
Chat
Benchmark
52.7
Suggestions
Latest
Show doc for...
Code
Info
Show Results
Context Summary (auto-generated)
Raw
Copy
Link
# Subtitle Edit Subtitle Edit is a free, open-source editor for video subtitles that runs on Windows, Linux, and macOS. It allows users to create, edit, adjust, synchronize, and convert subtitles in over 300 formats including SubRip (SRT), WebVTT, Advanced SubStation Alpha (ASS/SSA), and many more. The application provides a comprehensive suite of tools for subtitle professionals and enthusiasts alike. The software features powerful capabilities including automatic speech-to-text transcription using Whisper engines, text-to-speech generation, automatic translation via multiple AI services, OCR for image-based subtitles (Blu-ray, DVD), spell checking, and the ability to burn subtitles directly into video files using FFmpeg. Subtitle Edit includes a visual waveform editor for precise timing adjustments, shot change detection, and extensive ASSA styling support with animations, positioning, and drawing capabilities. ## SubRip (SRT) Format SubRip is the most widely used subtitle format, known for its simplicity and broad compatibility across video players and editors. The format consists of sequential numbered blocks, each containing a sequence number, timecodes (start and end times separated by ` --> `), and the subtitle text. Timecodes use the format `HH:MM:SS,mmm` where hours, minutes, and seconds are zero-padded, and milliseconds use exactly 3 digits. A comma is used as the decimal separator. ```srt 1 00:00:01,000 --> 00:00:03,000 Hello, World! 2 00:00:03,080 --> 00:00:05,080 This is a simple subtitle. 3 00:00:05,160 --> 00:00:07,160 It supports multiple lines of text. 4 00:00:07,240 --> 00:00:09,240 <i>Italic text</i> 5 00:00:09,320 --> 00:00:11,320 <b>Bold text</b> 6 00:00:11,400 --> 00:00:13,400 <u>Underlined text</u> 7 00:00:13,480 --> 00:00:15,480 <font color="#ff0000">Red text</font> 8 00:00:15,560 --> 00:00:17,560 {\an8}Top-aligned text (ASSA tag) 9 00:00:17,640 --> 00:00:19,640 {\pos(640,360)}Positioned text (ASSA tag) 10 00:00:19,720 --> 00:00:21,720 <b><i>Bold and italic combined</i></b> ``` ## WebVTT Format WebVTT (Web Video Text Tracks) is the W3C standard subtitle format for HTML5 video, offering CSS-based styling and precise positioning controls. Every WebVTT file must begin with the mandatory `WEBVTT` signature. Unlike SRT, WebVTT uses a period (`.`) as the decimal separator for milliseconds, and hours can be omitted if less than one hour. The format supports cue settings for positioning, CSS styling blocks, regions for multi-speaker layouts, and voice tags for speaker identification. ```vtt WEBVTT - Example subtitle file NOTE This is a comment block in WebVTT. Created with Subtitle Edit. STYLE ::cue { background-color: rgba(0, 0, 0, 0.8); color: white; font-family: Arial, sans-serif; } ::cue(.yellow) { color: yellow; } ::cue(v[voice="John"]) { color: cyan; } REGION id:left width:40% regionanchor:0%,100% viewportanchor:10%,90% intro 00:00:01.000 --> 00:00:03.000 position:50% align:center <c.yellow><b>Welcome to WebVTT</b></c> narrator 00:00:03.500 --> 00:00:06.500 <i>Narrator speaking...</i> dialog-1 00:00:07.000 --> 00:00:09.000 region:left <v John>Hello, I'm on the left side. dialog-2 00:00:09.000 --> 00:00:11.000 line:10% position:50% Top-positioned subtitle caption-1 00:00:12.000 --> 00:00:15.000 <b>Bold</b>, <i>italic</i>, and <u>underline</u> formatting ``` ## Advanced SubStation Alpha (ASSA) Format ASSA is a powerful subtitle format supporting extensive styling, animations, layers, and drawing capabilities, commonly used in anime fansubbing. The format uses sections including `[Script Info]` for metadata, `[V4+ Styles]` for style definitions, and `[Events]` for subtitle lines. Colors use BGR format (Blue-Green-Red, not RGB) with inverted alpha values where `00` is opaque and `FF` is transparent. Timecodes use centiseconds with the format `H:MM:SS.cc`. ```ass [Script Info] ; This is an Advanced Sub Station Alpha v4+ script. Title: Example Subtitle ScriptType: v4.00+ PlayResX: 1920 PlayResY: 1080 ScaledBorderAndShadow: Yes WrapStyle: 0 [V4+ Styles] Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding Style: Default,Arial,48,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,1,2,10,10,10,1 Style: Title,Arial,72,&H00FFFFFF,&H0000FFFF,&H000000FF,&H00000000,-1,0,0,0,100,100,0,0,1,3,0,8,10,10,10,1 Style: Signs,Arial,36,&H0000FFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,3,0,0,5,10,10,10,1 [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.00,0:00:03.00,Default,,0,0,0,,Normal text with default style. Dialogue: 0,0:00:03.08,0:00:05.08,Default,,0,0,0,,Two lines\Nof text. Dialogue: 0,0:00:05.16,0:00:07.16,Default,,0,0,0,,{\i1}Italic text{\i0} Dialogue: 0,0:00:07.24,0:00:09.24,Default,,0,0,0,,{\b1}Bold text{\b0} Dialogue: 0,0:00:09.32,0:00:11.32,Default,,0,0,0,,{\c&H0000FF&}Red text (BGR format) Dialogue: 0,0:00:11.40,0:00:13.40,Default,,0,0,0,,{\an8}Top-aligned text Dialogue: 0,0:00:13.48,0:00:15.48,Default,,0,0,0,,{\pos(960,540)}Centered position Dialogue: 0,0:00:15.56,0:00:17.56,Default,,0,0,0,,{\fad(500,500)}Fade in and out Dialogue: 1,0:00:10.00,0:00:20.00,Signs,,0,0,0,,{\pos(960,200)}On-screen sign (layer 1) Dialogue: 0,0:00:17.64,0:00:21.64,Default,,0,0,0,,{\t(\frz360)}Rotating animation Comment: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,This line is commented out ``` ## ASSA Override Tags Override tags modify subtitle appearance inline and are enclosed in curly braces `{}`. They support text styling, colors, positioning, rotation, animation, and drawing. Tags use the syntax `{\tag}` or `{\tag1\tag2}` for multiple effects. Color tags use BGR format (`\c&H<BB><GG><RR>&`), and alpha values are inverted (`00`=opaque, `FF`=transparent). Position coordinates are based on `PlayResX` and `PlayResY` values defined in Script Info. ```ass ; Text styling {\b1}Bold{\b0} normal {\i1}Italic{\i0} normal {\u1}Underline{\u0} normal {\s1}Strikeout{\s0} normal {\fn Arial}Font name change {\fs30}Font size 30 {\fscx200}Double width text {\fscy200}Double height text {\fsp5}5 pixel letter spacing ; Colors (BGR format, not RGB!) {\c&H0000FF&}Red text (BGR: Blue=00, Green=00, Red=FF) {\c&HFF0000&}Blue text {\c&H00FF00&}Green text {\1c&HFFFFFF&}Primary color white {\3c&H000000&\bord3}Black outline with 3px border {\4c&H000000&\shad2}Black shadow with 2px depth ; Alpha/Transparency (00=opaque, FF=invisible) {\alpha&H80&}50% transparent all {\1a&H00&}Primary fully visible {\3a&HCC&}Border 80% transparent ; Border and shadow {\bord3}3 pixel border {\bord0}No border {\shad2}2 pixel shadow {\xbord5}Horizontal border only {\yshad3}Vertical shadow only {\be2}Blur edges ; Positioning (numpad-style alignment) {\an1}Bottom-left {\an2}Bottom-center {\an3}Bottom-right {\an4}Middle-left {\an5}Middle-center {\an6}Middle-right {\an7}Top-left {\an8}Top-center {\an9}Top-right {\pos(960,540)}Absolute position at 960,540 {\move(100,100,1820,980)}Move from top-left to bottom-right ; Rotation (degrees) {\frz45}Z-axis 45 degree rotation {\frx30}X-axis 3D rotation {\fry30}Y-axis 3D rotation ; Animation {\fad(500,500)}Fade in 500ms, fade out 500ms {\fade(0,255,0,1000,1200,1300,1500)}Complex fade animation {\t(\frz360)}Rotate 360 degrees over duration {\t(0,2000,\fscx200\fscy200)}Scale up in first 2 seconds {\t(0,1000,0.5,\c&H0000FF&)}Color change with acceleration ; Clipping {\clip(0,0,960,540)}Show only in top-left quadrant {\iclip(0,0,960,540)}Hide in top-left quadrant ; Karaoke (centiseconds) {\k100}Ka{\k100}ra{\k100}o{\k100}ke ; Drawing mode {\p1}m 0 0 l 100 0 100 100 0 100{\p0} ; Reset style {\r}Reset to default style {\rTitle}Reset to Title style ``` ## Command Line Converter (seconv) The `seconv` command-line tool converts subtitle files between formats without opening the graphical interface. Basic syntax is `seconv <input-file> <output-format> [options]`. The tool supports all 300+ formats available in Subtitle Edit and automatically detects input format. Wildcards can be used for batch conversion of multiple files. ```bash # Convert a single SRT file to ASS seconv input.srt AdvancedSubStationAlpha # Convert SRT to WebVTT seconv movie.srt WebVTT # Batch convert all SRT files in current directory to VTT seconv *.srt WebVTT # Convert to specific formats seconv subtitles.srt SubRip # .srt seconv subtitles.ass SubStationAlpha # .ssa seconv subtitles.srt MicroDvd # .sub seconv subtitles.srt TimedText10 # .ttml # Run without arguments to see all available formats and options seconv ``` ## Speech to Text (Whisper) Subtitle Edit can automatically transcribe audio to text using Whisper-based speech recognition engines including Whisper.cpp, Purfview's Faster Whisper XXL, and OpenAI Whisper. The feature supports multiple engines optimized for different hardware (CPU-only, NVIDIA CUDA, Vulkan, DirectX). Models range from `tiny` (fastest) to `large-v3` (most accurate). Post-processing options include timing adjustment, casing fixes, and line merging. ``` Supported Engines: ┌──────────────────────────────┬─────────────────┬────────────────┐ │ Engine │ Platform │ GPU Support │ ├──────────────────────────────┼─────────────────┼────────────────┤ │ Whisper.cpp │ Win/Linux/macOS │ CPU only │ │ Whisper.cpp (cuBLAS) │ Windows │ NVIDIA CUDA │ │ Whisper.cpp (Vulkan) │ Windows │ Vulkan GPU │ │ Purfview's Faster Whisper XXL│ Windows/Linux │ NVIDIA CUDA │ │ Whisper CTranslate2 │ All platforms │ CPU only │ │ Const-me's Whisper │ Windows │ DirectX │ │ OpenAI Whisper │ All (Python) │ NVIDIA CUDA │ └──────────────────────────────┴─────────────────┴────────────────┘ Model Sizes (accuracy vs speed): - tiny → Fastest, least accurate (~75 MB) - base → Good balance (~145 MB) - small → Better accuracy (~465 MB) - medium → High accuracy (~1.5 GB) - large → Best accuracy (~3 GB) - large-v2/v3 → Latest improvements Usage Steps: 1. Open video file in Subtitle Edit 2. Menu: Video → Speech to text (Whisper)... 3. Select Engine (e.g., "Purfview's Faster Whisper XXL") 4. Select Model (e.g., "large-v3") 5. Select Language (e.g., "English" or "Auto-detect") 6. Enable "Translate to English" for non-English audio (optional) 7. Enable "Post-processing" for automatic fixes (optional) 8. Click "Transcribe" Batch Mode: 1. Click "Batch mode" button 2. Add multiple video files 3. Click "Transcribe" 4. Results saved as .srt files alongside videos ``` ## Auto Translate Automatically translate subtitles using various cloud and local AI translation services. Supported engines include Google Translate, DeepL, Microsoft Translator, OpenAI ChatGPT, Anthropic Claude, Ollama (local LLM), and more. Cloud services require API keys, while local options like Ollama run entirely offline. ``` Supported Translation Engines: ┌─────────────────────────┬──────────────────────────────────────┐ │ Engine │ Requirements │ ├─────────────────────────┼──────────────────────────────────────┤ │ Google Translate (V1) │ Free, no API key needed │ │ Google Translate (V2) │ API key (Google Cloud) │ │ Microsoft Translator │ API key (Azure Cognitive Services) │ │ DeepL │ API key │ │ Libre Translate │ Self-hosted or public instance │ │ MyMemory │ Free translation memory │ │ Ollama │ Local installation (offline LLM) │ │ Anthropic Claude │ API key │ │ OpenAI ChatGPT │ API key │ │ Groq │ API key │ │ LM Studio │ Local installation │ └─────────────────────────┴──────────────────────────────────────┘ Usage Steps: 1. Open subtitle file in Subtitle Edit 2. Menu: Auto translate → Auto translate... 3. Select translation engine 4. Enter API key if required 5. Select source language (or auto-detect) 6. Select target language 7. Click "Translate" 8. Review translations in grid 9. Click "OK" to apply For Ollama (local, offline): 1. Install Ollama: https://ollama.ai 2. Pull a model: ollama pull llama2 3. Select "Ollama" as engine in Subtitle Edit 4. Configure API URL: http://localhost:11434 5. Select model and translate ``` ## OCR (Optical Character Recognition) Convert image-based subtitle formats (Blu-ray SUP, VobSub, DVD) to editable text using various OCR engines. Supported image formats include Blu-ray SUP (.sup), VobSub (.sub/.idx), BDN XML, DVD subtitles, and embedded image subtitles in MKV/MP4 containers. OCR engines include Tesseract, nOCR (trainable), Binary OCR, Google Vision, and Ollama. ``` Supported Image Formats: - Blu-ray SUP (.sup) - VobSub (.sub/.idx) - DVD subtitles - BDN XML - Transport stream (DVB) subtitles - Matroska embedded (PGS, VobSub, DVB) - MP4 embedded VobSub - WebVTT with embedded images OCR Engines: ┌────────────────────┬────────────────────────────────────────────┐ │ Engine │ Description │ ├────────────────────┼────────────────────────────────────────────┤ │ Tesseract │ Open-source OCR, downloadable lang packs │ │ nOCR (Nikse OCR) │ Trainable, best for consistent fonts │ │ Binary OCR │ Fast image comparison database │ │ Google Lens OCR │ Cloud-based (internet required) │ │ Google Vision OCR │ Cloud API (requires API key) │ │ Ollama OCR │ Local LLM-based │ │ Mistral OCR │ Cloud API │ │ PaddleOCR │ Local engine (download required) │ └────────────────────┴────────────────────────────────────────────┘ Usage Steps: 1. Menu: File → Import image subtitle for edit (OCR)... 2. Select image-based subtitle file (.sup, .sub, etc.) 3. OCR window opens automatically 4. Select OCR engine 5. Configure engine settings 6. Click "Start OCR" 7. Review and correct errors in grid 8. Click "OK" to import text subtitles Pre-processing Options: - Crop margins - Binarize (convert to black/white) - Invert colors - Resize images ``` ## OCR Fix Replacement Lists Language-specific XML files automatically correct common OCR errors. Located in the `Dictionaries` folder with naming pattern `{language}_OCRFixReplaceList.xml`. The XML structure contains sections for whole word replacements, partial word fixes, whole line corrections, partial line fixes, and regex-based corrections with spell checking. Custom rules can be added to improve OCR accuracy for specific fonts or content. ```xml <?xml version="1.0" encoding="utf-8"?> <OCRFixReplaceList> <!-- Whole word replacements (most common) --> <WholeWords> <Word from="tñere" to="there" /> <Word from="ri9ht" to="right" /> <Word from="0f" to="of" /> <Word from="l'm" to="I'm" /> <Word from="lt's" to="It's" /> <Word from="vvhat" to="what" /> </WholeWords> <!-- Partial word replacements (always applied) --> <PartialWordsAlways> <WordPart from="¤" to="o" /> <WordPart from="lVI" to="M" /> <WordPart from="IVl" to="M" /> <WordPart from="rn" to="m" /> </PartialWordsAlways> <!-- Whole line replacements --> <WholeLines> <Line from="[chitte rs]" to="[chitters]" /> <Line from="ISIGHS]" to="[SIGHS]" /> <Line from="Hil' it!" to="Hit it!" /> </WholeLines> <!-- Partial line replacements (always applied) --> <PartialLinesAlways> <LinePart from=",.," to="..." /> <LinePart from=" lt " to=" it " /> <LinePart from=" lf " to=" if " /> <LinePart from="Apollo 1 3" to="Apollo 13" /> </PartialLinesAlways> <!-- Regex with spell check validation --> <RegularExpressionsIfSpelledCorrectly> <!-- Fix lowercase 'l' to 'I' if result is valid word --> <RegEx find="\bl([A-Z]+)\b" spellCheck="I$1" replaceWith="I$1" /> <RegEx find="\b([A-Z]+)l\b" spellCheck="$1I" replaceWith="$1I" /> <!-- Fix possessive forms --> <RegEx find="\b([A-Z][a-z]+)['']s\b" spellCheck="$1" replaceWith="$1's" /> <!-- Fix missing spaces --> <RegEx find="\bof([A-Z][a-z]+)\b" spellCheck="$1" replaceWith="of $1" /> <!-- Fix 'l' in brackets: [GRlNDlNG] → [GRINDING] --> <RegEx find="\[([A-Z ]*)l([A-Z ]*)\]" spellCheck="[$1I$2]" replaceWith="[$1I$2]" /> </RegularExpressionsIfSpelledCorrectly> </OCRFixReplaceList> ``` ## Burn-In Subtitles Permanently hardcode subtitles into video files using FFmpeg, creating a single video file with embedded subtitles. Configure font settings (name, size, colors, outline, shadow), video encoding (codec, preset, CRF), and audio settings. Supports batch processing for multiple video/subtitle pairs. ``` Video Encoding Options: ┌─────────────────┬───────────────────────────────────────────┐ │ Setting │ Options │ ├─────────────────┼───────────────────────────────────────────┤ │ Video Codec │ H.264, H.265/HEVC, VP9, AV1 │ │ Preset │ ultrafast, fast, medium, slow, veryslow │ │ CRF (Quality) │ 0 (lossless) - 51 (worst), default: 23 │ │ Pixel Format │ yuv420p, yuv444p, rgb24 │ │ Resolution │ Keep original, 1920x1080, 1280x720, etc. │ └─────────────────┴───────────────────────────────────────────┘ Font Settings: ┌─────────────────┬───────────────────────────────────────────┐ │ Setting │ Description │ ├─────────────────┼───────────────────────────────────────────┤ │ Font name │ Arial, Roboto, etc. │ │ Font factor │ Scale relative to video resolution │ │ Bold │ Enable bold weight │ │ Outline │ Border thickness and color │ │ Shadow │ Shadow depth and color │ │ Box type │ None, opaque box, outline only │ │ Alignment │ Bottom-center, top, left, right │ │ Margins │ Horizontal and vertical offsets │ └─────────────────┴───────────────────────────────────────────┘ Usage Steps: 1. Open subtitle file in Subtitle Edit 2. Open video file: Video → Open video file... 3. Menu: Video → Burn-in subtitles... 4. Configure font settings 5. Configure video encoding 6. Select output folder 7. Click "Generate" Batch Mode: - Add multiple video/subtitle pairs to queue - Process all files sequentially ``` ## Text to Speech Generate speech audio from subtitle text using various TTS (Text-to-Speech) engines, supporting both cloud services and local options. Supported engines include Piper (local, open-source), ElevenLabs (cloud, high-quality), Azure Cognitive Services, Google Cloud TTS, and AllTalk (local server). Can generate standalone audio or create video files with generated speech. ``` Supported TTS Engines: ┌─────────────────────────┬────────────────────────────────────┐ │ Engine │ Requirements │ ├─────────────────────────┼────────────────────────────────────┤ │ Piper │ Local, open-source, free │ │ AllTalk │ Local TTS server │ │ ElevenLabs │ API key (cloud, high quality) │ │ Azure Cognitive Services│ API key + region │ │ Google Cloud TTS │ Service account key file │ │ Murf.ai │ API key │ └─────────────────────────┴────────────────────────────────────┘ Usage Steps: 1. Open subtitle file in Subtitle Edit 2. Menu: Video → Text to speech... 3. Select TTS engine 4. Configure API key/credentials if required 5. Select language and voice 6. Enable "Review audio clips" to preview each clip (optional) 7. Enable "Generate video file" to create video output (optional) 8. Click "Generate" Piper (Local, Free): - Open-source neural TTS - No internet required - Multiple voices per language - Fast generation speed ``` ## Batch Convert Convert multiple subtitle files between formats and apply transformations in bulk. Add files via drag-and-drop or file browser, select output format from 300+ options, chain multiple conversion functions (fix errors, translate, adjust timing), and process all files at once. ``` Available Conversion Functions: ┌──────────────────────────────────┬───────────────────────────────┐ │ Function │ Description │ ├──────────────────────────────────┼───────────────────────────────┤ │ Fix common errors │ Auto-fix common issues │ │ Remove text for hearing impaired │ Strip HI annotations │ │ Multiple replace │ Bulk find/replace │ │ Change casing │ Fix capitalization │ │ Change formatting │ Add/remove formatting tags │ │ Offset time codes │ Shift all timings │ │ Adjust duration │ Modify display durations │ │ Change speed/frame rate │ Convert between framerates │ │ Bridge gaps │ Fill gaps between subtitles │ │ Apply minimum gap │ Ensure minimum spacing │ │ Merge lines with same text │ Combine duplicate text │ │ Merge lines with same time codes │ Combine same-time lines │ │ Split/break long lines │ Break lines exceeding limit │ │ Auto translate │ Translate to another language │ │ Delete lines │ Remove matching lines │ └──────────────────────────────────┴───────────────────────────────┘ Usage Steps: 1. Menu: Tools → Batch convert... 2. Add subtitle files (drag/drop or Add button) 3. Select output format (e.g., WebVTT) 4. Add conversion functions as needed 5. Choose output folder 6. Set encoding (UTF-8 recommended) 7. Click "Convert" Output Format Examples: - SubRip (.srt) - WebVTT (.vtt) - AdvancedSubStationAlpha (.ass) - TimedText10 (.ttml) - MicroDvd (.sub) - And 300+ more formats... ``` ## Fix Common Errors Automatically detect and fix common subtitle errors with customizable rule profiles. Rules include removing empty lines, fixing overlapping times, correcting invalid tags, fixing missing periods, removing double spaces, merging short lines, and many more. Save rule configurations as profiles for different workflows. ``` Common Fix Rules: ┌─────────────────────────────────────┬─────────────────────────────┐ │ Rule │ Description │ ├─────────────────────────────────────┼─────────────────────────────┤ │ Remove empty lines │ Delete lines with no text │ │ Remove lines with only period │ Delete "." only lines │ │ Fix overlapping display times │ Adjust conflicting times │ │ Fix short display times │ Extend too-brief subtitles │ │ Fix long display times │ Shorten excessive durations │ │ Fix invalid italic tags │ Correct malformed <i> tags │ │ Fix unbalanced bold/italic tags │ Close unclosed tags │ │ Fix missing periods at end │ Add ending punctuation │ │ Fix missing spaces │ Add spaces after punctuation│ │ Fix double spaces │ Remove extra spaces │ │ Merge short lines │ Combine brief consecutive │ │ Fix music symbols │ Standardize ♪ notation │ │ Fix ellipsis notation │ Convert ... to proper form │ │ Remove blank lines between subs │ Clean up formatting │ └─────────────────────────────────────┴─────────────────────────────┘ Usage Steps: 1. Menu: Tools → Fix common errors... 2. Select language for language-specific rules 3. Check/uncheck desired rules 4. Click "Next" to see proposed fixes 5. Review each fix individually 6. Check/uncheck specific fixes 7. Click "Apply selected fixes" Profiles: - Save current rule selections as named profile - Load profiles for different workflows - Separate profiles for broadcast, streaming, fansubbing ``` ## Visual Sync Synchronize subtitles to video by setting two reference points for linear timing adjustment. Navigate to where the first subtitle should appear in the video, set the first sync point, then navigate to the last subtitle position and set the second sync point. All subtitle timings are linearly interpolated between these points. ``` Usage Steps: 1. Open subtitle file and video in Subtitle Edit 2. Menu: Sync → Visual sync... 3. Play video to find where first subtitle should appear 4. Click "Set sync point 1" 5. Play video to find where last subtitle should appear 6. Click "Set sync point 2" 7. Click "OK" to apply synchronization How it works: - All subtitles are linearly adjusted between the two sync points - Earlier subtitles shift based on point 1 offset - Later subtitles shift based on point 2 offset - Middle subtitles are interpolated proportionally Alternative Sync Methods: - Adjust All Times: Fixed offset shift (Menu: Sync → Adjust all times...) - Point Sync: Multiple reference points (Menu: Sync → Point sync...) - Change Frame Rate: Convert between framerates - Change Speed: Adjust playback speed percentage ``` ## Adjust All Times Shift all subtitle timings by a fixed offset, with options to apply to selected lines or time ranges. Specify positive offset to shift subtitles later or negative offset to shift earlier. Apply to all lines, selected lines only, or lines within a specific time range. Optionally adjust only start times, only end times, or both. ``` Options: ┌─────────────────┬────────────────────────────────────────────┐ │ Setting │ Description │ ├─────────────────┼────────────────────────────────────────────┤ │ Time offset │ Amount to shift (+ = later, - = earlier) │ │ Apply to │ All lines / Selected lines / Time range │ │ Adjust │ Both start and end / Start only / End only │ └─────────────────┴────────────────────────────────────────────┘ Usage: 1. Menu: Sync → Adjust all times... 2. Enter time offset (e.g., +2.500 for 2.5 seconds later) 3. Select lines to apply to 4. Click "OK" Examples: - Subtitles 2 seconds early: Offset = +00:00:02,000 - Subtitles 500ms late: Offset = -00:00:00,500 - Sync only from 10 minutes: Apply to "From time: 00:10:00,000" ``` ## ASSA Styles Manager Manage Advanced SubStation Alpha (ASS/SSA) subtitle styles with live preview, supporting both file styles and reusable storage templates. Configure font properties, colors (primary, secondary, outline, shadow), border style and width, shadow depth, alignment, and margins. Copy styles between files and maintain a library of reusable templates. ``` Style Properties: ┌──────────────────┬─────────────────────────────────────────────┐ │ Property │ Options │ ├──────────────────┼─────────────────────────────────────────────┤ │ Font │ Name, size, bold, italic, underline, strike │ │ Primary Color │ Main text color (BGR + alpha) │ │ Secondary Color │ Karaoke sweep color │ │ Outline Color │ Border color │ │ Back Color │ Shadow color │ │ Border Style │ Outline + shadow / Opaque box │ │ Outline Width │ Border thickness (pixels) │ │ Shadow Depth │ Shadow offset (pixels) │ │ Alignment │ 9-position grid (numpad style) │ │ Margins │ Left, right, vertical (pixels) │ │ Scale │ Horizontal and vertical scaling (%) │ │ Spacing │ Letter spacing (pixels) │ │ Angle │ Rotation angle (degrees) │ └──────────────────┴─────────────────────────────────────────────┘ Usage: 1. Menu: ASSA → Styles... 2. File Styles panel: Styles in current subtitle 3. Storage Styles panel: Reusable template library 4. Select style to edit properties 5. Preview updates in real-time 6. Click "OK" to apply changes Operations: - Add new style - Copy style (file ↔ storage) - Remove style - Rename style - Import styles from other files - Set default style for new subtitles ``` ## Keyboard Shortcuts Reference Comprehensive keyboard shortcuts for efficient subtitle editing. All shortcuts can be customized in Options → Shortcuts. Default shortcuts cover file operations, subtitle grid navigation, video playback, audio visualizer, and text editing. Shortcuts work context-sensitively based on focused window area. ``` General Shortcuts: ┌─────────────────────┬──────────────────────────────┐ │ Shortcut │ Action │ ├─────────────────────┼──────────────────────────────┤ │ Ctrl+N │ New subtitle │ │ Ctrl+O │ Open subtitle file │ │ Ctrl+S │ Save subtitle │ │ Ctrl+Shift+S │ Save subtitle as │ │ Ctrl+Z │ Undo │ │ Ctrl+Y │ Redo │ │ Ctrl+F │ Find │ │ Ctrl+H │ Find and replace │ │ Ctrl+G │ Go to line number │ │ F1 │ Show help │ │ Escape │ Close current dialog │ └─────────────────────┴──────────────────────────────┘ Subtitle Grid: ┌─────────────────────┬──────────────────────────────┐ │ Insert │ Insert new line after │ │ Delete │ Delete selected line(s) │ │ Ctrl+Shift+Up │ Move selected line up │ │ Ctrl+Shift+Down │ Move selected line down │ │ Ctrl+A │ Select all lines │ └─────────────────────┴──────────────────────────────┘ Video Playback: ┌─────────────────────┬──────────────────────────────┐ │ Space │ Play/Pause (video focused) │ │ Ctrl+P │ Play/Pause │ │ Ctrl+Space │ Play/Pause │ │ Alt+Left │ Skip back (small) │ │ Alt+Right │ Skip forward (small) │ └─────────────────────┴──────────────────────────────┘ Audio Visualizer: ┌─────────────────────┬──────────────────────────────┐ │ Ctrl+Scroll │ Zoom in/out │ │ Shift+Scroll │ Scroll waveform horizontally │ │ Scroll │ Scroll waveform vertically │ └─────────────────────┴──────────────────────────────┘ Text Editing: ┌─────────────────────┬──────────────────────────────┐ │ Ctrl+B │ Toggle bold │ │ Ctrl+I │ Toggle italic │ │ Ctrl+U │ Toggle underline │ └─────────────────────┴──────────────────────────────┘ ``` ## Summary Subtitle Edit serves a wide range of use cases from casual subtitle creation to professional localization workflows. Casual users can quickly create SRT subtitles, sync them to video using the visual waveform editor, and apply automatic fixes for common errors. Professional subtitlers benefit from batch conversion across 300+ formats, automatic speech-to-text transcription for initial drafts, OCR for image-based subtitle conversion, and integration with translation services for localization projects. The ASSA styling capabilities support complex anime fansubbing with animations, positioning, and karaoke effects. Integration with Subtitle Edit is straightforward through multiple interfaces. The graphical application provides menu-driven access to all features with extensive keyboard shortcuts for efficiency. The `seconv` command-line tool enables scripted batch processing and integration into automated pipelines. File format support is comprehensive, allowing seamless interchange with video editors (Premiere Pro, DaVinci Resolve, Final Cut Pro), streaming platforms (YouTube, Netflix), and broadcast systems. External dependencies like FFmpeg (for video processing), mpv (for playback), and Whisper engines (for speech-to-text) can be configured to extend functionality while maintaining the core editing capabilities without internet connectivity.