Skip to main content
Glama
io.github.AudialAI/audial-mcp

io.github.AudialAI/audial-mcp

Official

Audio to MIDI

generate_midi

Transcribe an audio file to MIDI to extract notes from audio; for full mixes, split stems first and convert the desired stem.

Instructions

Transcribe an audio file to MIDI.

Use to get notes out of audio. On a full mix, run stem_split first and transcribe the stem you want. Counts as one run. MIDI files go to a new results folder; the source is unchanged.

Input Schema

NameRequiredDescriptionDefault
bpmNoOverride the detected tempo for note quantisation.
file_pathYesFull path to a local audio file (.wav, .mp3, .aif, .aiff, .flac, .m4a, .ogg, .aac). ~ is expanded.

Output Schema

NameRequiredDescriptionDefault
toolYes
filesYes
summaryYes
metadataYes
output_dirYes
execution_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.4/5.0
Behavior4/5

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

The description adds useful behavioral context beyond the annotations: it counts as one run, output goes to a new results folder, and the source file is unchanged. It does not detail overwrite or naming behavior, but the annotations already signal that this is a non-read-only, non-idempotent operation.

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 short and front-loaded: the core operation appears first, followed by routing guidance and operational notes. Every sentence contributes useful information without repetition.

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 and annotations cover mutation/open-world behavior, the description provides enough context for an agent to invoke the tool correctly. It could mention supported file types or BPM behavior, but those details are already covered by the schema.

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 coverage is 100%, so file_path and bpm are already documented in the input schema. The description does not add syntax or format details beyond the schema, which is appropriate but limits its added semantic value.

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 states a specific verb and resource: transcribe an audio file to MIDI. It also distinguishes the tool from source-audio workflows by telling the agent to use stem_split for full mixes, which is enough to tell it apart from siblings such as generate_music.

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

Usage Guidelines5/5

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

It explicitly says when to use the tool: to get notes out of audio. It also gives a concrete alternative path for full mixes: run stem_split first and transcribe the desired stem.

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