# Audio de-esser

- Human page: https://happytails.ai/en/media-tools/audio-de-esser/
- Markdown: https://happytails.ai/en/media-tools/audio-de-esser.md
- Structured JSON: https://happytails.ai/agents/en/media-tools/audio-de-esser/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `audio-de-esser` |
| 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. Reduces sibilance in one recording up to 10 minutes.

### Inputs and settings

No free-text input is required. Use the file inputs and/or settings below.

Accepted browser files: `.wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*`. Choose one file.

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

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `frequency` | Split frequency (Hz) | number | "6000" | min=2000 max=12000 step=100 |
| `threshold` | Threshold (dBFS) | number | "-30" | min=-60 max=0 step=0.5 |
| `maxReduction` | Largest reduction (dB) | number | "8" | min=1 max=24 step=0.5 |
| `listen` | Also export the detected sibilance band | checkbox | false |  |
| `encoding` | WAV sample format | select | "match" | Allowed: match, pcm16, pcm24, 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

One recording up to 256 MiB and 10 minutes; split frequency 2,000 to 12,000 Hz and no higher than 45 percent of the sample rate, threshold -60 to 0 dBFS, reduction 1 to 24 dB. 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 in the source format or the format you choose, a JSON report, a CSV reduction trace and optionally the sibilance band as WAV.

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

### Complete machine-readable capability record

```json
{
  "id": "audio-de-esser",
  "category": "media-tools",
  "built": true,
  "requirements": "One recording up to 256 MiB and 10 minutes; split frequency 2,000 to 12,000 Hz and no higher than 45 percent of the sample rate, threshold -60 to 0 dBFS, reduction 1 to 24 dB. 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 in the source format or the format you choose, a JSON report, a CSV reduction trace and optionally the sibilance band as WAV.",
  "implementation": {
    "fields": [
      {
        "key": "frequency",
        "label": "Split frequency (Hz)",
        "value": "6000",
        "type": "number",
        "min": 2000,
        "max": 12000,
        "step": 100
      },
      {
        "key": "threshold",
        "label": "Threshold (dBFS)",
        "value": "-30",
        "type": "number",
        "min": -60,
        "max": 0,
        "step": 0.5
      },
      {
        "key": "maxReduction",
        "label": "Largest reduction (dB)",
        "value": "8",
        "type": "number",
        "min": 1,
        "max": 24,
        "step": 0.5
      },
      {
        "key": "listen",
        "label": "Also export the detected sibilance band",
        "value": false,
        "type": "checkbox"
      },
      {
        "key": "encoding",
        "label": "WAV sample format",
        "value": "match",
        "type": "select",
        "values": [
          "match",
          "pcm16",
          "pcm24",
          "float32"
        ],
        "labels": {
          "match": "Same as source",
          "pcm16": "16-bit PCM",
          "pcm24": "24-bit PCM",
          "float32": "32-bit float"
        }
      }
    ],
    "registrationFamily": "audio-dsp-dynamics-filters",
    "presentation": "metrics",
    "files": true,
    "accept": ".wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*",
    "maxFileBytes": 268435456,
    "input": false,
    "inputErrorCode": "AUDIO_DSP_DYNAMICS_FILTERS_TOO_LONG",
    "note": "Runs locally in your browser. Reduces sibilance in one recording up to 10 minutes.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Voice recording",
      "placeholder": "Choose a speech or vocal file",
      "help": "Reduce the detected high-frequency band; listen to check the effect on your voice. Up to 1,000,000 characters. Review the settings before running.",
      "helpParts": [
        "Reduce the detected high-frequency band; listen to check the effect on your voice.",
        "Up to 1,000,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

Tame harsh s and sh sounds in speech or vocals by turning down only the high frequencies when they get too loud.

### How to use Audio de-esser

1. Choose the voice recording.
2. Set the split frequency, the threshold and the largest reduction.
3. Turn on the sibilance band export if you want to hear what is detected.
4. Process, check how long the reduction was active and download the WAV.

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

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

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

- [Remove background noise](https://happytails.ai/en/media-tools/remove-background-noise/) ([Markdown](https://happytails.ai/en/media-tools/remove-background-noise.md))

One recording up to 256 MiB and 10 minutes; split frequency 2,000 to 12,000 Hz and no higher than 45 percent of the sample rate, threshold -60 to 0 dBFS, reduction 1 to 24 dB. 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 in the source format or the format you choose, a JSON report, a CSV reduction trace and optionally the sibilance band as WAV.

## Split-band method

A high-pass filter separates a high-frequency band. When its level rises above the threshold, that band is reduced by up to the amount you set, with a 1 ms attack and a 60 ms release. The filter has a gradual transition around the split frequency, so nearby lower frequencies can also be affected.

### Choosing settings

Try a split between 5,000 and 8,000 Hz and a maximum reduction of 6 to 8 dB, then listen and adjust for your recording. The split must be at least 2,000 Hz and no higher than 12,000 Hz or 45 percent of the sample rate, whichever is lower. A setting above that limit is rejected; it is not moved automatically. Export the detected band and audition it in the player to check that it contains the harsh sounds you want to reduce.

### Reading the result

The report gives the largest reduction and how many seconds were reduced by more than 1 dB. The CSV lists the reduction in 10 ms steps.
