Find where the sound drops out for a moment
0:20CC-BY-4.0 · Predatorsamsung
Proof frames
Tool calls
loudness_timeline
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_video
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.
- Get the .mcpb file and open it in Claude Desktop.
- 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.