Version 1.4.2 of package Subed has just been released in NonGNU ELPA. You can now find it in M-x list-packages RET.
Subed describes itself as: ================================== A major mode for editing subtitles ================================== More at https://elpa.nongnu.org/nongnu/subed.html ## Summary: Table of Contents ───────────────── subed .. Features .. Installation .. Getting started .. Some workflow ideas .. Troubleshooting .. Important change in v1.0.0 .. Testing .. Contributions .. License Build tips Other resources subed ═════ subed is an Emacs major mode for editing subtitles while playing the corresponding media file with [mpv]. At the moment, the only supported formats are: • SubRip ( `.srt') • WebVTT ( `.vtt' ) • Advanced SubStation Alpha ( `.ass', experimental ) • Tab-separated values ( `.tsv', experimental ) - as exported by Audacity for labels. TSVs are not recognized automatically because it's a common data format, but you can use `subed-tsv-mode' to turn it on in a buffer. <file:screenshot.jpg> <file:word-data-and-waveform.png> ## Recent NEWS: 1 subed news ════════════ 1.1 Version 1.4.2 - 2026-04-18 - Sacha Chua ─────────────────────────────────────────── • New commands: • `subed-vtt-insert-chapter-comments' takes chapter markers as a string and adds NOTE comments defining those chapters, which you can extract with `subed-section-comments-as-chapters' after you adjust them. • `subed-vtt-combine-separate-speaker-files' can combine VTT, such as when you transcribe different tracks of a conversation. • `subed-duplicate-subtitle' • `subed-mpv-jump-to-timestamp-or-current-subtitle' • `subed-vtt-insert-word-timestamp' • New hooks: • `subed-subtitle-split-hook'. • `subed-waveform-make-overlay-hook' • New functions: • `subed-subtitle-end-pos' • New autoloads: • `subed-word-data-fix-subtitle-timing' • `subed-word-data-compare-normalized-string-distance' • `[Speaker]:' tags are copied or deduplicated when splitting or merging subtitles. • subed-vtt: • Check for the end of the buffer. • Sanitize/validate to make sure there are separators. • subed-waveform: • `subed-waveform--mouse-event-to-ms' now takes an optional parameter for the X coordinate to convert. • Refresh waveforms after splitting. • `subed-waveform-jump-to-timestamp': Copy the timestamp for easier pasting. • New options `subed-waveform-image-width' and `subed-waveform-image-height' • subed-word-data: Include speaker diarization if available. • `subed-align-mfa-set-word-data' can now work on a region or sepcify beam size. • `subed-file-duration-ms': Cache based on filename to support multiple files. • Updated tests to work on Emacs 31. 1.2 Version 1.4.1 - 2026-02-16 - Sacha Chua ─────────────────────────────────────────── • You can now use Montreal Forced Aligner or Aeneas to generate word timestamps using `subed-align-mfa-set-word-data' or `subed-align-aeneas-set-word-data'. • subed-word-data now uses approximate matches by default. 1.3 Version 1.4.0 - 2026-02-10 - Sacha Chua ─────────────────────────────────────────── • subed-word-data.el can now load word timing from TextGrid files produced by the Montreal Forced Aligner. • New functions: `subed-word-data-add-word-timestamps', `subed-word-data-remove-word-timestamps' 1.4 Version 1.3.1 - 2026-01-03 - Sacha Chua ─────────────────────────────────────────── • `subed-convert' can convert from plain text files now. Each line is turned into a subtitle. • `subed-wdiff-subtitle-text-with-file' allows you to ignore a regxep when comparing. 1.5 Version 1.3.0 - 2026-01-03 - Sacha Chua ─────────────────────────────────────────── • subed no longer sorts subtitles by default on saving the file, since that was taking a long time. If you would like to sort subtitles, use `subed-sort'. 1.6 Version 1.2.25 - 2025-01-28 - Sacha Chua ──────────────────────────────────────────── • subed-vtt: Don't require blank lines before timestamps. Support multiple components in a cue. • Document YouTube workflow. 1.7 Version 1.2.24 - 2025-01-24 - Sacha Chua ──────────────────────────────────────────── • New command subed-section-comments-as-chapters. • subed-word-data.el: Load word data from Youtube VTT files. • Approximately match word data. • Move CPS overlay more often. • subed-sum-time can take a list of subtitles. • subed-vtt merges comments as well. 1.8 Version 1.2.23 - 2024-12-19 - Sacha Chua ──────────────────────────────────────────── • New menu. 1.9 Version 1.2.22 - 2024-12-19 - Sacha Chua ──────────────────────────────────────────── • New commands: • subed-sum-time displays the total time for the subtitles. Note that this is the sum of the duration of each subtitle, not the difference between the earliest start time and the latest end time. • subed-retime-subtitles: provide a transient map for setting subtitle times. • subed-align-region: use Aeneas to realign the text within the region using the start and end time in the region. • subed-word-data-fix-subtitle-timing: use WhisperX or SRV2 word data to adjust timing in the region or buffer. • subed-crop-subtitles, subed-crop-media-file • lots of new commands for controlling MPV, starting with the C-c C-f shortcut for subed-mpv-control which uses subed-mpv-control-map as the transient keymap. Use M-x describe-variable subed-mpv-control-map for details. • New hook: subed-region-adjusted-hook • Renamed subed-waveform-ffmpeg-executable to … …
