Skip to main content
Glama
F-Fischer
by F-Fischer

generate_drum_pattern

Generates genre-specific drum patterns as MIDI notes directly into Ableton Live clips, with options for custom patterns, swing, and humanization.

Instructions

Write a genre-style drum pattern as MIDI notes into a clip on a drum rack track.

Parameters:

  • track_index: Index of the MIDI track (drum rack) to write to

  • bars: Number of bars to repeat the pattern for

  • clip_index: Session clip slot to write into (creates the clip if empty). Pass exactly one of clip_index / arrangement_start.

  • arrangement_start: Beat position in the Arrangement to create the clip at.

  • genre: Genre key from music_theory.GENRES (e.g. "dnb_liquid", "house", "trap"). Defaults to the project genre set via set_project_key.

  • pattern: Optional override, e.g. {"kick": [0, 2], "snare": [1, 3]} (beat offsets within a bar) or {"hat": "rolls"} for continuous 8th-note rolls. Merged on top of the genre's default pattern if both are given.

  • swing: 0..1, delays off-beat 8th notes for a swung feel

  • humanize: 0..1, randomizes note timing and velocity slightly

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
barsYes
genreNo
swingNo
patternNo
humanizeNo
clip_indexNo
track_indexYes
user_promptNo
arrangement_startNo
Behavior4/5

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

With no annotations, the description carries the burden. It discloses key behaviors: creates clip if empty, merges pattern over defaults, swing effect on off-beat 8ths, humanize randomization. However, it doesn't state whether existing notes in a non-empty clip are overwritten or preserve behavior, which is a notable gap.

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 description is well-structured as a parameter list, with front-loaded purpose. It is somewhat long but every sentence adds necessary meaning for a 9-parameter tool; no fluff.

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 the complexity (9 params, no annotations, no output schema), the description covers all parameters and the main usage constraint. It lacks error-condition details (e.g., what if track isn't a drum rack) but is otherwise comprehensive for selection and invocation.

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

Parameters5/5

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

Schema coverage is 0%, but the description thoroughly explains every parameter with defaults, examples, and edge cases (e.g., pattern object format, clip_index/arrangement_start exclusivity). This fully compensates for the schema's lack of descriptions.

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 uses a specific verb ('write') and resource ('genre-style drum pattern as MIDI notes into a clip on a drum rack track'), clearly distinguishing it from siblings like generate_bassline and generate_chord_progression.

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 provides clear context, including when to pass clip_index vs arrangement_start ('pass exactly one of') and when genre defaults to project genre. It doesn't explicitly name alternatives or exclusions, but the sibling context makes the intended use clear.

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/F-Fischer/ableton-copilot'

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