# Sound effect layering studio

- Human page: https://happytails.ai/en/media-tools/sound-effect-layering-studio/
- Markdown: https://happytails.ai/en/media-tools/sound-effect-layering-studio.md
- Structured JSON: https://happytails.ai/agents/en/media-tools/sound-effect-layering-studio/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `sound-effect-layering-studio` |
| Category | media-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Runs locally in your browser. Mixes up to 16 layers from up to 16 sounds into one file of at most 10 minutes.

### Inputs and settings

Text input: Layer project (JSON).

Example or placeholder shown in the interface (not a validated fixture):

```text
{"layers":[{"source":0,"offset":0}]}
```

One entry per layer: source number, offset in seconds and optional gain, fades and semitones. Up to 100,000 characters. Review the settings before running.

Accepted browser files: `.wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*`. Multiple files are supported.

Browser file-input limit: 268435456 bytes in total. HTTP limits can differ.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `sampleRate` | Sample rate (Hz) | select | "auto" | Allowed: auto, 44100, 48000 |
| `channels` | Channels | select | "2" | Allowed: 2, 1 |
| `normalize` | Lower the mix if it would peak above -1 dBFS | checkbox | true |  |
| `encoding` | WAV sample format | select | "pcm24" | Allowed: pcm24, pcm16, float32 |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

1 to 16 sounds adding up to at most 256 MiB, 1 to 16 layers, a project of up to 100,000 characters and a mix of at most 10 minutes and 60 million samples. WAV is read with every sample intact; other formats are decoded by your browser at 48 kHz. Everything is processed on your device and nothing is uploaded. Download: WAV (24-bit by default, 16-bit or 32-bit float), a JSON report and the JSON project file.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "sound-effect-layering-studio",
  "category": "media-tools",
  "built": true,
  "requirements": "1 to 16 sounds adding up to at most 256 MiB, 1 to 16 layers, a project of up to 100,000 characters and a mix of at most 10 minutes and 60 million samples. WAV is read with every sample intact; other formats are decoded by your browser at 48 kHz. Everything is processed on your device and nothing is uploaded. Download: WAV (24-bit by default, 16-bit or 32-bit float), a JSON report and the JSON project file.",
  "implementation": {
    "fields": [
      {
        "key": "sampleRate",
        "label": "Sample rate (Hz)",
        "value": "auto",
        "type": "select",
        "values": [
          "auto",
          "44100",
          "48000"
        ]
      },
      {
        "key": "channels",
        "label": "Channels",
        "value": "2",
        "type": "select",
        "values": [
          "2",
          "1"
        ]
      },
      {
        "key": "normalize",
        "label": "Lower the mix if it would peak above -1 dBFS",
        "value": true,
        "type": "checkbox"
      },
      {
        "key": "encoding",
        "label": "WAV sample format",
        "value": "pcm24",
        "type": "select",
        "values": [
          "pcm24",
          "pcm16",
          "float32"
        ]
      }
    ],
    "registrationFamily": "audio-dsp-edit",
    "presentation": "metrics",
    "files": true,
    "multiple": true,
    "accept": ".wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*",
    "maxFileBytes": 268435456,
    "inputMaxLength": 100000,
    "inputErrorCode": "AUDIO_DSP_EDIT_TOO_LONG_LAYERS",
    "note": "Runs locally in your browser. Mixes up to 16 layers from up to 16 sounds into one file of at most 10 minutes.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 100000,
      "inputMode": "text",
      "label": "Layer project (JSON)",
      "placeholder": "{\"layers\":[{\"source\":0,\"offset\":0}]}",
      "help": "One entry per layer: source number, offset in seconds and optional gain, fades and semitones. Up to 100,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Layer short sounds into one effect with your own timing, gain, fades and pitch for each layer, and keep the project file to edit it later.

### How to use Sound effect layering studio

1. Choose up to 16 sounds.
2. Write the layer project as JSON, one entry per layer pointing to a sound by number.
3. Pick the sample rate, channel count and sample format.
4. Mix the layers and download the WAV and the project file.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

## Useful next steps

- [Merge audio](https://happytails.ai/en/media-tools/merge-audio/) ([Markdown](https://happytails.ai/en/media-tools/merge-audio.md))

- [Audio crossfade mixer](https://happytails.ai/en/media-tools/audio-crossfade-mixer/) ([Markdown](https://happytails.ai/en/media-tools/audio-crossfade-mixer.md))

- [Increase audio volume](https://happytails.ai/en/media-tools/increase-audio-volume/) ([Markdown](https://happytails.ai/en/media-tools/increase-audio-volume.md))

## Project format

The project is a JSON object with a layers list, for example {"layers":\[{"source":0,"offset":0,"gainDb":-6},{"source":1,"offset":0.25,"fadeIn":0.05}\]}. source is the sound number counted from 0 in the order you chose the files. offset is the start in seconds (0 to 600), gainDb from -60 to 12, fadeIn and fadeOut in seconds up to 60, and semitones from -24 to 24 changes pitch and length together.

### Mixing

Each layer is pitch shifted if asked, resampled to the project rate, matched to the channel count and faded, then added at its offset. With automatic rate the highest source rate is used. If the mix would peak above about -1 dBFS it is lowered to that level, and the report gives the headroom gain.

### Reusing the project

The download includes the project file with every value filled in and the names of the sounds, so you can choose the same files again, paste the project and get the same mix.
