Remix.run Logo
▲ CodesInChaos 3 hours ago

Slightly off-topic, but can anybody recommend a local model/tool that fixes timestamps of existing srt subtitles? That should be easier than generating them from scratch.

When I last looked for this a few years ago, I only found a really primitive one that did a linear transformation of all timestamps in the video, and none to correct each line individually.

edit: Claude recommended alass. Any experiences with that one, or better options?

▲mongrelion 7 minutes ago | parent | next [-]

https://www.bazarr.media/ is what most people use when running the *arr stack

▲zigzag312 2 hours ago | parent | prev | next [-]

https://github.com/sc0ty/subsync

It can sync from audio in the video or from another srt. Target srt can be in different language than reference.

EDIT: Two forks, but I haven't tried them as I'm still using the original as it still works well even though it has been archived.

https://github.com/Sefzz15/subsync/releases

https://github.com/blaaaakuu/subsync/releases

▲ComputerGuru 3 hours ago | parent | prev | next [-]

> When I last looked for this a few years ago, I only found a really primitive one that did a linear transformation of all timestamps in the video, and none to correct each line individually.

Not an answer to your current query, but my first published rust crate shortly after the language hit 1.0 was a tool to both calculate and correct linear drift, long before the era of LLMs or quality audio recognition. It might be fun to tackle this again with the new tech we now have at hand!

Srt-resync: https://github.com/mqudsi/srtresync

▲joshstrange 3 hours ago | parent | prev | next [-]

I don't plan to release it as it part of an overall "media health" tool I built but you should be able to vibe this pretty easily. I have mine using Whisper to check episodes at intervals throughout to compare against this subtitles and then shift them as needed.

One thing to watch for, make sure it never tries to 2 subtitles at the same time or they will stack in a weird way. It's easy to avoid that but my first pass on a few episodes screwed up the subtitles.

Also, you almost certainly want to extract the subtitles for this work, or at least that's what I did. A combo of pulling out the subtitles in the video file and using OpenSubtitles (VIP) to clean up my media.

▲properbrew 3 hours ago | parent | prev | next [-]

I whipped something up for a friend a few months ago, it's not just fixing timestamps like you've asked, it's processing the whole audio but it does a good job (uses parakeet) and is quite quick.

Download links and a bit of write up here - https://news.ycombinator.com/item?id=48528779#48535207

Honestly you can probably build your own quite easily. I put together a plex player for firetv that does on device subtitling for whatever you're watching. I got sick of having to find subtitles.

▲shellwizard 2 hours ago | parent | prev | next [-]

It works really well and it's just a single static binary file (ffmpeg is needed on your $PATH), easier to use than ffsubsync which needs gcc to compile random stuff, and that stopped working randomly

▲sras-me 3 hours ago | parent | prev [-]

Something I made a long time back for myself. https://sras.me/subfixer