
Overview
Sibilance (the harsh, whistly "sss" and "sh" sounds in speech) gets worse the closer a mic is placed and the more you compress or brighten a vocal. This guide covers finding the exact problem frequency and setting up a proper de-esser, the natural next step after learning EQ and compression basics.
What You Need
- A recorded vocal or dialogue track with noticeable sibilance
- A free de-esser plugin (many DAWs include one, TDR Nova and ReaFIR both work as free options)
- The site's Vocal Sibilance Finder app to pinpoint the exact frequency
Steps
Find the sibilance frequency by ear
Sibilance typically lives between 5-8 kHz, but the exact peak varies by voice. Some sit closer to 4 kHz, others past 9 kHz. Sweep a narrow EQ boost through that range while listening to an "s"-heavy phrase until it sounds most harsh and piercing.
Confirm it with a spectrum analyser
Use the site's Vocal Sibilance Finder to run an FFT analysis on the track and see the exact frequency band where "s" and "sh" sounds spike. This removes the guesswork from step 1.
Add a de-esser plugin
A de-esser is a compressor that only reacts to a specific frequency band, insert one after your main EQ and compression in the chain, since sibilance often gets amplified by earlier processing.
Set the frequency and threshold
Dial the de-esser's target frequency to what you found in steps 1-2, then lower the threshold until it engages only on the "s"/"sh" sounds specifically, not on every word.
Check in context, not solo
Listen back within the full mix, not soloed, over-de-essing creates a noticeable lisp-like effect that's more obvious in solo than in context, but under-de-essing is more obvious in a full mix. Adjust with both references.
Pro Tips
- Sibilance gets worse the closer the mic, if a specific take is unusually harsh, check whether the speaker leaned in during that section.
- De-ess before, not instead of, good mic technique. A slight off-axis mic angle reduces sibilance at the source more effectively than any plugin fixes after the fact.
- Automate de-esser intensity per section if one part of a recording is much worse than another, rather than setting one aggressive setting for the whole track.
Tested: what a de-esser spares that an EQ cut does not, and what a wrong setting does
We tested the Knowledge Base's comparison with an EQ cut and steps 4 and 5 on 2026-09-29 with FFmpeg 8.1.2 and numpy. FFmpeg's own deesser filter has no frequency in hertz, so we built the tool the page describes from its crossover and compressor filters: the signal is split at a chosen frequency, the upper band is compressed and the two are added back together. On its own the split changed no band by more than 0.05 dB. The recording is computer-generated: sixteen half-second voiced words with real high-frequency content, and an s of 150 ms at the start of every second word, 13.4 dB above the voiced level in the same 5 to 9 kHz band. Every figure is a level measured inside the s or inside the vowels.
| Treatment | Change in the s, 5 to 9 kHz (dB) | Change in the vowels, 5 to 9 kHz (dB) | Change in the vowels, 3 to 5 kHz (dB) | How far the s sits below the vowels' body (dB) |
|---|---|---|---|---|
| Untreated | 0.0 | 0.0 | 0.0 | 21.1 |
| Static cut at 7 kHz (-6.5 dB) | -6.0 | -5.9 | -2.5 | 26.9 |
| De-esser, fast setting (attack 0.5 ms, rms detection) | -6.2 | -5.1 | -0.9 | 27.3 |
| De-esser, slower setting (attack 5 ms, peak detection) | -6.9 | -0.9 | -0.3 | 28.0 |
| Slower setting, threshold pulled to the floor | -11.0 | -7.4 | -1.1 | 32.1 |
The static cut behaved as the page says. It took 6.0 dB off the s and 5.9 dB off the same band in the vowels, so it dulled every word alike, with words that had no s in them losing the same brightness.
The de-esser spared the vowels, but only with the right settings. We tried sixteen combinations of ratio, attack, release and detection, each at the threshold that took the most off the s while cutting it by at least 6 dB. The share of that cut the vowels also suffered ran from 14 percent to 83 percent. With the fast attack the vowels lost 5.1 dB against 6.2 dB for the s, barely better than the static cut. With the 5 ms attack they lost 0.9 dB against 6.9 for the s. The page's "only engages when sibilance actually occurs" describes a well set de-esser, not every one. The page does not mention attack time.
Step 4 holds for the frequency, and the threshold has a window. On the slower setting, splitting at 5 kHz, the bottom of the s, took 6.9 dB off the s and 0.9 off the vowels. Splitting at 2.5 kHz, too low, took 11.6 dB off the vowels, nearly as much as off the s (11.9), and 7.8 dB out of their 3 to 5 kHz range. Splitting at 6.5 kHz, inside the s, spared the vowels completely and took only 3.7 dB off the s, because the part below the split was left alone. At 10 kHz, above the s, nothing changed (0.1 dB). The threshold has a window too. Down to 0.0079 it took 5.2 dB off the s and left the vowels alone (0.02 dB). One step lower, at 0.0050, it took 6.9 off the s and 0.9 off the vowels. That is the page's "lower the threshold until it engages only on the s", and the window between too high and too low was narrow here.
Step 5 and the FAQ hold in direction. With the threshold pulled to the floor of the compressor's range, the s came down 11.0 dB and the vowels' same band 7.4 dB. Against the body of the vowels, 200 Hz to 3.5 kHz, the s sat 32.1 dB lower, where untreated it sat 21.1. An s pushed that far below the voice around it is the direction the page calls lisp-like. It was still 9.8 dB above the vowels' own 5 to 9 kHz. We measured levels, and did not test where a listener stops hearing an s or how any of this sounds.
A split-band de-esser in FFmpeg, splitting at 5 kHz and compressing the band above it (the settings are the slower ones from the table, and the threshold needs setting to your recording): ffmpeg -i vocal.wav -af "acrossover=split=5000:order=4th[lo][hi];[hi]acompressor=threshold=0.0050:ratio=6:attack=5:release=20:knee=1:detection=peak:makeup=1[hc];[lo][hc]amix=inputs=2:normalize=0" deessed.wav
Validated. Measured 2026-09-29 with FFmpeg 8.1.2 (acrossover, acompressor, equalizer) and numpy. The voice and the s are synthetic, and a real voice's sibilance varies far more than a steady band of noise. The threshold values depend on this recording's level. We did not test any plugin, FFmpeg's own deesser filter (it has no frequency setting in hertz), the order of compression and de-essing, or how any result sounds. The filter graph in the command is the one that was measured.
Knowledge Base
Why Sibilance Happens
"S" "sh" "ch" and "t" sounds are naturally high-frequency and high-energy, condenser mics (more sensitive at high frequencies) and close mic placement both exaggerate them further. Compression and bright EQ boosts, both common in podcast and VO chains, make already-present sibilance more prominent rather than creating it from nothing.
De-Esser vs. Standard EQ
A static EQ cut at the sibilance frequency reduces sibilance evenly across the whole recording, including on words that don't have any "s" sounds, dulling the voice unnecessarily. A de-esser only engages dynamically when sibilance actually occurs, preserving natural brightness everywhere else.
Free De-Esser Options
TDR Nova (free, includes a dynamic EQ band that works well as a de-esser), ReaFIR (bundled free with REAPER), and most DAWs' stock channel strips include a basic de-esser. A dedicated paid de-esser plugin is rarely necessary for typical podcast/VO work.
Where This Fits
De-essing tidies one vocal, and Mixing a Full Song covers how that vocal then sits in the whole mix.
FAQ
Q: Can I de-ess too aggressively?
A: Yes, over-de-essed vocals develop a subtle lisp-like quality where "s" sounds seem to disappear or lisp rather than sound naturally reduced. Back off the threshold if you hear this.
Q: Should I de-ess before or after compression?
A: After, compression tends to bring up sibilance along with everything else, so de-essing afterward catches the actual post-compression problem rather than guessing at it beforehand.
Vocabulary
Split-band processing. Treating one frequency range separately from the rest of a signal. Allows sibilance to be reduced without dulling everything else, which a broad filter cannot do.
Dynamic equalisation. An equaliser acting only when the level in its band exceeds a threshold. Leaves quiet passages untouched and reduces the band only where the problem actually occurs.
Lisping artefact. The over-processed result where too much reduction removes the sound of s entirely. Noticed immediately by listeners and harder to fix than the original harshness.
Detection band. The frequency range a processor listens to when deciding whether to act, which need not match the range it reduces. Setting it to a voice's own sibilant region is what makes treatment precise.
Translate this page
- Español
- 简体中文
- हिन्दी
- العربية
- Português
- Français
- Deutsch
- 日本語
- Русский
- Bahasa Indonesia
- 한국어
- Italiano
- Türkçe
- Tiếng Việt
- Polski
- Nederlands
Machine translation provided by Google Translate, on Google’s servers. We do not check these translations and they will get technical terms wrong. The English page is the authoritative one. Following a link sends this page’s address to Google. Your browser may also offer to translate this page itself, which keeps the request on your device.