danielrosehill/claude-video-editor-plugin/audio-analysis

Claude Code and agent skill by danielrosehill/claude-video-editor-plugin

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Extract audio from a video (or analyze a standalone audio file) and report loudness — integrated LUFS, true peak (dBTP), loudness range — against a target like YouTube (-14 LUFS) or broadcast (-23 LUFS). Use when the user says "check loudness", "is this normalized", "extract the audio", "audio analysis", or "what LUFS is this". Read-only on the source — does not normalize.

Install

npx vskill@latest install danielrosehill/claude-video-editor-plugin/audio-analysis

SKILL.md

Audio Analysis

Pull the audio out of a video (or take a standalone audio file) and run an EBU R128 loudness pass. Output is a short markdown report with LUFS / dBTP / LRA and a recommendation against a chosen target.

This skill does not normalize. Apply normalization separately (with transcode or a future normalize-audio skill) once you've decided on a target.

Procedure

1. Inputs
FieldDefault
Sourcerequired (video or audio)
Modeextract / analyze / both (default both)
Targetyoutube (-14 LUFS / -1 dBTP) / broadcast (-23 / -2) / podcast (-16 / -1) / streaming-spotify (-14 / -1)
Output dirsibling audio/ (or project's assets/ if inside an index project)
2. Extract

If the source is a video, pull the audio. Prefer stream-copy when the codec is sane (aac/opus/flac/mp3); otherwise re-encode to wav for analysis.

bash
CODEC=$(ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of csv=p=0 "$SRC")
case "$CODEC" in
aac|mp3|opus|flac) EXT="$CODEC"; ARGS="-vn -acodec copy" ;;
*) EXT="wav"; ARGS="-vn -ac 2 -ar 48000 -c:a pcm_s24le" ;;
esac
mkdir -p "$OUT_DIR"
EXTRACTED="$OUT_DIR/$(basename "${SRC%.*}").$EXT"
ffmpeg -hide_banner -y -i "$SRC" $ARGS "$EXTRACTED"
3. Analyze (ebur128)
bash
ffmpeg -hide_banner -nostats -i "$EXTRACTED" -af 'ebur128=peak=true:framelog=quiet' -f null - 2>&1 | tail -25

Parse the summary block at the end:

[Parsed_ebur128_0 @ ...] Summary:
Integrated loudness:
I: -18.4 LUFS
Threshold: -28.5 LUFS
Loudness range:
LRA: 8.1 LU
Threshold: -38.5 LUFS
LRA low: -22.2 LUFS
LRA high: -14.1 LUFS
True peak:
Peak: -1.3 dBFS

Pull I (integrated), LRA, and Peak with grep/awk.

Also probe stream metadata:

bash
ffprobe -v error -select_streams a:0 -show_entries stream=codec_name,sample_rate,channels,bits_per_sample -of default=nw=1 "$SRC"
4. Compare to target
TargetIntegratedTrue Peak
YouTube-14 LUFS-1 dBTP
Spotify-14 LUFS-1 dBTP
Apple Music-16 LUFS-1 dBTP
Podcast-16 LUFS-1 dBTP
Broadcast (EBU R128)-23 LUFS-2 dBTP

Compute deltas (measured_I - target_I).

5. Write the report

<OUT_DIR>/<basename>.loudness.md:

markdown
# Loudness report — <basename>
-Source: `<absolute path>`
-Stream: aac, 48 kHz, 2 ch
-Target: YouTube (-14 LUFS / -1 dBTP)
| Metric | Measured | Target | Delta |
|--------|---------:|-------:|------:|
| Integrated | -18.4 LUFS | -14 LUFS | **-4.4 LU** (too quiet) |
| True peak | -1.3 dBTP | -1 dBTP | -0.3 dB (ok) |
| LRA | 8.1 LU | — | — |
**Recommendation:** raise integrated by ~4.4 LU. Use ffmpeg `loudnorm` (two-pass) or apply gain when re-encoding.
6. Print summary

Show the table inline so the user doesn't have to open the file. Offer:

  • Run transcode with a loudnorm step.
  • Try a different target (re-run analysis with a different reference — no re-extraction needed).

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
6
7-day trend score
10

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/danielrosehill/claude-video-editor-plugin/audio-analysis/badge)](https://verified-skill.com/skills/danielrosehill/claude-video-editor-plugin/audio-analysis)

Something wrong with this skill or its page? Tell us.