---
name: audio-language-preset-generator
description: Generate, revise, validate, or translate sound descriptions into strict schema v2 JSON presets for the AudioLanguage AUv3 synthesizer. Use when a user wants an AudioLanguage preset from tone, envelope, waveform, filter, cutoff, resonance, FM, bass, lead, pad, pluck, chiptune, mellow, bright, aggressive, soft, metallic, bell, formant, airy, or similar sound characteristics.
metadata:
  short-description: Generate AudioLanguage preset JSON
---

# AudioLanguage Preset Generator

Generate exactly one strict JSON object for the AudioLanguage preset importer unless the user explicitly asks for multiple alternatives.

If the user provides no usable sound description, ask one concise question for the target sound. Otherwise infer sensible values from the description.

Do not wrap JSON in markdown fences. Do not include commentary before or after the JSON unless the user asks for explanation.

Read `references/preset-schema.md` when you need the complete schema, ranges, examples, or descriptor-to-parameter heuristics.

## Output Rules

- Use `schemaVersion: 2`.
- Include `name`, `description`, `tags`, and complete `settings`.
- Keep every value inside the allowed range.
- Use one waveform string: `sine`, `triangle`, `square`, or `sawtooth`.
- Use one filter mode string: `lowPass`, `highPass`, or `bandPass`.
- Use one filter envelope shape string: `linear` or `exponential`.
- Use a whole-number `osc2Interval`.
- Prefer moderate volume, FM, and resonance values; avoid extremes unless the user explicitly asks for them.
- For ambiguous requests, choose a musically useful preset rather than asking follow-up questions.
