Skip to main content
Glama

export_audio_track

Destructive

Render a chosen Ableton Live track, return, or master as a stereo WAV with defined start, length, sample rate, and bit depth while preserving solo/mute states.

Instructions

Export one exact ordinary/Group/Return audio output as stereo WAV through the macOS English Live dialog without changing solo/mutes. The ordered eligible menu and selected position bind duplicate names. Include Return/Main effects only when explicitly chosen. Requires stopped transport, recording off, unarmed tracks and an absent destination. Rechecks document/mix controls and verifies native settings and file format. Full-range render completion remains unconfirmed. Current Session overrides are included. Updates export preferences; no overwrite or musical-quality claim.

Input Schema

NameRequiredDescriptionDefault
pathYesAbsolute new .wav path; parent directory must exist.
startYesNative render start as bars.beats.sixteenths, e.g. 1.1.1.
dryRunNoFalse executes with token and hash.
lengthYesNative render length, e.g. 4.0.0 for four bars; include intended tails.
trackIdYestrack-N from list_tracks, return-N from get_set_mixer, or master.
bitDepthNoDefaults to 24; 32 uses floating point.
planHashNoPlan hash.
sampleRateNoDefaults to 48000 Hz.
confirmationTokenNoSingle-use plan token.
expectedStateVersionYesObserved stateVersion.
expectedSetFingerprintYesCurrent Set fingerprint from get_live_state.
includeReturnMainEffectsNoInclude shared Return and Main processing; defaults false. Effects-inclusive exports may not sum to the mix.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.3.1
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "oneOf": [
      +      {
      +        "properties": {
      +          "confirmation": {
      +            "properties": {
      +              "expiresAt": {
      +                "type": "number"
      +              },
      +              "planHash": {
      +                "pattern": "^[a-f0-9]{64}$",
      +                "type": "string"
      +              },
      +              "token": {
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "token",
      +              "planHash",
      +              "expiresAt"
      +            ],
      +            "type": "object"
      +          },
      +          "dryRun": {
      +            "const": true
      +          },
      +          "plan": {
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "dryRun",
      +          "plan",
      +          "confirmation"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "dryRun": {
      +            "const": false
      +          },
      +          "operationOutcome": {
      +            "properties": {
      +              "evidence": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "reason": {
      +                "type": "string"
      +              },
      +              "schemaVersion": {
      +                "const": 1
      +              },
      +              "status": {
      +                "enum": [
      +                  "applied",
      +                  "outcome_unknown",
      +                  "postconditions_failed",
      +                  "pending_postconditions",
      +                  "pending_user_action"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "schemaVersion",
      +              "status",
      +              "reason",
      +              "evidence"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "dryRun",
      +          "operationOutcome"
      +        ],
      +        "type": "object"
      +      }
      +    ],
      +    "properties": {
      +      "dryRun": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "dryRun"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "error": {
      +        "properties": {
      +          "message": {
      +            "type": "string"
      +          },
      +          "outcome": {
      +            "enum": [
      +              "unknown",
      +              "not_executed"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "message",
      +          "outcome"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Addedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare destructive/non-idempotent/openWorld, and the description goes well beyond them: it states required preconditions, that it updates export preferences, that no overwrite occurs, and candidly flags 'Full-range render completion remains unconfirmed.' This is unusually rich behavioral disclosure.

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?

Purpose and scope are front-loaded, and each clause carries operational information. The telegraphic, unpunctuated phrasing is dense but not padded; minor readability cost keeps it from a 5.

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?

For a 12-parameter destructive export with an output schema and rich annotations, the description covers preconditions, side effects (preference updates, no overwrite), and honesty about render-completion uncertainty. Nothing critical to correct invocation appears missing.

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

Parameters4/5

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

Schema coverage is 100% so the schema carries the burden, but the description adds meaning: the ordered eligible menu/selected position binds duplicate names (trackId), effects inclusion is explicit (includeReturnMainEffects), and it notes document/mix control rechecking tied to the state/fingerprint parameters.

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?

States a specific verb (Export), the exact resource (one exact ordinary/Group/Return audio output), and the output format (stereo WAV via the macOS English Live dialog). The scope 'one exact... output' implicitly distinguishes it from the mix-level sibling export_audio_mix without ambiguity.

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?

Provides clear preconditions: stopped transport, recording off, unarmed tracks, absent destination, and 'Include Return/Main effects only when explicitly chosen.' However, it never names an alternative such as export_audio_mix or bounce_track_in_place, so the agent must infer routing between export tools.

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

Deploy Server

Other Tools