Skip to main content
Glama

Notes From Audio

notes_from_audio

Transcribe an audio range into a track over specified bars, routing low and high registers to separate tracks and raising note_f1 by construction.

Instructions

Transcribe a pitch range of an audio source into a track over bars [a, b] (any length), using the same step features the comparisons score (so writing them raises note_f1 by construction). mode='replace' clears that range of the track first. Use low/high to route registers of one stem to different tracks (bass / stabs / lead). Check the result with notes_read(view='roll') and cmp_run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lowNoC1
barsYes
highNoC8
modeNoreplace
trackYes
rel_dbNo
sourceYes
projectYes
floor_dbNo
min_stepsNo
transposeNo
max_notes_per_stepNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does disclose the critical destructive behavior: mode='replace' clears that bar range of the track first. It leaves unstated what non-replace modes do (overlay vs. skip) and whether the source must be pre-separated, so it is not complete.

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?

Four sentences, front-loaded with the core action and scope, then side effects and verification. Dense but each sentence adds information; no filler.

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?

An output schema exists so return values need not be explained, and the key destructive behavior is covered. However, for a 12-parameter transcription tool with 0% schema coverage, the detection-threshold parameters that govern what notes are produced are unexplained, leaving a real gap.

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 0%, so the description must compensate and it only partly does: it explains bars, low/high, and mode, and implies source/track/project. Five parameters that materially affect output (rel_db, floor_db, min_steps, transpose, max_notes_per_step) are undocumented in both schema and description.

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?

The description gives a specific verb and resource: transcribe a pitch range of an audio source into notes on a track over a bar range, plus the side effect that this raises note_f1. It does not explicitly differentiate itself from the sibling notes_from_audio_loop, though 'any length' bars implicitly contrasts with a loop-based variant.

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

Usage Guidelines4/5

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

It tells the agent how to route registers with low/high (bass/stabs/lead) and how to verify results via notes_read(view='roll') and cmp_run. It never states when not to use it or when the loop/stem-based sibling is preferable, so there is no explicit alternative routing.

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