Find where the sound suddenly gets loud
Proof frames
Tool calls
loudness_timeline
Arguments
{
"source": "$CLIP",
"start_sec": 0,
"end_sec": 4,
"window_sec": 2
}
Result
{
"ok": true,
"data": {
"source_path": "~/hill/gallery/tmp/R-loud/cards/loud-cooking/clip.mp4",
"start_sec": 0,
"end_sec": 4,
"window_sec": 2,
"bpm": null,
"silence_threshold_dbfs": -60,
"peak_dbfs": -13.95,
"peak_sec": 1.044,
"windows": [
{
"start_sec": 0,
"end_sec": 2,
"rms_dbfs": -27.939,
"peak_dbfs": -13.95,
"band_db": {
"sub": -31.096,
"low_mid": -27.644,
"mid": -37.628,
"high": -42.981,
"air": -64.296
},
"spectral_centroid_hz": 360.142,
"silent": false
},
{
"start_sec": 2,
"end_sec": 4,
"rms_dbfs": -29.526,
"peak_dbfs": -15.618,
"band_db": {
"sub": -32.317,
"low_mid": -30.712,
"mid": -37.261,
"high": -42.31,
"air": -61.411
},
"spectral_centroid_hz": 492.263,
"silent": false
}
],
"outliers": [],
"ignore_ranges": [],
"silence_gaps": [],
"total": 2
}
}
loudness_timeline
Arguments
{
"source": "$CLIP",
"start_sec": 4,
"end_sec": 8,
"window_sec": 2
}
Result
{
"ok": true,
"data": {
"source_path": "~/hill/gallery/tmp/R-loud/cards/loud-cooking/clip.mp4",
"start_sec": 4,
"end_sec": 8,
"window_sec": 2,
"bpm": null,
"silence_threshold_dbfs": -60,
"peak_dbfs": -17.539,
"peak_sec": 7.276,
"windows": [
{
"start_sec": 4,
"end_sec": 6,
"rms_dbfs": -37.245,
"peak_dbfs": -19.948,
"band_db": {
"sub": -40.038,
"low_mid": -40.484,
"mid": -47.505,
"high": -51.618,
"air": -57.087
},
"spectral_centroid_hz": 613.043,
"silent": false
},
{
"start_sec": 6,
"end_sec": 8,
"rms_dbfs": -32.065,
"peak_dbfs": -17.539,
"band_db": {
"sub": -30.921,
"low_mid": -36.177,
"mid": -43.197,
"high": -48.148,
"air": -52.707
},
"spectral_centroid_hz": 319.408,
"silent": false
}
],
"outliers": [
{
"start_sec": 4,
"end_sec": 6,
"band": "sub",
"direction": "cut",
"energy_db": -40.038,
"baseline_db": -30.921,
"delta_db": -9.117,
"min_delta_db": -9.117,
"max_delta_db": -9.117,
"energy_start_db": -40.038,
"energy_end_db": -40.038,
"entry_jump_db": null,
"exit_jump_db": -9.117,
"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,
"end_sec": 8,
"band": "sub",
"direction": "boost",
"energy_db": -30.921,
"baseline_db": -40.038,
"delta_db": 9.117,
"min_delta_db": 9.117,
"max_delta_db": 9.117,
"energy_start_db": -30.921,
"energy_end_db": -30.921,
"entry_jump_db": 9.117,
"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": [],
"total": 2
}
}
loudness_timeline
Arguments
{
"source": "$CLIP",
"start_sec": 8,
"end_sec": 12,
"window_sec": 2
}
Result
{
"ok": true,
"data": {
"source_path": "~/hill/gallery/tmp/R-loud/cards/loud-cooking/clip.mp4",
"start_sec": 8,
"end_sec": 12,
"window_sec": 2,
"bpm": null,
"silence_threshold_dbfs": -60,
"peak_dbfs": -13.3,
"peak_sec": 10.655,
"windows": [
{
"start_sec": 8,
"end_sec": 10,
"rms_dbfs": -30.729,
"peak_dbfs": -15.95,
"band_db": {
"sub": -31.278,
"low_mid": -33.29,
"mid": -39.834,
"high": -45.349,
"air": -49.809
},
"spectral_centroid_hz": 462.897,
"silent": false
},
{
"start_sec": 10,
"end_sec": 12,
"rms_dbfs": -30.579,
"peak_dbfs": -13.3,
"band_db": {
"sub": -31.198,
"low_mid": -34.375,
"mid": -38.207,
"high": -44.379,
"air": -51.703
},
"spectral_centroid_hz": 496.004,
"silent": false
}
],
"outliers": [],
"ignore_ranges": [],
"silence_gaps": [],
"total": 2
}
}
loudness_timeline
Arguments
{
"source": "$CLIP",
"start_sec": 12,
"end_sec": 16,
"window_sec": 2
}
Result
{
"ok": true,
"data": {
"source_path": "~/hill/gallery/tmp/R-loud/cards/loud-cooking/clip.mp4",
"start_sec": 12,
"end_sec": 16,
"window_sec": 2,
"bpm": null,
"silence_threshold_dbfs": -60,
"peak_dbfs": -1.666,
"peak_sec": 14.988,
"windows": [
{
"start_sec": 12,
"end_sec": 14,
"rms_dbfs": -30.349,
"peak_dbfs": -15.706,
"band_db": {
"sub": -32.19,
"low_mid": -32.584,
"mid": -37.63,
"high": -43.657,
"air": -49.499
},
"spectral_centroid_hz": 608.68,
"silent": false
},
{
"start_sec": 14,
"end_sec": 16,
"rms_dbfs": -18.655,
"peak_dbfs": -1.666,
"band_db": {
"sub": -20.433,
"low_mid": -22.055,
"mid": -25.82,
"high": -29.691,
"air": -36.036
},
"spectral_centroid_hz": 815.963,
"silent": false
}
],
"outliers": [
{
"start_sec": 12,
"end_sec": 14,
"band": "air",
"direction": "cut",
"energy_db": -49.499,
"baseline_db": -36.036,
"delta_db": -13.463,
"min_delta_db": -13.463,
"max_delta_db": -13.463,
"energy_start_db": -49.499,
"energy_end_db": -49.499,
"entry_jump_db": null,
"exit_jump_db": -13.463,
"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": 12,
"end_sec": 14,
"band": "high",
"direction": "cut",
"energy_db": -43.657,
"baseline_db": -29.691,
"delta_db": -13.966,
"min_delta_db": -13.966,
"max_delta_db": -13.966,
"energy_start_db": -43.657,
"energy_end_db": -43.657,
"entry_jump_db": null,
"exit_jump_db": -13.966,
"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": 12,
"end_sec": 14,
"band": "low_mid",
"direction": "cut",
"energy_db": -32.584,
"baseline_db": -22.055,
"delta_db": -10.529,
"min_delta_db": -10.529,
"max_delta_db": -10.529,
"energy_start_db": -32.584,
"energy_end_db": -32.584,
"entry_jump_db": null,
"exit_jump_db": -10.529,
"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": 12,
"end_sec": 14,
"band": "mid",
"direction": "cut",
"energy_db": -37.63,
"baseline_db": -25.82,
"delta_db": -11.81,
"min_delta_db": -11.81,
"max_delta_db": -11.81,
"energy_start_db": -37.63,
"energy_end_db": -37.63,
"entry_jump_db": null,
"exit_jump_db": -11.81,
"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": 12,
"end_sec": 14,
"band": "sub",
"direction": "cut",
"energy_db": -32.19,
"baseline_db": -20.433,
"delta_db": -11.757,
"min_delta_db": -11.757,
"max_delta_db": -11.757,
"energy_start_db": -32.19,
"energy_end_db": -32.19,
"entry_jump_db": null,
"exit_jump_db": -11.757,
"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 5 more"
],
"ignore_ranges": [],
"silence_gaps": [],
"total": 2
}
}
Question and answer
- Question
- Where does it suddenly get loud?
- Answer
- The loudest 2-second stretch runs from 14 to 16 seconds, at -18.7 dB RMS, the loudest of the 8 windows across the clip.
How it was checked
- Truth from
- constructed
- Fixed at
Planted by this recipe before any tool ran: ffmpeg cut the first 18 s of the source (its loudest sample measured at -2.6 dBFS by volumedetect), the whole clip was first lowered 10.4 dB so the raised stretch peaks below full scale, and raised the sound from 14 s to 16 s by 12 dB with a volume filter (the picture is not changed). The truth is that stretch, 14 to 16 s, checked with an IoU of at least 0.5. The calls read 2-second windows that start at 0, 2, 4 and so on, so the planted stretch is the window 14 to 16 s.
A script raised the sound by 12 dB from 14 to 16 seconds, a planted change. To keep the raised stretch below full scale, the whole clip was first lowered 10.4 dB. The answer is the loudest 2-second window, so the card does not test timing finer than 2 seconds. Only the first 16 seconds of the source were analysed.
Try it yourself
Use agentic-video to find where the sound in my video suddenly gets loud. Run loudness_timeline on my file in 4-second ranges that cover the first 16 seconds, with a window of 2 seconds each time. Tell me the start and end of the loudest window across all the runs, and how loud it is compared with the windows around it.
- Get the .mcpb file and open it in Claude Desktop.
- Or:
pip install agentic-video
Clip and licence
- Licence
- PD
- Author
- USDAgov (U.S. Department of Agriculture)
- Source
- commons.wikimedia.org
As a work of the U.S. federal government, the image is in the public domain.