audio_synthesize
Generate custom tones, sweeps, chords, noise bursts, melodies, and layered sound effects from a declarative spec for games, audio edits, or tests.
Instructions
Generate audio from a declarative spec: tones, sweeps, chords, noise bursts, simple melodies and layered sound effects (band-limited oscillators, ADSR envelopes, vibrato, tremolo, filters, panning). Example laser zap: {"layers":[{"wave":"square","freq":1800,"freq_end":200,"duration":0.25, "envelope":{"attack":0.002,"release":0.1},"lowpass":6000}]}. Example melody: {"layers":[{"wave":"triangle","sequence":[["C4",0.25],["E4",0.25],["G4",0.5]]}]}. Full schema: spec = { "sample_rate": 44100, "duration": <seconds, default: end of last layer>, "normalize_peak_db": -1 (null to skip), "layers": [{ "wave": "sine|square|saw|triangle|noise|pink|brown|impulse|dc|silence", # pink/brown are generated circularly, so they loop seamlessly as-is. # impulse: one full-scale sample at the layer start, or a train with "freq" impulses per second. # dc: a constant offset (level set by gain_db; 0 dB = +1.0). silence: exact zeros. "freq": 440 or "A4", "freq_end": , "sweep": "exp|linear", "phase": <start phase, degrees>, "start": 0, "duration": , "gain_db": 0, "pan": -1..1, "envelope": {"attack": 0.005, "decay": 0, "sustain": 1, "release": 0.01}, "vibrato": {"rate_hz": 5, "depth_cents": 20}, "tremolo": {"rate_hz": 6, "depth": 0.5}, "lowpass": , "highpass": , "sequence": [["C4", 0.25], ["rest", 0.25], ["E4", 0.5]] # optional: one note per item, played back to back }] }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | ||
| output | Yes | ||
| overwrite | No |