Skip to main content
Glama

midi_extract_vocal_guide

Extract a monophonic guide melody from a vocal WAV file. A pitch tracker converts the audio into notes with timing in seconds and beats.

Instructions

Extract a monophonic guide melody from a vocal WAV file with a dependency-free pitch tracker. Returns notes in both seconds and beats (requires tempo_bpm).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hop_msNo
frame_msNo
max_noteNo
min_noteNo
file_pathYes
tempo_bpmYes
min_note_secNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions being dependency-free and output format, but omits important aspects like error handling, side effects (e.g., file creation or modification), or behavior with non-monophonic input. This is insufficient for a processing tool.

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

Conciseness5/5

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

The description is extremely concise: two sentences that front-load the core action and key differentiator (dependency-free) followed by output and requirement. Every sentence adds value without redundancy.

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?

Given that an output schema exists (not shown), the description sufficiently covers primary purpose, requirements, and output format. However, it could improve by noting input constraints (e.g., monophonic expected) or range behavior, but overall it provides adequate context for a tool with these properties.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only adds context about the requirement for tempo_bpm and output format. It does not explain the meanings or roles of other parameters (e.g., hop_ms, frame_ms, min_note, max_note, min_note_sec), leaving the agent without guidance on how to set them.

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?

The description clearly states the specific verb 'extract', the resource 'monophonic guide melody from a vocal WAV file', and distinguishes from sibling tools like 'midi_vocal_to_complement' by highlighting the dependency-free pitch tracker and output in seconds and beats.

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 description indicates a prerequisite (tempo_bpm is required) and implies usage when a tempo-aligned guide melody is needed, but lacks explicit guidance on when to use this tool versus alternatives like 'midi_vocal_to_complement' or 'live_vocal_to_complement_midi'. No when-not or alternative references.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bassDaddyDevices/ABLE-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server