Skip to main content
Glama

alignLyricsWithMMS

Align lyrics or subtitles to an audio file to get frame-accurate word- and line-level timestamps, confidence scores, LRC drift corrections, and optional beat snapping for precise sync.

Instructions

Perform frame-accurate forced alignment of lyrics/subtitles against an audio file using bundled MMS-Align / CTC-Segmentation (Neural CTC ONNX + Silero VAD v6 + Viterbi CTC-Segmentation trellis). Returns exact word-level and line-level timestamps, confidence scores, LRC drift corrections, and nearest drum beat offsets.

Input Schema

NameRequiredDescriptionDefault
endTimeNoOptional end time in seconds to filter alignment
audioPathYesPath to the audio file (.mp3, .wav, .flac, .m4a)
startTimeNoOptional start time in seconds to filter alignment
lyricsTextNoOptional raw lyrics text or LRC-formatted text string
lrcFilePathNoOptional path to a .lrc lyric file (if omitted, automatically looks for a matching .lrc file or uses lyricsText)
snapWordsToBeatsNoWhether to automatically snap word entrances within tolerance to the nearest drum/beat transient (default: false)
maxSnapToleranceMsNoMaximum tolerance in milliseconds when snapping words to beats (default: 75)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.0

TDQS

B3.2/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 burden, and it does add genuine context: the models are bundled (MMS-Align, CTC ONNX, Silero VAD v6, Viterbi trellis) so no external setup is implied, and it discloses the return payload (word/line timestamps, confidence, LRC drift corrections, drum-beat offsets). It says nothing about runtime cost, accuracy limits, or failure behavior (e.g., missing LRC, speechless audio) for what is presumably a heavy inference job.

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?

A single sentence that front-loads the action and file target before listing outputs, so an agent gets the gist immediately. The parenthetical model stack ('Neural CTC ONNX + Silero VAD v6 + Viterbi CTC-Segmentation trellis') is largely decorative and could be trimmed without losing meaning.

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

Completeness3/5

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

For a 7-parameter inference tool with no annotations and no output schema, the description covers purpose and return contents but leaves gaps: how its output feeds siblings like createAlignedLyricLayers, what happens when no lyrics source is found, and expected cost/duration. Adequate to start, incomplete for confident invocation.

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 the schema already documents all 7 parameters and a baseline of 3 applies. The description adds only indirect hints — snapWordsToBeats is reflected in the 'nearest drum beat offsets' output mention and LRC handling in 'LRC drift corrections' — with no extra format or interaction details.

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

Purpose4/5

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

States a specific verb and resource ('Perform frame-accurate forced alignment of lyrics/subtitles against an audio file') and names the concrete pipeline used, which is unmistakable against siblings like applyBeatMarkersToComp or createAlignedLyricLayers. It never explicitly says how it differs from those neighbors, so an agent must infer the boundary itself.

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 when-to-use / when-not-to-use guidance and no routing to alternatives, despite several plausible siblings (analyzeAudioRhythm, analyzeMusicEmotionWithMusiCNN, createAlignedLyricLayers) that an agent could confuse it with. Prerequisites such as needing an existing LRC file or the audio containing vocals are left entirely implicit.

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