Skip to main content
Glama

analyzeAudioRhythm

Extract BPM, beat grid, drum onsets, impact points, energy, and song sections from audio or video to align VFX, camera cuts, and text animations to music.

Instructions

Extract exact BPM, beat grid, 4/4 downbeats, sub-band drum onsets (Kick 20-150Hz, Snare 150-2500Hz, Hi-Hat 2500-10500Hz), major impact points, energy envelope, and structural sections (Intro / Buildup / Climax Drop / Outro) from an audio or video file to help align VFX, camera cuts, and text animations to music.

Input Schema

NameRequiredDescriptionDefault
maxBpmNoMaximum BPM search bound (default: 190)
minBpmNoMinimum BPM search bound (default: 70)
endTimeNoOptional end time in seconds to analyze
audioPathYesAbsolute or relative path to the audio or video file (.mp3, .wav, .flac, .m4a, .mp4)
startTimeNoOptional start time in seconds to analyze
sensitivityNoDrum onset detection sensitivity from 0.1 to 1.0 (default: 0.55)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations the description must carry the load, and it does disclose what the operation yields in concrete terms (specific frequency bands, downbeat meter, section taxonomy), which is real behavioral detail rather than a restatement of the name. It omits notable traits such as expected runtime on long files, whether analysis is deterministic, or behavior on files with no detectable beat, so it is not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with a tightly packed enumeration where each item (bands, sections, energy envelope) carries information. The parenthetical Hz ranges and section names make it long but not padded; minor cost is that a reader must scan the whole list to find the input expectation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates the return payload (BPM, beat grid, downbeats, onsets, energy, sections), and all six inputs are documented in the schema. It is sufficient to call correctly; only latency and edge-case behavior are unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with minBpm/maxBpm defaults, sensitivity range, and time-window semantics all documented in the schema. The description adds nothing about these knobs (e.g. when to widen the BPM bounds or lower sensitivity), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Extract') plus the exact resources produced: BPM, beat grid, 4/4 downbeats, sub-band drum onsets with Hz ranges, energy envelope, and named structural sections. This is unmistakably different from the sibling audio tool analyzeMusicEmotionWithMusiCNN (emotion) and from applyBeatMarkersToComp (which consumes markers rather than extracting them), so an agent can route without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The trailing clause 'to help align VFX, camera cuts, and text animations to music' implies the downstream use case, which is useful context. However, it never states when to pick this over the sibling analyzeMusicEmotionWithMusiCNN or applyBeatMarkersToComp, and gives no prerequisites or exclusions, leaving the choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.