agentsclimarketplace

Audio srt workflow

Skill Sariel2018/audio-srt-aligner/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

Install
npx -y skills add Sariel2018/audio-srt-aligner --skill audio-srt-workflow

Assembled 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.py
  • scripts/gui_app.py
  • scripts/srt_stats.py
  • scripts/make_preview_mp4.py
  • scripts/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

  1. Audio path (wav, mp3, m4a, ...)
  2. Whether a reference transcript is available
  3. Output SRT path (or output directory)
  4. Language hint (zh, en, ...)
  5. 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

  1. Validate environment and paths.
  2. Choose Mode A or Mode B by transcript availability.
  3. Run subtitle generation from packaged scripts.
  4. Run timing diagnostics (srt_stats.py).
  5. 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 .srt extension.
  • 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).

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.