Skip to the content
All toys

How the sounds work

No toy on fidgetkey plays a recording. Every pop, note, boom and tick is calculated on the device at the moment it is needed, from a short recipe. This page is for grown-ups who want the numbers; the toy pages themselves stay in plain words.

The two ingredients

Every sound is a mix of two kinds of part. A ringing tone is a pure tone that dies away: its loudness falls as e^(−t/τ), so after one decay time τ it is at 37%, and after five it is under 1%. Plastic, wood and skin have short decay times; metal and bells long ones. A tone can also slide in pitch at the start, which is what makes a "pup" or a "bloop". A noise burst is a short puff of random noise shaped by a filter: high-passed for a crack or a hiss, low-passed for a thump or a puff of air, band-passed for a rattle.

Each touch nudges the recipe a little (pitch, loudness, speed, left-right position), so a row of pops sounds like a row and not one clip repeated. Each variant is computed once, kept in memory for the visit, and reused.

Volume, fade-in and the limiter

A web page can't know how loud its sound is at the ear: that depends on the device volume and on headphones. Turn the device volume down before handing it over, and bring it up from there.

Bubble wrap

A pop is three parts: high-passed noise from 1.4 kHz that fades with τ = 1.3 ms (the crack), a 165 Hz tone with τ = 6 ms (the thump of the plastic) and low-passed noise below 700 Hz with τ = 14 ms (the puff of air). Each bubble shifts those pitches by up to ±20%, plays 0.9 to 1.12 times as fast and sits slightly left or right. A dragging finger is checked every 8 px along its path, so a bubble at least 80 px wide is checked at least ten times as the finger passes and can't be skipped, however fast the swipe.

Xylophone

The eight bars are the C major pentatonic scale (C D E G A) from C5 to E6, in equal temperament around A = 440 Hz: f = 440 × 2^((n − 69) ÷ 12), where n is the note number. The top C is note 84: f = 440 × 2^(15 ÷ 12) ≈ 1,046.5 Hz, twice the bottom C at 523.25 Hz. A strike is a tone at f, a partial at 3 × f (a tuned xylophone's overtone) and a faint one near 6.1 × f, plus a 3 ms knock of band-passed noise around 2.4 kHz from the mallet. The fundamental's decay time is τ = 0.32 s × (523.25 ÷ f)^0.6, so higher bars ring for less time, as on the real instrument. Tuning standard: ISO 16:1975 (A = 440 Hz) (checked 2026-10-11).

Pop it

A press is a tone near 300 Hz (±10%) whose pitch falls for the first 30 ms as f(t) = f₀ × 0.74^(t ÷ 30 ms), then holds while it fades with τ = 22 ms; a fainter partial at 2.3 × f₀ and a 5 ms puff of low noise round it off. With f₀ = 300 Hz the pitch is about 258 Hz after 15 ms and 222 Hz at 30 ms. After a flip, f₀ starts 10% higher, at 330 Hz.

Drum pads

Bubble pop

A pop is a tone that rises to 1.55 times its starting pitch in 35 ms and fades with τ = 45 ms, with a faint partial at 2.1 × f and a 1.5 ms click. The starting pitch runs from 900 Hz for the smallest bubbles down to 520 Hz for the biggest, ±8%, and each pop leans towards the side of the screen it was on.

Finger paint

While a finger paints, a loop of pink noise is band-passed between about 0.9 and 2.9 kHz, the band and the level following how fast the fingers move (silent when they stop), which gives a soft brushing "shh". A stamp is a padded "thup": low-passed noise below 900 Hz that swells for 3 ms and fades with τ = 30 ms, and a 230 Hz tone that falls 20% in 30 ms.

Spinner

Two forces slow the spinner: a constant bearing drag μ and air drag that grows with speed, k·ω. Speed then follows ω(t) = (ω₀ + μ/k)·e^(−kt) − μ/k, and it stops after T = ln(1 + kω₀/μ) ÷ k. The hardest flick reaches ω₀ = 157 rad/s, about 1,500 rpm; on the steel bearing (μ = 0.32 rad/s², k = 0.024 per second) that coasts for about 106 s. A tap pushes it by 28 rad/s, a few seconds of spin. The motion is computed from the formula rather than step by step, so it behaves the same on any device. The whir is pink noise band-passed at 260 Hz plus 1.4 Hz per rpm, louder as it speeds up. The three bearings are settings chosen to feel right, not measurements of real spinners.

Fireworks

The rocket's whoosh is noise band-passed around 1.8 kHz that swells over 0.32 s. The burst is a muffled boom, low-passed noise below 700 Hz that swells for 6 ms and fades with τ = 160 ms, over a 62 Hz tone, followed by six faint 2 ms crackles. To keep the screen from flashing, no more than three bursts start in any one second, the line set by the flashing rule in the W3C accessibility guidelines (WCAG 2.2, 2.3.1) (checked 2026-10-11); the sky itself never changes brightness.

Slime

Grabbing the slime plays a squelch: noise low-passed around 650 Hz with a little resonance, swelling for 12 ms and fading with τ = 50 ms, over a 150 Hz tone that sags 30% in 40 ms. Letting go plays a bloop: a 170 Hz tone rising 1.7 times in 60 ms. The blob itself is a ring of 40 points, each pulled by a spring towards its place in the blob's shape and towards its two neighbours, with damping; a finger pulls the nearest point fully and its neighbours less and less along the skin.

Water ripples

The pond is a grid of cells 8 px across (12 px on slower devices). Sixty times a second each cell's new height is half the sum of its four neighbours minus its previous height, times 0.982, the classic discrete wave equation with a little energy lost every step; that is enough for rings to form, spread, cross and reflect. A touch drops a "plip": a 520 Hz tone (±18%) rising 2.1 times in 45 ms, τ = 50 ms. A dragging finger drips at most once every 110 ms.

Clickers

The pen makes two latch clicks 6.5 ms apart on the way down (tones at 2.9 and 5.2 kHz with τ under 2.5 ms, plus a high click of noise) and one slightly higher snap on the way up. The metal toggle rings at 1.85 kHz with τ = 6 ms, over a 230 Hz body thump; the plastic rocker clunks at 880 Hz with τ = 5.5 ms; the push button's micro-switch clicks at 4.3 kHz with τ = 1.5 ms, so it is under 1% after 7.5 ms. That difference in decay time is most of what makes metal sound like metal and plastic like plastic. On recent iPhones, the haptic switches use the browser's own switch control, which gives a small physical tick: WebKit: features in Safari 18.0 (checked 2026-10-09).

Knobs

The dial has 24 notches per turn, one every 15°; the slider 21 positions; the wheel a notch every 12 px of drag. A notch counts whenever a control crosses a multiple of its step: notches = ⌊after ÷ step⌋ − ⌊before ÷ step⌋, so turning from 10° to 50° crosses 3 notches, and wiggling across one notch line counts +1 then −1. Each tick is a 3.4 kHz tone with τ = 1.3 ms (the slider's 22% lower). Ticks are spaced 12 ms apart on the audio clock; once the queue is 80 ms ahead they are squeezed to 4 ms apart, so a fast full turn still plays all 24, and only a wild spin more than 120 ms ahead drops the extra ticks.

Kaleidoscope

When beads hit each other or the wall hard enough, they chime: a tone on the bead's own note from the C major pentatonic scale (C5 to E6), with τ = 0.22 s and an inharmonic partial at 2.76 × f, like a small glass bell, at most eight chimes a second. The picture is the slice of the bead chamber between two mirrors at 60°, repeated six times around the centre with every other copy flipped.

Calm sounds (white, pink and brown noise)

White noise is independent random samples: the same power at every frequency. Pink noise is white noise through Paul Kellet's pink filter and loses 3 dB of power per octave; brown noise adds up small random steps, xₙ = 0.998·xₙ₋₁ + 0.02·wₙ, with the average removed, and loses 6 dB per octave. From 250 Hz to 4 kHz is four octaves, so pink noise is 12 dB and brown 24 dB lower at the top than white. Each colour is a 12-second loop with the join smoothed, all scaled to the same level (an RMS of 0.12 of full scale), played at half the level of the other toys, faded in over 2 s, and faded out over the last 10 s when the sleep timer ends. MathWorks: colored noise (pink −3 dB, brown −6 dB per octave) (checked 2026-10-10).

Keyboard switches (the desk toys)

Mechanical keyboards come in three main switch types, and you can hear the difference before you ever touch one. The type decides what happens inside the key on the way down; the keyboard around it decides whether the result sounds deep or bright.

TypeWhat you feelWhat you hearWell-known exampleOperating force
LinearSmooth all the way downOnly the strike at the bottom and the returnCherry MX2A Red45 cN
TactileA small bump just before the key registersA soft rub, then the strikeCherry MX2A Brown55 cN
ClickyA bump that gives way with a snapA sharp click, then the strike; another small click on the way upCherry MX2A Blue60 cN

Forces are the maker's published operating forces (sources on the keyboard sound test page). "Thock" is the low, rounded knock of a heavy, damped board with thick keycaps; "clack" is the bright snap of thin keycaps on a stiff plate. In the keyboard simulator the thocky board puts its strongest tones between 150 and 340 Hz and the clacky board between about 1.3 and 2.6 kHz. The ASMR typing page uses the same keys, played by an imaginary typist.