Skip to main content
Glama

clean_voice

Remove room echo, noise, clipping and hum from a take's voice, then apply EQ, compression and loudness to sound like a proper mic. Produces a WAV for edits.

Instructions

Make a take's voice sound like a proper mic (the user's voice-cleanup: room echo, noise, clipping, hum, then EQ, compressor and loudness). The first call starts it in the background (about 15-60 s per minute of audio); get_session then shows 'voice' under the take, with 'file' when it is done: use that WAV as the take's voice in edits instead of the audio in the .mov. Later calls only change the settings (instant). The user sets the same in the app's player.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
onNofalse = use the original audio (keeps the cleaned files).
kindNocamera (default) or screen: the file with the voice.
takeYesTake number.
rerunNoClean again from the raw take.
sessionYesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.
loudnessNonormal = -14 LUFS (default), quiet = -18 LUFS (under music).
strengthNo0-1. How much of the cleanup: 1 = full (default), lower keeps some room.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations (which only cover read/write/destructive/open-world flags) by disclosing asynchronous background execution, a runtime estimate (~15-60 s per minute of audio), the produced 'file' WAV artifact, and that on=false keeps cleaned files. This is exactly the behavioral context an agent needs for a long-running mutation.

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?

Front-loads the core purpose and then layers workflow and timing in short clauses with no filler. The parentheticals are dense but each earns its place; slightly heavy for a single paragraph but appropriately sized for a 7-param async tool.

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?

With no output schema, the description compensates by explaining where the result appears ('voice' under the take, 'file' when done) and how to consume it in edits. Remaining gaps are error/failure handling and confirmation of idempotency, which are minor relative to what is covered.

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 100%, so every parameter is already documented in the schema; the description adds workflow context (which call starts vs. updates) but no per-parameter syntax or format beyond what the schema provides. Baseline 3 applies when the schema carries the semantics.

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?

States a specific verb-and-resource ('make a take's voice sound like a proper mic') and enumerates the processing chain (echo, noise, clipping, hum, EQ, compressor, loudness), so the operation is unambiguous. However, it never distinguishes itself from the many voice siblings (change_voice, design_voice, voices, voiceover), so an agent must infer the difference.

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?

Gives clear operational context: the first call starts a background job, later calls just change settings, and get_session is the way to observe progress. It does not, though, state when to prefer this over the neighboring voice tools, so exclusions are absent.

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