Skip to main content
Glama

create_sound

Generate custom sound effects from plain-language descriptions, choosing recipes and intensity, then save them as audio files with notes for games, video, or apps.

Instructions

Create a sound effect and save it as an audio file (plus a small .json notes file).

Choose the closest recipe (see list_recipes) and translate the user's words into numbers: intensity (0 to 1) is how strong or hard the sound is, size (0 to 1) is how big the source is, style picks a variant. For example "a slight breeze" is recipe wind with intensity 0.1, and "a hurricane" is wind with intensity 1.0. What intensity and size mean depends on the recipe.

variations makes several different versions (1 to 20) so the user can pick one. seed repeats an earlier result exactly. description is the user's original request, saved in the notes file. Files go in ./sounds by default and never overwrite older ones.

loop=True makes a seamless loop of duration_s seconds (default 10), good for ambience such as wind, rain or hums; it is the wrong choice for one-off hits. WAV loops also carry loop points that game engines use. format is wav (default), flac, ogg or mp3. loudness matches a loudness target: "game" (-16 LUFS), "web" (-14), "broadcast" (-23), or a number such as -18. Leave it out to keep the recipe's natural level.

Returns the saved file paths and levels. The sounds are made by NoiseSmith's built-in engine (synthesis, plus reshaped CC0 recordings for the creaks) and are CC0: free to use anywhere, including commercial projects.

Input Schema

NameRequiredDescriptionDefault
loopNo
nameNo
seedNo
sizeNo
styleNo
formatNowav
recipeYes
loudnessNo
intensityNo
duration_sNo
output_dirNo
variationsNo
descriptionNo
loop_crossfade_sNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations are absent, so the description carries the full behavioral burden. It does well: non-destructive output ('never overwrite older ones'), default location ./sounds, return value ('saved file paths and levels'), synthesis provenance and CC0 licensing, and mid-side effects like WAV loop points for game engines. Remaining gaps are loop_crossfade_s and what duration_s means when loop=False, plus no timing/performance expectations for generating up to 20 variations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, and most paragraphs carry real information (loop guidance, loudness table, licensing). Still, the multi-paragraph layout with heavy backtick parameter naming reads like inline documentation and could be tightened; the example sentences and license sentence are nice-to-have rather than decision-critical.

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?

For a 14-parameter creation tool with no annotations and no output schema, this is close to sufficient: it explains the main knobs, the file destination, the return value in prose, and the licensing/engine context. Dropping `name` and `loop_crossfade_s`, and not stating how this differs from make_loop, are the notable holes.

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 0% across 14 parameters, so this is the description's main chance to add meaning — and it does for most: intensity, size, style, variations, seed, description, loop, duration_s, format, loudness, recipe, output_dir. It gives a semantic definition for intensity/size and a lookup table for loudness values, which is genuinely useful. But `name` and `loop_crossfade_s` are never mentioned, and the numeric ranges stated ('1 to 20', '0 to 1') aren't enforced anywhere, so the coverage is strong yet incomplete.

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: 'Create a sound effect and save it as an audio file (plus a small .json notes file)'. The output side effect and file layout are named, which is far more than a tautology. It does not, however, distinguish itself from the sibling make_loop, which overlaps heavily with its own loop=True behavior, so an agent still has to guess which path to take.

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?

Explicitly routes part of the workflow: 'Choose the closest recipe (see list_recipes)' and gives a concrete translation procedure with worked examples ('a slight breeze' → wind, intensity 0.1). It also gives a clear exclusion: loop=True 'is the wrong choice for one-off hits'. Missing is any guidance versus preview_sound, mix_sounds, export_sound, or make_loop, so alternative selection is incomplete.

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