Find where the sound drops out for a moment
0:20CC-BY-SA-4.0 · Orgio89
Proof frames
Tool calls
loudness_timeline
Arguments
{
"source": "$CLIP",
"start_sec": 5.28,
"end_sec": 12.78,
"window_sec": 1
}
Result
{
"ok": true,
"data": {
"source_path": "~/work/cards/gap-sports/clip.mp4",
"start_sec": 5.28,
"end_sec": 12.78,
"window_sec": 1,
"bpm": null,
"silence_threshold_dbfs": -60,
"peak_dbfs": -0.618,
"peak_sec": 12.131,
"windows": [
{
"start_sec": 5.28,
"end_sec": 6.28,
"rms_dbfs": -9.252,
"peak_dbfs": -0.835,
"band_db": {
"sub": -9.402,
"low_mid": -16.079,
"mid": -21.528,
"high": -43.259,
"air": -57.956
},
"spectral_centroid_hz": 151.1,
"silent": false
},
{
"start_sec": 6.28,
"end_sec": 7.28,
"rms_dbfs": -11.612,
"peak_dbfs": -0.702,
"band_db": {
"sub": -11.981,
"low_mid": -14.857,
"mid": -21.519,
"high": -43.464,
"air": -54.162
},
"spectral_centroid_hz": 201.757,
"silent": false
},
{
"start_sec": 7.28,
"end_sec": 8.28,
"rms_dbfs": -11.362,
"peak_dbfs": -2.903,
"band_db": {
"sub": -12.68,
"low_mid": -23.01,
"mid": -20.524,
"high": -37.026,
"air": -47.996
},
"spectral_centroid_hz": 211.853,
"silent": false
},
{
"start_sec": 8.28,
"end_sec": 9.28,
"rms_dbfs": -31.735,
"peak_dbfs": -5.008,
"band_db": {
"sub": -95.535,
"low_mid": -98.481,
"mid": -101.327,
"high": -120,
"air": -120
},
"spectral_centroid_hz": 271.773,
"silent": false
},
{
"start_sec": 9.28,
"end_sec": 10.28,
"rms_dbfs": -15.753,
"peak_dbfs": -3.713,
"band_db": {
"sub": -19.999,
"low_mid": -19.271,
"mid": -27.481,
"high": -44.086,
"air": -49.08
},
"spectral_centroid_hz": 261.511,
"silent": false
},
{
"start_sec": 10.28,
"end_sec": 11.28,
"rms_dbfs": -12.111,
"peak_dbfs": -3.586,
"band_db": {
"sub": -13.35,
"low_mid": -17.843,
"mid": -19.978,
"high": -41.215,
"air": -54.879
},
"spectral_centroid_hz": 207.491,
"silent": false
},
{
"start_sec": 11.28,
"end_sec": 12.28,
"rms_dbfs": -8.623,
"peak_dbfs": -0.618,
"band_db": {
"sub": -7.507,
"low_mid": -15.967,
"mid": -23.145,
"high": -39.876,
"air": -46.532
},
"spectral_centroid_hz": 115.611,
"silent": false
},
{
"start_sec": 12.28,
"end_sec": 12.78,
"rms_dbfs": -12.279,
"peak_dbfs": -3.678,
"band_db": {
"sub": -12.08,
"low_mid": -18.658,
"mid": -21.538,
"high": -38.053,
"air": -46.597
},
"spectral_centroid_hz": 174.087,
"silent": false
}
],
"outliers": [
{
"start_sec": 5.28,
"end_sec": 6.28,
"band": "air",
"direction": "cut",
"energy_db": -57.956,
"baseline_db": -48.538,
"delta_db": -9.418,
"min_delta_db": -9.418,
"max_delta_db": -9.418,
"energy_start_db": -57.956,
"energy_end_db": -57.956,
"entry_jump_db": null,
"exit_jump_db": -3.794,
"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": 7.28,
"end_sec": 8.28,
"band": "low_mid",
"direction": "cut",
"energy_db": -23.01,
"baseline_db": -16.961,
"delta_db": -6.049,
"min_delta_db": -6.049,
"max_delta_db": -6.049,
"energy_start_db": -23.01,
"energy_end_db": -23.01,
"entry_jump_db": -8.153,
"exit_jump_db": 75.471,
"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": 9.28,
"end_sec": 10.28,
"band": "sub",
"direction": "cut",
"energy_db": -19.999,
"baseline_db": -12.03,
"delta_db": -7.968,
"min_delta_db": -7.968,
"max_delta_db": -7.968,
"energy_start_db": -19.999,
"energy_end_db": -19.999,
"entry_jump_db": 75.536,
"exit_jump_db": -6.649,
"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": 10.28,
"end_sec": 11.28,
"band": "air",
"direction": "cut",
"energy_db": -54.879,
"baseline_db": -48.538,
"delta_db": -6.341,
"min_delta_db": -6.341,
"max_delta_db": -6.341,
"energy_start_db": -54.879,
"energy_end_db": -54.879,
"entry_jump_db": -5.799,
"exit_jump_db": -8.347,
"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
}
],
"ignore_ranges": [],
"silence_gaps": [
{
"start_sec": 8.3,
"end_sec": 9.79,
"duration_sec": 1.49,
"threshold_dbfs": -60
}
],
"total": 8
}
}
review_video
Arguments
{
"source": "$CLIP"
}
Result
{
"ok": true,
"data": {
"metadata": {
"source_path": "~/work/cards/gap-sports/clip.mp4",
"duration_sec": 20,
"width": 640,
"height": 360,
"fps": 24,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"size_bytes": 2506676,
"has_audio": true,
"audio_codec": "aac",
"video_codec": "h264",
"fingerprint": "f813056c2c738d7c3d67",
"has_video": true
},
"contact_sheet": {
"file_path": "<cache>/f813056c2c738d7c3d67/contact_sheets/sheet_24samples_4cols_423fa4.jpg",
"sample_count": 24,
"rows": 6,
"cols": 4,
"start_sec": 0.417,
"end_sec": 19.583,
"timestamps": [
0.417,
1.25,
2.083,
2.917,
3.75,
4.583,
5.417,
6.25,
7.083,
7.917,
8.75,
9.583,
10.417,
11.25,
12.083,
12.917,
13.75,
14.583,
15.417,
16.25,
17.083,
17.917,
18.75,
19.583
],
"frame_width": 768,
"frame_height": 432,
"tool_file": {
"_tag": "ToolFile",
"name": "sheet_24samples_4cols_423fa4.jpg",
"mimeType": "image/jpeg",
"encoding": "base64",
"data": "<2290096 base64 chars dropped>",
"byteLength": 1717571
}
},
"cuts": [],
"cuts_total": 0,
"loudness": {
"average_rms_dbfs": -10.879,
"peak_dbfs": -0.451,
"peak_sec": 17.552,
"window_sec": 0.25,
"silence_threshold_dbfs": -60,
"silence_gaps": [
{
"start_sec": 8.3,
"end_sec": 9.79,
"duration_sec": 1.49,
"threshold_dbfs": -60
}
],
"silence_gaps_total": 1,
"outliers_total": 44,
"fault_outliers_total": 0,
"outliers": [
{
"start_sec": 20,
"end_sec": 20.015604,
"band": "low_mid",
"direction": "cut",
"shape": "transient",
"delta_db": -69.191,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.015604,
"band": "mid",
"direction": "cut",
"shape": "transient",
"delta_db": -56.07,
"fault_level": false
},
{
"start_sec": 8.25,
"end_sec": 8.5,
"band": "sub",
"direction": "cut",
"shape": "transient",
"delta_db": -23.944,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.015604,
"band": "high",
"direction": "cut",
"shape": "transient",
"delta_db": -21.142,
"fault_level": false
},
{
"start_sec": 8.25,
"end_sec": 8.5,
"band": "low_mid",
"direction": "cut",
"shape": "transient",
"delta_db": -20.894,
"fault_level": false
},
{
"start_sec": 8.25,
"end_sec": 8.5,
"band": "high",
"direction": "cut",
"shape": "transient",
"delta_db": -19.296,
"fault_level": false
},
{
"start_sec": 8.25,
"end_sec": 8.5,
"band": "air",
"direction": "cut",
"shape": "transient",
"delta_db": -18.5,
"fault_level": false
},
{
"start_sec": 8.25,
"end_sec": 8.5,
"band": "mid",
"direction": "cut",
"shape": "transient",
"delta_db": -17.646,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.015604,
"band": "air",
"direction": "cut",
"shape": "transient",
"delta_db": -14.935,
"fault_level": false
},
{
"start_sec": 18.25,
"end_sec": 18.75,
"band": "air",
"direction": "boost",
"shape": "transient",
"delta_db": 13.731,
"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 8.30 to 9.79 seconds, lasting 1.49 seconds.
Check passedIoU 0.98, 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 8.28 s to 9.78 s, keeping the picture. The truth is that silent interval, 8.28 to 9.78 s. The call covers 5.28 to 12.78 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 5.28 to 12.78 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-SA-4.0
- Author
- Orgio89
- Source
- commons.wikimedia.org
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.