Frequency Masking Simulator

Frequency Masking Simulator

A loud tone hides a quiet one nearby. Drag the probe, stack maskers, carve a notch, and test yourself.

Listen safely. Master volume starts at 25 % on purpose. Turn your system volume down before you press Play, then raise it slowly. The maskers are sustained loud tones — they are meant to be loud relative to the probe, so do not chase the probe by cranking your headphones.

What frequency masking is

Your inner ear analyses sound in overlapping filters called critical bands. A loud tone (the masker) saturates the band it lands in, and a quieter tone (the probe) close by in frequency stops registering at all — it is still physically present in the air, you simply cannot hear it. This is why a quiet shaker vanishes under a loud guitar in a mix, and it is the whole idea behind MP3 and AAC: throw away what the masking curve says nobody can hear.

Why the curve is lopsided

Masking spreads much further upward in frequency than downward. The travelling wave on the basilar membrane moves from the high-frequency base of the cochlea toward the low-frequency apex, so a tone smears its excitation onto the region above its own frequency far more than below it. Result: a steep low-frequency skirt and a shallow high-frequency skirt. Practically, a 1 kHz masker will bury a 1.3 kHz probe easily but barely touches an 800 Hz probe of the same level. Try it — drag the probe the same distance left and right of the masker and watch the verdict flip on one side only.

The three modes

  • Explore — the free sandbox. Everything is visible and everything moves.
  • Game: can you still hear it? — the widget deals a probe at a random frequency and level near the threshold and hides the masking curve. You answer Still audible or Masked before the reveal. Score, streak, best streak and accuracy are kept for the session (in memory only — nothing is stored, so they reset on reload). Four difficulty levels tighten the margin the round is dealt at: Easy ±4–14 dB, Normal ±1.5–5 dB, Hard ±0.5–1.8 dB, Brutal ±0.15–0.7 dB. The graph is locked while a question is open so you cannot nudge the answer.
  • Mix rescue — a real mixing job. Load a collision preset, then get the probe back above the threshold using the three moves an engineer actually has: move it in frequency, turn it up, or carve a notch in the masker. A rescue counts at +3 dB or more of margin. Par is a rescue with a notch no deeper than 8 dB, a probe boost no larger than 4 dB and a frequency move under 4 semitones — because in a real mix you cannot fix everything by turning it up.

Multiple maskers

Turn on Masker 2 and Masker 3 to see why a dense arrangement buries everything. Each masker gets its own asymmetric spread, and the widget draws them as thin dashed curves; the thick curve is the composite. The composite is a power sum: the individual thresholds are converted to intensity, added, and converted back, which is how MPEG-style psychoacoustic models combine maskers. Two equal maskers therefore sit about 3 dB higher than either alone — take-away: nothing else changed, but the quiet part is now 3 dB deeper in trouble. (Some models take the plain maximum instead; that is never more than a few dB lower, and it is the reason different encoders make different decisions.)

The EQ notch — and the honest catch

The notch is a bell cut applied to the masker bus only. It is defined in Bark, so it has the same perceptual width everywhere. It reduces each masker's level by the amount of the bell at that masker's own frequency, and the reduced level is what feeds both the audio and the masking curve. That means the catch is real and worth knowing: a notch only removes energy where the masker actually has energy. Parking the notch on top of the probe does nothing if no masker lives there. Put it on the offending masker — that is exactly what "carve out 2.5 kHz in the guitar so the vocal comes through" means, and it is why engineers cut the loud thing rather than boosting the quiet one. One caveat worth watching: a bell has skirts, so a wide notch parked near a masker still trims it a little. Narrow the Width and the effect collapses to almost nothing — which is the demonstration.

Temporal masking

Open the Temporal masking demo section for the other half of the story: a loud sound also masks a quiet one just after it and, weakly, just before it. Honest numbers: forward (post-) masking decays over roughly 100–200 ms and is the strong one; backward (pre-) masking spans only about 5–20 ms and is much weaker and much more variable between listeners. The demo schedules a masker burst and a 50 ms probe blip on the audio clock at the gap you choose, and attenuates the blip by the same simulation rule described below, using a threshold that relaxes from the simultaneous value back toward the threshold of hearing as the gap grows.

Controls — mouse and touch

  • Drag the round probe handle anywhere on the graph: left/right changes its frequency, up/down changes its level. This is the main event.
  • Drag any square masker handle at the top of a bar to move that masker; the composite threshold curve follows live. Handles are picked nearest-first, and the probe wins a tie, so overlapping markers stay usable.
  • Drag the diamond on the frequency axis (only shown when the notch is on) to sweep the notch centre. It sits below the plot on purpose so it can never overlap the other handles.
  • Tap or click empty graph space to jump the probe straight there.
  • Every handle has a generous finger-sized hit area.
  • Every value is also settable exactly with the sliders and number boxes under the graph — frequency in Hz, level in dB, notch depth and width.
  • Masker only / Probe only / Both switches what is sounding. Play starts and stops audio. Master volume and Reset are at the bottom.
  • Presets load real-world collisions in one tap and name what is colliding.

Controls — keyboard

  • Space play / stop.
  • move the selected marker by a semitone in frequency; hold Shift for a quarter-tone.
  • change the selected marker's level by 1 dB; hold Shift for 5 dB.
  • P selects the probe, M cycles through the active maskers (or use the buttons above the graph).
  • In the game: 1 answers Still audible, 2 answers Masked, N deals the next round.
  • Arrow keys are never hijacked while a slider or number box has focus — there they do their normal job.

How the sound is produced — plainly

This widget is not measuring your hearing and makes no claim about your ears. It runs a threshold model, and then the probe's own output level is reduced whenever it falls under the modelled masking threshold, so what reaches your speakers already has the masking applied. In other words you are hearing a simulation of what masking does, produced by attenuating the probe, not a measurement of what you personally can detect. The probe is only attenuated when a masker is actually sounding — in Probe only it always plays at its full set level, which is exactly why the A/B is so stark. The same is true of the game: you are being scored on predicting the model, not on the acuity of your ears.

The model. Frequencies are converted to the Bark scale with z = 13 atan(0.00076 f) + 3.5 atan((f/7500)²). Each masker's threshold is a simple two-sided spreading function dropping 27 dB per Bark below the masker and only 10 dB per Bark above it, starting 8 dB under that masker's level; several maskers are combined by power sum. A standard absolute-threshold-of-hearing curve is layered underneath, so a probe can also be simply too quiet to hear — that is the difference between the Masked verdict (under a masker's curve) and the Inaudible verdict (under the threshold of hearing, e.g. a 17 kHz probe at 20 dB, which no masker is doing anything about). This is a deliberately simplified stand-in for a real psychoacoustic curve: real spreading also depends on masker level and frequency, tone maskers differ from noise maskers, and beating near the masker frequency is not modelled at all. It is right about the shape and the asymmetry, not about your exact decibels.

Five things to try

  • Set Both, press Play, then drag the probe slowly right from 1.1 kHz to about 2 kHz. It climbs out from under the shallow upper skirt and pops back into existence. Now drag it the same distance left instead — it reappears almost immediately, because the lower skirt is a cliff.
  • Park the probe just under the curve, then toggle Probe only and Both back and forth without touching anything else. Same probe, same level; obvious alone, gone in company.
  • Load Kick vs bass, then switch off Masker 2 and 3 one at a time and watch the composite drop. That gap between one masker and three is the entire argument for arrangement over EQ.
  • In Mix rescue, try to make par on Vocal vs guitar with the notch alone, never touching the probe's level. It is possible, and it is the lesson.
  • Play the game on Hard for ten rounds. You will start reading the asymmetry instead of guessing, which is the point.

Frequency vs level

Masker tones Composite masking threshold Probe tone EQ notch centre Threshold of hearing
Masking margin
Threshold at probe
Probe − nearest masker
Applied attenuation

Can you still hear it?

Press Deal a round. The curve hides, a probe lands near the threshold, and you call it.

Score0no rounds yet
Streak0
Best streak0
DifficultyEasy±4–14 dB margin

Scores live in memory for this session only and reset on reload. You are scored on predicting the model, not on your hearing.

Mix rescue

Load a collision from the presets below, then get the probe back into the mix.

Par
Marginrescue at +3 dB
Notch usedpar ≤ 8 dB
Probe boostpar ≤ 4 dB
Probe movedpar < 4 semitones
Stopped. Press Play to start audio.

Real-world collisions

Textbook pair: one 1 kHz masker, probe just above it on the shallow skirt.

Masker 11000 Hz · 78 dB

Hz
dB

Masker 22500 Hz · 72 dB

Hz
dB

Masker 3160 Hz · 80 dB

Hz
dB

Probe1100 Hz · 60 dB

Hz
dB

EQ notch · masker busoff

Hz
dB
0.60 Bark

A loud sound masks a quiet one that lands just after it, and weakly one that lands just before it. Forward masking decays over roughly 100–200 ms; backward masking spans only about 5–20 ms and is far weaker and more variable between listeners. The demo plays the active maskers for 500 ms and a 50 ms probe blip at the gap you pick.

25 %

Honest about what this is: the probe's level is reduced when it falls under the modelled masking threshold, so you hear what masking does. Nothing here measures your hearing, and the game scores you on predicting the model, not on your ears. The spreading function (27 dB/Bark down, 10 dB/Bark up, maskers combined by power sum) is a simplified stand-in for a real psychoacoustic curve.

It’s a widget that shows what sound masking is and illustrates this using an example of one sound covering up another. It’s controlled via the keyboard or mouse, the mouse to click on the controls, the keyboard to adjust more quickly.

On the main canvas you see a graph: Loudness on the left, Frequency on the top. The masking threshold are the thick orange line. If your probe tone sits anywhere under this line it has been masked. Vertical bars represent the maskers. The circle is the probe. If the circle drop beneath the orange line the probe is difficult to hear.

How to Use the Widget

Settings is changed by dragging handles on the graph. The orange square is for moving the maskers in volume and frequency. The blue circle is for moving the probe. Below the graph, there’s a EQ notch option with a diamond handle that changes the center frequency of the cut.

There’s also keyboard available for nudging things around. The probe is selected by hitting the P button. Current maskers are cycled with the M button. When something is selected, use the arrow keys to change it. Left and right keys changes the element’s frequency. Up and down keys adjust the volume. For more precise changes hold the Shift key while pressing an arrow key.

On the left is a set of controls that allow you to fine-tune the scenario. There are level and frequency sliders for each masker. You can enter precise values in number boxes. The controls for the probe are identical. Overall output is controlled by a global volume slider. Note: this does not alter the relationship between the sounds.

With the EQ notch button you can apply a notch filter that reduces the masker but leaves the probe in place. You can turn on the notch and then adjust how wide the notch is, what frequency it’s centered at, and how deep it goes down. When you turn this on, the graph will automaticly update to show its impact on masking threshold.

There are three modes which can be heard in combination. Background noise only. Masker mode. The target tone only. Probe mode. Both together, this is where you hear the masking effect. These modes helps you understand how things interact, as well as isolate sounds.

It has preset buttons that load typical mixing scenario, such as a kick drum covering up a bass line, or vocals fighting against guitars. Clicking the preset resets your controls and the graph, giving you a starting point to experiment with.

In this test, we hide the masking curve on the graph. You are instructed to press a button (or key ‘1’ if it’s audible, ‘2’ if it’s not) and determine whether you can hear the probe or if it is covered up by another sound. Result and score are shown following every round of the game mode.

The challenge for rescue mode is to unmask a probe and repair it. In this case, you begin with the probe hidden from view. Your task is to use an EQ notch or adjust other controls until the probe can be heard. Is it rescued? Did you adjusted only minimally? The widget will let you know.

Clicking on the help button brings up a more detailed explanation of how it works. This is where I recommend visiting if you’re having trouble and want a deeper explanation of the science behind the widget. From here, you can also turn on fullscreen mode for a larger graph display.

Bring the probe near a masker and listen when it dissapears. Then pull it back out and listen when it returns. Tweak the EQ notch until you find that sweet spot where you clear a path. Try the presets where you’ll find other types of masking. Work through these situations and learn how to solve them.

Load a scenario from a preset then click on the probe. Listen as you move it across the graph. When it stops being audible, that is typically when you are near your target. Turn the notch of the EQ or whatever control down so it starts again. Keep playing with it till you have an idea of what each control do.

Leave a Comment