Skip to main content
Glama

mcp_opendaw_create_cross_rhythm

Create shifting cross-rhythms by defining multiple voices with independent period lengths, producing continuously changing alignment patterns common in African and minimalist music.

Instructions

Create a cross-rhythm — multiple voices with independent period lengths creating shifting alignment.

Unlike polyrhythm (which divides one bar into n and m equal parts), cross-rhythm gives each voice its own period length in beats. The voices cycle independently, creating continuously shifting alignment patterns that only realign after the LCM of all periods.

African cross-rhythms, Steve Reich, Talking Heads, minimalism.

voices: Comma-separated period lengths per voice. E.g., "5,7,3" creates 3 voices with period 5, 7, and 3 beats respectively. 2-6 voices supported. bars: Total length in bars (1-16). The pattern cycles until bars×4 beats is filled. unit_index: AU index. track_index: Note track index. start_beat: Starting beat position. duration: Note duration in beats. base_velocity: Base velocity 0-1. Each voice gets slightly attenuated (voice 0 = full).

Returns total notes created, voice periods, and alignment interval (LCM).

Common cross-rhythms: "5,7" — 5-beat vs 7-beat (African, shifts every 35 beats) "3,4,5" — triple cross-rhythm (minimalism) "4,5,6" — dense shifting pattern "3,5,7" — prime cross-rhythm (longest alignment cycle = 105 beats)

Example: create_cross_rhythm(voices="5,7", bars=8, track_index=0)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
barsNo
voicesYes
durationNo
start_beatNo
unit_indexNo
track_indexNo
base_velocityNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It details how voices cycle independently, alignment after LCM, output structure (total notes, voice periods, alignment interval), and constraints (2-6 voices, 1-16 bars). It does not mention error handling or side effects, but covers the core behavior well.

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 somewhat lengthy but well-structured: starts with definition, contrasts with sibling, explains parameters, lists common cross-rhythms, and provides an example. Every sentence adds value, though some text (e.g., lengthy list of common rhythms) could be more concise without losing clarity.

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

Completeness5/5

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

Given the tool's complexity and the presence of an output schema, the description is remarkably complete. It covers the concept, parameter details, usage examples, and return value. It implicitly references sibling tools and provides sufficient context for an agent to select and invoke this tool correctly.

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 description coverage is 0%, so the description must compensate, which it does excellently. It explains the 'voices' parameter format (comma-separated periods, 2-6 voices), 'bars' as total length in beats, and other parameters like 'base_velocity' (attenuation per voice). It also describes the return value, adding significant meaning beyond the schema.

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 defines what the tool does: 'Create a cross-rhythm — multiple voices with independent period lengths creating shifting alignment.' It distinguishes cross-rhythm from polyrhythm, provides musical context (African cross-rhythms, Steve Reich), and gives examples, making the purpose highly specific and actionable.

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?

The description explicitly contrasts cross-rhythm with polyrhythm, guiding when to use this tool versus a sibling (e.g., 'Unlike polyrhythm...'). It includes common cross-rhythm patterns and an example call, providing clear usage context and alternatives.

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/AMEOBIUS-team/opendaw-mcp'

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