Skip to content
Aurisma
All articles

How the simulation works

The signal chain, the math behind it, and everything it leaves out.

8 min read

Everything happens on your device, in real time, in the browser's Web Audio engine. Nothing is uploaded.

The signal chain

Source → Split ears
  [L] → ear filter → tinnitus worklet ─┐
  [R] → ear filter → tinnitus worklet ─┴→ Merge → Level match → Limiter → Out

Three paths are wired at once — sensorineural, conductive, and bypass. Switching between paths, like holding A/B, fades one out and the other in, about a tenth of a second in all. Moving between two sensorineural profiles, or dragging the age slider, crossfades the ear filters over 80 ms instead, without a break in the sound.

From audiogram to filters

Audiogram values are in dB HL, which is already measured against typical hearing at each pitch: 30 dB HL means a sound has to be 30 dB louder than usual to be heard. So each value becomes the attenuation at its pitch. Up to 40 dB it's applied exactly; beyond that, at half depth, which keeps severe profiles audible without flattening their shape:

attenuation = loss ≤ 40 ? loss : 40 + (loss − 40) / 2

Between the tested pitches, the loss follows the audiogram's line exactly as the chart draws it. Beyond them, below 250 Hz and above 8 kHz, it holds at the end values, because hearing doesn't return to typical just past the edge of the test.

Each ear gets a single filter built from that line, about 45 milliseconds long. It's designed so that it adds almost no delay, so even live microphone sound isn't held back. Every built-in profile lands within 0.25 dB of its line at every pitch, and the filter never makes anything louder than the original sound. The spectrum view draws what the filters actually do, for both ears.

Conductive loss

A middle-ear problem attenuates sound before it reaches a healthy cochlea, so conductive profiles skip the filters entirely and apply an even reduction in level, set to the average of their audiogram. The 3D cochlea keeps every hair cell lit for these profiles, dimmed only by the quieter input.

The cochlea view

The 3D cochlea isn't decoration: each hair cell sits where its pitch belongs. The inner ear is tonotopic — high pitches are picked up at the wide base of the spiral, low ones at the narrow tip — and the position of any frequency along it follows Greenwood's place–frequency function, fitted to human cochleae in 1990:1

f = 165.4 × (10^(2.1 × x) − 0.88)      x = 0 at the apex, 1 at the base

Every cell is placed by that formula, so the lit band moves along the spiral exactly as pitch rises. How brightly a cell glows is the sound reaching it (from the live spectrum) multiplied by how healthy the profile says it is at that frequency. For conductive profiles the cells stay healthy and the whole input is simply quieter, which is why the spiral dims evenly instead of going dark in patches.

Level matching

By default quieter profiles really are quieter. Matched level turns the sound back up by as much as the profile makes speech quieter, measured the way loudness meters measure it, so you can compare tone and clarity rather than loudness. Most of speech's loudness sits in the lower pitches, so a loss mostly at high pitches gets little boost, and a flat loss gets its full depth back. The two ears' loudness adds up, so when only one ear has loss, the boost stays small instead of making the other ear louder than typical. Tinnitus stays at the loudness you set. It is a listening aid, not a hearing-aid model.

What it leaves out

  • Half depth beyond 40 dB. Loss past 40 dB is applied at half depth, so the deepest loss an audiogram shows (120 dB HL) becomes 80 dB. Severe profiles keep their shape and stay audible, but they're milder than the real thing.
  • Blurring between nearby pitches — the broader tuning of damaged hair cells — isn't modeled. The simulator changes how loud each pitch is, not how clearly pitches are told apart, so sensorineural loss can be harder to follow than it sounds here.
  • Loudness recruitment — the shrunken range between "just audible" and "too loud" — isn't modeled.
  • Temporal processing — the ear's difficulty following fast changes — isn't modeled.
  • Two-eared hearing — locating sounds and separating voices — isn't modeled beyond each ear being processed separately.
  • Your playback hardware shapes the sound too. Headphones are far more faithful than laptop speakers.
  • Individual variation. The built-in profiles are representative patterns; real audiograms vary widely even within a category.
  • The age slider follows ISO 7029's median thresholds, averaged over men and women. Those come from people screened for ear disease and noise exposure, so medians across everyone run somewhat worse, and the standard stops at 70: the slider's 80 and 90 extend its curve. It shows a typical course, not a prediction for anyone.

Credits

The two speech samples are recordings; everything else you can play here is synthesized in your browser. Both come from LibriVox, where recordings are in the public domain:

Each is trimmed at the pauses around the passage, cleaned of room rumble, and loudness-matched to the other, but never compressed or de-essed: that would shrink the gap between loud vowels and quiet consonants, which is the thing this simulator is here to show.

Your privacy

Aurisma has no accounts, no database, and no analytics or tracking. What you create stays in your own browser:

  • Profiles, hearing test results, and settings are saved in this browser's storage, on this device only. They're never uploaded, and we never receive them.
  • Audio files you open, recordings, and live microphone audio never leave your browser. They aren't uploaded, saved, or stored anywhere, not even in your browser's storage, and no one else can see or hear them. They're held in memory only while the page is open and are gone when you close or reload it. If you download the simulated version, that file goes straight to your own device.

There are two exceptions, and both are always your choice. The first is sharing. Your own profiles and test results never appear in the page address. A link is only made when you use Share, and it carries the audiogram inside the link itself, so anyone you send it to can see it. Like any web address, a share link passes through the site's host when it's opened, but it isn't saved.

The second is the contact form. What you type there is sent through the site's host. Nothing else from the site, like your profiles or test results, is attached to it.

To remove your data, delete saved tests on the hearing test page, use Delete my custom profiles in Settings, or clear this site's data in your browser's settings.

Sources

  1. D. D. Greenwood, "A cochlear frequency-position function for several species—29 years later," Journal of the Acoustical Society of America 87, no. 6 (1990): 2592–2605.

Type a command or search…

Type a command or search…