Skip to main content
Glama

analyzeMusicEmotionWithMusiCNN

Analyze audio files to detect 50 music emotion, instrument, and vocal tags, valence-arousal-tension curves, and emotional turning points for After Effects camera and character choreography.

Instructions

Analyze an audio file using the bundled MusiCNN (musicnn_mood_va.onnx, Pons & Serra 2019 multi-scale timbral+temporal CNN) + AudioLyricPoseNet (audio_lyric_pose_net.onnx). Returns 50 music emotion/instrument/vocal/structure tags, continuous Russell Circumplex Valence-Arousal-Tension trajectories, emotional turning points, and per-window 3D camera + Boy/Girl 7-joint character acting choreography.

Input Schema

NameRequiredDescriptionDefault
topKNoNumber of top mood/music tags to return per segment (default: 6)
endTimeNoEnd time in seconds
audioPathYesAbsolute path to the audio file (.mp3, .wav, .flac, .m4a)
startTimeNoStart time in seconds (default: 0)
windowSecNoWindow duration in seconds for emotion curve if no LRC is provided (default: 3.5)
lyricsTextNoOptional raw LRC or plain lyrics text to fuse lyric affect with MusiCNN audio features for character pose generation
lrcFilePathNoOptional path to .lrc file so each lyric line receives its own MusiCNN emotion & AudioLyricPoseNet acting direction

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the bundled models, optional lyric fusion, and the kinds of outputs including per-window camera and character choreography, but it omits runtime expectations, file limitations, side effects, whether files are written, and permission requirements.

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?

The purpose is front-loaded and the output list is relevant, so most content earns its place. However, it is a single dense run-on sentence, and the model citation parenthetical adds detail that is not essential for tool selection.

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?

There is no output schema, so the description must explain return values; it does so by enumerating the tag set, trajectory data, turning points, and choreography outputs. Parameters are fully documented in the schema, but operational context for this complex analysis tool remains thin.

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%, so every parameter already has documented meaning. The description adds no additional parameter semantics such as value ranges, default behavior nuances, or interactions beyond what the schema states.

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 and resource: analyze an audio file for music emotion using named bundled models. The output scope (50 tags, valence-arousal-tension trajectories, turning points, character choreography) clearly separates it from rhythm-focused siblings like analyzeAudioRhythm.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no named alternative is compared. The only routing hint is that lyricsText/lrcFilePath can fuse lyric affect, but an agent is not told when to choose this tool over analyzeAudioRhythm, alignLyricsWithMMS, or createAlignedLyricLayers.

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