Engine overview

How ChickenMeter works

The engine is intentionally playful, but the flow is serious about clarity: capture, extract patterns, stabilize the signal, score the discomfort and show a room state people can act on.

1. Raw signal

We sample time-domain and frequency-domain data from the browser microphone with the Web Audio API.

2. Adaptive normalization

We estimate the local noise floor, normalize against recent peaks and smooth the signal so the meter feels stable instead of twitchy.

3. Score composition

Intensity, persistence, harshness and impulsiveness are blended into a 0 to 100 discomfort score with tuned attack and recovery behavior.

4. Visual state

The score is translated into memorable room states with light hysteresis, so the UI does not flicker around thresholds.