Make a sound effect or seamless loop from a recipe
r3_sound_createMake a sound (a 48 kHz WAV in the account's audio files) from a recipe that R3 renders: layers of synth / fm / noise / sample sources, each with an envelope and effects (filter, distortion, bitcrush, delay, reverb, compressor, tremolo), and a master stage that can make a seamless LOOP. Nothing is uploaded and it is free (60 sounds an hour for each agent key or app connection).
Start from a preset (laser, coin, jump, explosion, click, whoosh, hit, power-up, helicopter-rotor, engine-hum) with optional overrides {seed, duration, channels}, or pass a full recipe: r3_docs_read("SOUND_RECIPES.md") has the format, every preset's recipe and worked examples. An invalid recipe is refused with the path of the problem.
You cannot hear it: the answer gives numbers (peak / RMS dBFS, clipping, silent tail, the loop seam check, warnings), the url an Audio component takes and a listen link for the user. Pass attachTo {projectId} to also add an Audio component playing it in that project (a loop loops and plays when the project runs; a one-shot is played from code). Names are unique per account.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | What the owner sees in their audio files, e.g. "Helicopter rotor". Unique in the account. | |
| preset | No | A preset: laser, coin, jump, explosion, click, whoosh, hit, power-up, helicopter-rotor, engine-hum. | |
| recipe | No | Or a full recipe (format "r3-sound-recipe", version 1). | |
| attachTo | No | Also add an Audio component playing it: {projectId, name?, volume?, playOnStart?}. | |
| overrides | No | With a preset: {seed, duration, channels} (seed = another variation). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| loop | Yes | ||
| name | Yes | ||
| stats | Yes | ||
| answer | Yes | This answer in words: what was done, what R3 measured, decided or refused, and what to do next. The same text as the result's text block. Read it: the fields beside it are the data, this is the guidance. | |
| audioId | Yes | ||
| attached | Yes | ||
| seamless | Yes | ||
| warnings | Yes | ||
| listenUrl | Yes | ||
| durationMs | Yes |