Technology1 min read

Show HN: Overtone – Transcribe, correct and cut captions for any screen shape

By · Published by Everything Blog

In short

The system generates tailored subtitles for aspect ratios like 16:9 and 9:16 directly from audio, video, or pre-existing SRT and WebVTT files. To balance visual pacing, it enforces custom formatting rules that preserve names, avoid ending lines on weak words, and split distinct speakers. Online transcription leverages tools like Azure AI Speech and OpenAI, while an offline alternative pairs whisper.cpp with Ollama. Although language models reconcile text discrepancies and assign speaker labels, original engine timestamps remain strictly untouched.

Key points

  • The custom format stores words and timing data once while dynamically adjusting layouts f…: The custom format stores words and timing data once while dynamically adjusting layouts for different screen shapes.
  • Existing SRT and WebVTT files can be re-cut offline into separate profiles for formats li…: Existing SRT and WebVTT files can be re-cut offline into separate profiles for formats like 16:9 and 9:16.
  • A dedicated video.js plugin renders tailored layouts and visual style packs directly in t…: A dedicated video.js plugin renders tailored layouts and visual style packs directly in the video player.

Sources checked by our analysis pipeline: 1

Captions cut for every screen shape, from one file.

Live demo · Quick start · CLI · Player · Format spec · Benchmark

One .overtone.json

file in a 16:9 and a 9:16 player (social

style pack), on the

Blender open movie Tears of Steel.

Film: (CC) Blender Foundation | mango.blender.org, CC BY 3.0.

Overtone stores each spoken word once, with its time and speaker, and cuts captions separately for each picture shape: 16:9 and 9:16 by default, or any aspect you name. A CLI makes the file from your subtitles, audio or video. A video.js plugin shows the cut that fits the player.

Re-cut subtitles you already have. Offline, no API key, no ffmpeg (Node.js 22.12 or newer):

curl -O https://download.blender.org/demo/movies/ToS/subtitles/TOS-en.srt

npx overtone-captions recut TOS-en.srt

You get TOS-en.overtone.json

, .horizontal

and .vertical

.vtt

and .srt

files, and a transcript. Word

times are estimated from the cues.

Caption a video from its audio. This needs ffmpeg

and provider API keys (OpenAI and Azure AI Speech by default;

overtone providers

lists the variables). --dry-run

shows where the audio goes and the estimated…

Technology