Audio srt workflow
Skill Sariel2018/audio-srt-aligner/skill-only/plugins/audio-srt-skills/skills/audio-srt-workflow
Generate or align SRT subtitles from audio using this repository. Use when the user asks for subtitle generation, transcript-to-audio alignment, timing cleanup, SRT quality checks, or subtitle preview video rendering.From its SKILL.md
npx -y skills add Sariel2018/audio-srt-aligner --skill audio-srt-workflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.4 KB, as published. Nobody here has run it
Audio SRT Workflow
Use this skill for end-to-end subtitle work.
This package is self-contained for runtime entrypoints:
scripts/align_to_srt.pyscripts/gui_app.pyscripts/srt_stats.pyscripts/make_preview_mp4.pyscripts/requirements.txt
Scope
- Mode A: audio + reference text -> aligned SRT
- Mode B: audio only -> auto subtitle SRT
- Timing QA with
srt_stats.py - Burned preview generation with
make_preview_mp4.py
Inputs To Collect First
- Audio path (
wav,mp3,m4a, ...) - Whether a reference transcript is available
- Output SRT path (or output directory)
- Language hint (
zh,en, ...) - Preferred run style: CLI, GUI, or Python API
Decision Rule
- If transcript exists, run Mode A (
align_to_srt.py --text ...). - If transcript does not exist, run Mode B via GUI or Python API (
run_auto_subtitle_pipeline).
Workflow
- Validate environment and paths.
- Choose Mode A or Mode B by transcript availability.
- Run subtitle generation from packaged scripts.
- Run timing diagnostics (
srt_stats.py). - If needed, render a preview mp4 with burned subtitles.
Resolve Skill Script Path
Set a local variable to your installed skill directory.
Codex default path:
SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/audio-srt-workflow"
OpenClaw/ClawHub install path example:
SKILL_DIR="<your-workdir>/skills/audio-srt-workflow"
Environment Checks
Run these checks before execution:
python3 --version
ffmpeg -version
python3 -c "import faster_whisper; print('ok')"
If faster-whisper import fails:
# Review dependencies before installing:
cat "$SKILL_DIR/scripts/requirements.txt"
pip install -r "$SKILL_DIR/scripts/requirements.txt"
Mode A Command Template (Audio + Transcript)
python3 "$SKILL_DIR/scripts/align_to_srt.py" \
--audio "<input_audio>" \
--text "<transcript_txt>" \
--output "<output_srt>" \
--model small \
--language zh
Mode B Command Template (Audio Only)
GUI:
python3 "$SKILL_DIR/scripts/gui_app.py"
Or use Python API in scripts:
- Build config with
build_alignment_config(...) - Run
run_auto_subtitle_pipeline(...)
See command details in references/command-templates.md.
QA And Preview
Timing stats:
python3 "$SKILL_DIR/scripts/srt_stats.py" --srt "<output_srt>"
Preview video:
python3 "$SKILL_DIR/scripts/make_preview_mp4.py" \
--audio "<input_audio>" \
--srt "<output_srt>" \
--output "<preview_mp4>"
Output Conventions
- Default output uses
.srtextension. - Prefer dated naming for batch runs (for example
output_YYYYMMDD.srt). - Keep intermediate checks in a separate folder from final delivery files.
Notes
- For Chinese output (
zh), the pipeline strips commas/periods only. - If timings look off, inspect waveform snap related arguments before changing model size.
- This skill requires explicit invocation (
allow_implicit_invocation: false).