Find where the sound drops out for a moment
0:20PD · Universal Newsreel
Proof frames
Tool calls
loudness_timeline
Arguments
{
"source": "$CLIP",
"start_sec": 2.03,
"end_sec": 9.53,
"window_sec": 1
}
Result
{
"ok": true,
"data": {
"source_path": "~/work/cards/gap-news-archive/clip.mp4",
"start_sec": 2.03,
"end_sec": 9.53,
"window_sec": 1,
"bpm": null,
"silence_threshold_dbfs": -60,
"peak_dbfs": -5.362,
"peak_sec": 2.343,
"windows": [
{
"start_sec": 2.03,
"end_sec": 3.03,
"rms_dbfs": -16.946,
"peak_dbfs": -5.362,
"band_db": {
"sub": -56.14,
"low_mid": -19.674,
"mid": -17.581,
"high": -57.773,
"air": -88.408
},
"spectral_centroid_hz": 712.234,
"silent": false
},
{
"start_sec": 3.03,
"end_sec": 4.03,
"rms_dbfs": -16.633,
"peak_dbfs": -6.909,
"band_db": {
"sub": -60.688,
"low_mid": -20.379,
"mid": -16.752,
"high": -54.443,
"air": -89.129
},
"spectral_centroid_hz": 705.619,
"silent": false
},
{
"start_sec": 4.03,
"end_sec": 5.03,
"rms_dbfs": -17.294,
"peak_dbfs": -6.398,
"band_db": {
"sub": -61.219,
"low_mid": -19.002,
"mid": -18.983,
"high": -60.673,
"air": -90.65
},
"spectral_centroid_hz": 602.061,
"silent": false
},
{
"start_sec": 5.03,
"end_sec": 6.03,
"rms_dbfs": -39.9,
"peak_dbfs": -12.385,
"band_db": {
"sub": -120,
"low_mid": -120,
"mid": -120,
"high": -120,
"air": -120
},
"spectral_centroid_hz": 692.56,
"silent": false
},
{
"start_sec": 6.03,
"end_sec": 7.03,
"rms_dbfs": -21.659,
"peak_dbfs": -7.498,
"band_db": {
"sub": -50.958,
"low_mid": -26.128,
"mid": -20.082,
"high": -55.533,
"air": -63.479
},
"spectral_centroid_hz": 761.306,
"silent": false
},
"…trimmed 3 more"
],
"outliers": [
{
"start_sec": 2.03,
"end_sec": 4.03,
"band": "air",
"direction": "cut",
"energy_db": -88.769,
"baseline_db": -76.124,
"delta_db": -12.645,
"min_delta_db": -13.186,
"max_delta_db": -12.104,
"energy_start_db": -88.408,
"energy_end_db": -89.129,
"entry_jump_db": null,
"exit_jump_db": 1.521,
"internal_range_db": 0.721,
"trend_db": -0.721,
"monotonic_fraction": 1,
"shape": "transient",
"window_count": 2,
"fault_level": false,
"classification": "informational",
"ignored": false,
"ignore_reason": null
},
{
"start_sec": 6.03,
"end_sec": 7.03,
"band": "air",
"direction": "boost",
"energy_db": -63.479,
"baseline_db": -88.769,
"delta_db": 25.29,
"min_delta_db": 25.29,
"max_delta_db": 25.29,
"energy_start_db": -63.479,
"energy_end_db": -63.479,
"entry_jump_db": 56.521,
"exit_jump_db": 28.451,
"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.03,
"end_sec": 7.03,
"band": "low_mid",
"direction": "cut",
"energy_db": -26.128,
"baseline_db": -19.338,
"delta_db": -6.79,
"min_delta_db": -6.79,
"max_delta_db": -6.79,
"energy_start_db": -26.128,
"energy_end_db": -26.128,
"entry_jump_db": 93.872,
"exit_jump_db": -11.931,
"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.03,
"end_sec": 7.03,
"band": "sub",
"direction": "boost",
"energy_db": -50.958,
"baseline_db": -62.011,
"delta_db": 11.053,
"min_delta_db": 11.053,
"max_delta_db": 11.053,
"energy_start_db": -50.958,
"energy_end_db": -50.958,
"entry_jump_db": 69.042,
"exit_jump_db": 15.551,
"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.03,
"end_sec": 9.53,
"band": "sub",
"direction": "cut",
"energy_db": -70.751,
"baseline_db": -60.954,
"delta_db": -9.797,
"min_delta_db": -9.797,
"max_delta_db": -9.797,
"energy_start_db": -70.751,
"energy_end_db": -70.751,
"entry_jump_db": -7.947,
"exit_jump_db": null,
"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": 5.04,
"end_sec": 6.54,
"duration_sec": 1.5,
"threshold_dbfs": -60
}
],
"total": 8
}
}
review_video
Arguments
{
"source": "$CLIP"
}
Result
{
"ok": true,
"data": {
"metadata": {
"source_path": "~/work/cards/gap-news-archive/clip.mp4",
"duration_sec": 20.02,
"width": 640,
"height": 480,
"fps": 29.97002997002997,
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"size_bytes": 2376339,
"has_audio": true,
"audio_codec": "aac",
"video_codec": "h264",
"fingerprint": "ff8f6782b4c104d44072",
"has_video": true
},
"contact_sheet": {
"file_path": "<cache>/ff8f6782b4c104d44072/contact_sheets/sheet_24samples_4cols_624461.jpg",
"sample_count": 24,
"rows": 6,
"cols": 4,
"start_sec": 0.417,
"end_sec": 19.603,
"timestamps": [
0.417,
1.251,
2.085,
2.92,
3.754,
4.588,
5.422,
6.256,
7.09,
7.925,
8.759,
9.593,
10.427,
11.261,
12.095,
12.93,
13.764,
14.598,
15.432,
16.266,
17.1,
17.935,
18.769,
19.603
],
"frame_width": 768,
"frame_height": 576,
"tool_file": {
"_tag": "ToolFile",
"name": "sheet_24samples_4cols_624461.jpg",
"mimeType": "image/jpeg",
"encoding": "base64",
"data": "<1783616 base64 chars dropped>",
"byteLength": 1337710
}
},
"cuts": [
{
"timestamp_sec": 0.1001,
"score": 0.872509,
"kind": "cut"
},
{
"timestamp_sec": 6.6066,
"score": 1,
"kind": "cut"
},
{
"timestamp_sec": 8.641967,
"score": 0.27101,
"kind": "cut"
},
{
"timestamp_sec": 17.1171,
"score": 0.402539,
"kind": "cut"
},
{
"timestamp_sec": 19.5195,
"score": 0.346483,
"kind": "cut"
}
],
"cuts_total": 5,
"loudness": {
"average_rms_dbfs": -16.946,
"peak_dbfs": -5.362,
"peak_sec": 2.343,
"window_sec": 0.25,
"silence_threshold_dbfs": -60,
"silence_gaps": [
{
"start_sec": 0,
"end_sec": 0.05,
"duration_sec": 0.05,
"threshold_dbfs": -60
},
{
"start_sec": 5.04,
"end_sec": 6.54,
"duration_sec": 1.5,
"threshold_dbfs": -60
}
],
"silence_gaps_total": 2,
"outliers_total": 75,
"fault_outliers_total": 1,
"outliers": [
{
"start_sec": 4,
"end_sec": 5,
"band": "sub",
"direction": "boost",
"shape": "step",
"delta_db": 10.539,
"fault_level": true
},
{
"start_sec": 20,
"end_sec": 20.010667,
"band": "low_mid",
"direction": "cut",
"shape": "transient",
"delta_db": -49.312,
"fault_level": false
},
{
"start_sec": 20,
"end_sec": 20.010667,
"band": "mid",
"direction": "cut",
"shape": "transient",
"delta_db": -45.705,
"fault_level": false
},
{
"start_sec": 5,
"end_sec": 5.25,
"band": "mid",
"direction": "cut",
"shape": "transient",
"delta_db": -28.203,
"fault_level": false
},
{
"start_sec": 5,
"end_sec": 5.25,
"band": "low_mid",
"direction": "cut",
"shape": "transient",
"delta_db": -22.178,
"fault_level": false
},
{
"start_sec": 5,
"end_sec": 5.25,
"band": "high",
"direction": "cut",
"shape": "transient",
"delta_db": -21.079,
"fault_level": false
},
{
"start_sec": 6.5,
"end_sec": 6.75,
"band": "air",
"direction": "boost",
"shape": "transient",
"delta_db": 20.92,
"fault_level": false
},
{
"start_sec": 0.25,
"end_sec": 1,
"band": "low_mid",
"direction": "cut",
"shape": "transient",
"delta_db": -18.912,
"fault_level": false
},
{
"start_sec": 16,
"end_sec": 16.25,
"band": "sub",
"direction": "boost",
"shape": "transient",
"delta_db": 18.664,
"fault_level": false
},
{
"start_sec": 7,
"end_sec": 7.25,
"band": "high",
"direction": "cut",
"shape": "transient",
"delta_db": -17.986,
"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.04 to 6.54 seconds, lasting 1.50 seconds.
Check passedIoU 0.99, 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.03 s to 6.53 s, keeping the picture. The truth is that silent interval, 5.03 to 6.53 s. The call covers 2.03 to 9.53 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.03 to 9.53 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
- PD
- Author
- Universal Newsreel
- Source
- commons.wikimedia.org
This work has been released into the public domain by its copyright holder, Universal Pictures. This applies worldwide.