agentic-video Gallery

Find where the sound drops out for a moment

SoundMusicVerified
0:20CC-BY-4.0 · Predatorsamsung

Proof frames

Click a frame to seek

Tool calls

2 calls · agentic-video 0.3.1
loudness_timelinebox · 167 ms

Arguments

{
  "source": "$CLIP",
  "start_sec": 2.15,
  "end_sec": 9.65,
  "window_sec": 1
}

Result

{
  "ok": true,
  "data": {
    "source_path": "~/work/cards/gap-music/clip.mp4",
    "start_sec": 2.15,
    "end_sec": 9.65,
    "window_sec": 1,
    "bpm": null,
    "silence_threshold_dbfs": -60,
    "peak_dbfs": -5.838,
    "peak_sec": 4.081,
    "windows": [
      {
        "start_sec": 2.15,
        "end_sec": 3.15,
        "rms_dbfs": -16.169,
        "peak_dbfs": -7.597,
        "band_db": {
          "sub": -42.2,
          "low_mid": -16.768,
          "mid": -23.996,
          "high": -77.449,
          "air": -120
        },
        "spectral_centroid_hz": 364.695,
        "silent": false
      },
      {
        "start_sec": 3.15,
        "end_sec": 4.15,
        "rms_dbfs": -14.664,
        "peak_dbfs": -5.838,
        "band_db": {
          "sub": -45.868,
          "low_mid": -17.854,
          "mid": -15.752,
          "high": -77.134,
          "air": -120
        },
        "spectral_centroid_hz": 799.775,
        "silent": false
      },
      {
        "start_sec": 4.15,
        "end_sec": 5.15,
        "rms_dbfs": -16.631,
        "peak_dbfs": -9.115,
        "band_db": {
          "sub": -46.754,
          "low_mid": -18.527,
          "mid": -19.287,
          "high": -79.494,
          "air": -119.097
        },
        "spectral_centroid_hz": 636.565,
        "silent": false
      },
      {
        "start_sec": 5.15,
        "end_sec": 6.15,
        "rms_dbfs": -120,
        "peak_dbfs": -10,
        "band_db": {
          "sub": -120,
          "low_mid": -120,
          "mid": -120,
          "high": -120,
          "air": -120
        },
        "spectral_centroid_hz": 0,
        "silent": true
      },
      {
        "start_sec": 6.15,
        "end_sec": 7.15,
        "rms_dbfs": -22.13,
        "peak_dbfs": -12.861,
        "band_db": {
          "sub": -49.916,
          "low_mid": -30.005,
          "mid": -19.966,
          "high": -60.187,
          "air": -65.355
        },
        "spectral_centroid_hz": 847.018,
        "silent": false
      },
      "…trimmed 3 more"
    ],
    "outliers": [
      {
        "start_sec": 2.15,
        "end_sec": 5.15,
        "band": "high",
        "direction": "cut",
        "energy_db": -78.026,
        "baseline_db": -67.029,
        "delta_db": -10.997,
        "min_delta_db": -12.465,
        "max_delta_db": -10.105,
        "energy_start_db": -77.449,
        "energy_end_db": -79.494,
        "entry_jump_db": null,
        "exit_jump_db": 40.506,
        "internal_range_db": 2.36,
        "trend_db": -2.045,
        "monotonic_fraction": 0.5,
        "shape": "transient",
        "window_count": 3,
        "fault_level": false,
        "classification": "informational",
        "ignored": false,
        "ignore_reason": null
      },
      {
        "start_sec": 2.15,
        "end_sec": 3.15,
        "band": "low_mid",
        "direction": "boost",
        "energy_db": -16.768,
        "baseline_db": -23.028,
        "delta_db": 6.26,
        "min_delta_db": 6.26,
        "max_delta_db": 6.26,
        "energy_start_db": -16.768,
        "energy_end_db": -16.768,
        "entry_jump_db": null,
        "exit_jump_db": 1.086,
        "internal_range_db": 0,
        "trend_db": 0,
        "monotonic_fraction": 0,
        "shape": "transient",
        "window_count": 1,
        "fault_level": false,
        "classification": "informational",
        "ignored": false,
        "ignore_reason": null
      },
      {
        "start_sec": 2.15,
        "end_sec": 3.15,
        "band": "mid",
        "direction": "cut",
        "energy_db": -23.996,
        "baseline_db": -16.298,
        "delta_db": -7.698,
        "min_delta_db": -7.698,
        "max_delta_db": -7.698,
        "energy_start_db": -23.996,
        "energy_end_db": -23.996,
        "entry_jump_db": null,
        "exit_jump_db": -8.244,
        "internal_range_db": 0,
        "trend_db": 0,
        "monotonic_fraction": 0,
        "shape": "transient",
        "window_count": 1,
        "fault_level": false,
        "classification": "informational",
        "ignored": false,
        "ignore_reason": null
      },
      {
        "start_sec": 6.15,
        "end_sec": 7.15,
        "band": "high",
        "direction": "boost",
        "energy_db": -60.187,
        "baseline_db": -72.321,
        "delta_db": 12.134,
        "min_delta_db": 12.134,
        "max_delta_db": 12.134,
        "energy_start_db": -60.187,
        "energy_end_db": -60.187,
        "entry_jump_db": 59.813,
        "exit_jump_db": 7.32,
        "internal_range_db": 0,
        "trend_db": 0,
        "monotonic_fraction": 0,
        "shape": "transient",
        "window_count": 1,
        "fault_level": false,
        "classification": "informational",
        "ignored": false,
        "ignore_reason": null
      },
      {
        "start_sec": 6.15,
        "end_sec": 7.15,
        "band": "low_mid",
        "direction": "cut",
        "energy_db": -30.005,
        "baseline_db": -20.471,
        "delta_db": -9.534,
        "min_delta_db": -9.534,
        "max_delta_db": -9.534,
        "energy_start_db": -30.005,
        "energy_end_db": -30.005,
        "entry_jump_db": 89.995,
        "exit_jump_db": -7.591,
        "internal_range_db": 0,
        "trend_db": 0,
        "monotonic_fraction": 0,
        "shape": "transient",
        "window_count": 1,
        "fault_level": false,
        "classification": "informational",
        "ignored": false,
        "ignore_reason": null
      },
      "…trimmed 2 more"
    ],
    "ignore_ranges": [],
    "silence_gaps": [
      {
        "start_sec": 5.14,
        "end_sec": 6.62,
        "duration_sec": 1.48,
        "threshold_dbfs": -60
      }
    ],
    "total": 8
  }
}
review_videobox · 2239 ms

Arguments

{
  "source": "$CLIP"
}

Result

{
  "ok": true,
  "data": {
    "metadata": {
      "source_path": "~/work/cards/gap-music/clip.mp4",
      "duration_sec": 19.990412,
      "width": 640,
      "height": 480,
      "fps": 26.46268656716418,
      "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
      "size_bytes": 2503419,
      "has_audio": true,
      "audio_codec": "aac",
      "video_codec": "h264",
      "fingerprint": "d0962713be6d5420c2b0",
      "has_video": true
    },
    "contact_sheet": {
      "file_path": "<cache>/d0962713be6d5420c2b0/contact_sheets/sheet_24samples_4cols_89d5bc.jpg",
      "sample_count": 24,
      "rows": 6,
      "cols": 4,
      "start_sec": 0.416,
      "end_sec": 19.574,
      "timestamps": [
        0.416,
        1.249,
        2.082,
        2.915,
        3.748,
        4.581,
        5.414,
        6.247,
        7.08,
        7.913,
        8.746,
        9.579,
        10.412,
        11.245,
        12.078,
        12.91,
        13.743,
        14.576,
        15.409,
        16.242,
        17.075,
        17.908,
        18.741,
        19.574
      ],
      "frame_width": 768,
      "frame_height": 576,
      "tool_file": {
        "_tag": "ToolFile",
        "name": "sheet_24samples_4cols_89d5bc.jpg",
        "mimeType": "image/jpeg",
        "encoding": "base64",
        "data": "<2458988 base64 chars dropped>",
        "byteLength": 1844239
      }
    },
    "cuts": [
      {
        "timestamp_sec": 15.4,
        "score": 0.114198,
        "kind": "transition"
      }
    ],
    "cuts_total": 1,
    "loudness": {
      "average_rms_dbfs": -16.619,
      "peak_dbfs": 0.063,
      "peak_sec": 10.593,
      "window_sec": 0.25,
      "silence_threshold_dbfs": -60,
      "silence_gaps": [
        {
          "start_sec": 0,
          "end_sec": 0.68,
          "duration_sec": 0.68,
          "threshold_dbfs": -60
        },
        {
          "start_sec": 5.14,
          "end_sec": 6.62,
          "duration_sec": 1.48,
          "threshold_dbfs": -60
        }
      ],
      "silence_gaps_total": 2,
      "outliers_total": 31,
      "fault_outliers_total": 1,
      "outliers": [
        {
          "start_sec": 9,
          "end_sec": 9.75,
          "band": "high",
          "direction": "boost",
          "shape": "step",
          "delta_db": 11.488,
          "fault_level": true
        },
        {
          "start_sec": 0.5,
          "end_sec": 0.75,
          "band": "low_mid",
          "direction": "cut",
          "shape": "transient",
          "delta_db": -25.539,
          "fault_level": false
        },
        {
          "start_sec": 6.5,
          "end_sec": 6.75,
          "band": "high",
          "direction": "boost",
          "shape": "transient",
          "delta_db": 20.232,
          "fault_level": false
        },
        {
          "start_sec": 5,
          "end_sec": 5.25,
          "band": "high",
          "direction": "boost",
          "shape": "transient",
          "delta_db": 16.92,
          "fault_level": false
        },
        {
          "start_sec": 0.5,
          "end_sec": 1,
          "band": "sub",
          "direction": "cut",
          "shape": "transient",
          "delta_db": -16.864,
          "fault_level": false
        },
        {
          "start_sec": 0.5,
          "end_sec": 2.25,
          "band": "mid",
          "direction": "cut",
          "shape": "transient",
          "delta_db": -14.442,
          "fault_level": false
        },
        {
          "start_sec": 0.75,
          "end_sec": 1,
          "band": "high",
          "direction": "cut",
          "shape": "transient",
          "delta_db": -10.857,
          "fault_level": false
        },
        {
          "start_sec": 19.25,
          "end_sec": 19.969167,
          "band": "high",
          "direction": "boost",
          "shape": "transient",
          "delta_db": 10.543,
          "fault_level": false
        },
        {
          "start_sec": 6.5,
          "end_sec": 7,
          "band": "low_mid",
          "direction": "cut",
          "shape": "transient",
          "delta_db": -10.236,
          "fault_level": false
        },
        {
          "start_sec": 9.5,
          "end_sec": 10.75,
          "band": "low_mid",
          "direction": "cut",
          "shape": "ramp",
          "delta_db": -10.215,
          "fault_level": false
        }
      ]
    }
  }
}

Question and answer

Question
Is there a silent gap in the sound? Where does it start and end?
Answer
The tool reports the longest silent gap in the sound, from 5.14 to 6.62 seconds, lasting 1.48 seconds.
Check passedIoU 0.97, minimum 0.7

How it was checked

Truth from
constructed
Fixed at

Planted by this recipe: ffmpeg cut the first 20 s of the source and muted its sound (volume 0, so digital silence) from 5.15 s to 6.65 s, keeping the picture. The truth is that silent interval, 5.15 to 6.65 s. The call covers 2.15 to 9.65 s (the gap with 3 s either side). The answer is the longest silent gap loudness_timeline reports in that range. IoU tolerance 0.7.

A script muted 1.5 seconds of this clip's sound at a time it chose and left the picture alone. The answer is the one silent gap the tool reports in a 7.5-second range around it, so the card does not show every quiet moment in the clip.

Try it yourself

Use agentic-video to check the sound in my video for a silent gap. Call loudness_timeline on my file from 2.15 to 9.65 seconds, and tell me where the quiet part starts and ends. Then call review_video on my whole file and tell me what it reports about silence. Use my own file.
  1. Get the .mcpb file and open it in Claude Desktop.
  2. Or: pip install agentic-video

Clip and licence

Licence
CC-BY-4.0
Author
Predatorsamsung
Source
commons.wikimedia.org
This file is licensed under the Creative Commons Attribution 4.0 International license.