Version 1.2.25 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.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.2 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.3 Version 1.2.23 - 2024-12-19 - Sacha Chua ──────────────────────────────────────────── • New menu. 1.4 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 subed-ffmpeg-executable, moved duration from subed-waveform to subed. • Bugfixes and minor improvements: • VTT bugfix: Require subtitle separator before NOTE so that cues can contain the string "Note" • Fix compiler warnings. • subed-word-data-load-from-file: offer directories during completion for easier navigation. • Added more notes to the README.org. 1.5 Version 1.2.20, 1.2.21 - 2024-11-17 - Sacha Chua ──────────────────────────────────────────────────── • subed-word-data.el: Bugfix, whoops. I should write tests for this someday… 1.6 Version 1.2.19 - 2024-11-16 - Sacha Chua ──────────────────────────────────────────── • subed-word-data.el: Enhancement: Show transcription confidence based on WhisperX JSON data. • subed-waveform.el: Bugfix: Handle files with invalid duration. 1.7 Version 1.2.18 - 2024-11-06 - Sacha Chua ──────────────────────────────────────────── • Bugfix: VTT: Ignore timestamp-like text at the start of subtitle cues. 1.8 Version 1.2.17 - 2024-10-17 - Sacha Chua ──────────────────────────────────────────── • subed-word-data: Load JSON data from WhisperX. • Merging should not include the current subtitle if the point is at the beginning of the subtitle. 1.9 Version 1.2.16 - 2024-10-06 - Sacha Chua ──────────────────────────────────────────── • subed-merge-with-next separates subtitles with spaces instead of newlines. If you prefer it the other way (keeping line breaks), let me know and we can make it an option. • subed-create-file regenerates IDs. 1.10 Version 1.2.15 - 2024-09-06 - Sacha Chua ───────────────────────────────────────────── • Bugfix: Handle extra attributes after VTT timestamps (for example, from YouTube VTTs). Thanks to Jeff Trull for reporting this! 1.11 Version 1.2.14 - 2024-07-05 - Sacha Chua ───────────────────────────────────────────── • Bugfix: subed-waveform should now handle the case where the stop time + subed-waveform-preview-msecs-after might extend past the end of the file. Thanks to rodrigomorales1 and rndusr for the bug reports and pull requests! 1.12 Version 1.2.13 - 2024-07-05 - Sacha Chua ───────────────────────────────────────────── • Bugfix: Fix the requires in subed-waveform to load subed-common. 1.13 Version 1.2.12 - 2024-07-05 - Sacha Chua ───────────────────────────────────────────── • Bugfix: Handle SRT cues that have lines that only contain numbers, as they were getting confused with cue IDs. 1.14 Version 1.2.11 - 2022-12-20 - Sacha Chua ───────────────────────────────────────────── • New commands `subed-shift-subtitles-to-start-at-timestamp' and `subed-move-subtitles-to-start-at-timestamp' should make it easier to adjust timestamps without doing msec math. • Add workflow notes to README.org. 1.15 Version 1.2.10 - 2023-12-20 - Sacha Chua ───────────────────────────────────────────── • Add extra line after comments in text output. • `subed-guess-format' can now take a filename. 1.16 Version 1.2.9 - 2023-12-19 - Sacha Chua ──────────────────────────────────────────── … …