speech-captions
Installation
SKILL.md
Speech Captions
Automatic speech-to-text and caption file generation. Use this skill when you need spoken content turned into subtitles — not when muxing or burning captions (see subtitles).
When to use
- This skill — transcribe dialogue, detect language, convert transcript text/segments to SRT or WebVTT.
subtitles— convert/shift/extract/burn existing subtitle files after you have captions.audio— extract or normalize audio before transcription when the source is noisy or the wrong sample rate.inspect— confirm duration, audio codec, and that an audio stream exists before running whisper.
Gotchas
- First run downloads a model —
faster-whispercaches models under~/.cache/huggingface.tinyis fast but less accurate; usesmallormediumfor production dialogue. - CPU-only by default — scripts use
device="cpu"andcompute_type="int8". GPU setups can edit the script or run whisper elsewhere; these CLIs target portable agent use. - Plain text → cues is approximate —
to-srt.py/to-vtt.pysplit on sentence boundaries and spread cues evenly. For accurate timing, usetranscribe.pyor pass--segments-jsonfrom a real ASR pass. - Music and silence — whisper may hallucinate text on instrumentals or long silence. Inspect output; trim leading/trailing silence with
audiofirst if needed. - Language auto-detection —
detect-language.pysamples the first 60 seconds. Short clips or multilingual content may misreport; pass an explicit language to whisper in a custom workflow if you know the locale. - Video inputs — transcription extracts mono 16 kHz WAV via ffmpeg. Very long files take proportionally longer; there is no chunking in the default transcribe script.