A white noise generator is "accurate" when its output has a flat power spectral density across the frequencies it represents and its samples are statistically independent — exactly the two properties NI describes for wide-band noise and that MathWorks documents for band-limited white noise. The Lizely White Noise Generator is engineered as a practical digital approximation rather than a mathematically ideal infinite-bandwidth source. Its samples are uncorrelated, its expected PSD is flat over the band the browser can represent, and its bounded uniform amplitude distribution sits in [-1, 1) instead of following a Gaussian curve. Verification is built into the build pipeline: an eight-sample deterministic fixture catches recurrence or mapping drift, and a 200,000-sample invariant fixture checks range, near-zero mean, expected uniform mean-square power, RMS, extrema, and lag-one correlation. For most listening and signal-routing tasks this level of accuracy is more than enough, though it is not the same thing as a laboratory-grade noise source and the volume slider controls only this page's linear GainNode.

What Accuracy Means for White Noise
"White noise" gets used loosely in marketing copy, but to judge accuracy you need a fixed definition. MathWorks defines band-limited white noise by two conditions: the samples are independent and the power spectral density is constant across the band the source actually covers. NI independently describes wide-band noise as flat in the frequency domain — the same PSD condition stated without the statistical-independence clause. When both conditions hold, the source qualifies as white. When either fails — for example a correlated pseudo-random stream, or a stream whose spectrum rolls off toward the high end — the signal drifts toward "colored" noise like pink or brown.
For the Lizely tool the practical band is set by the browser's native sample rate. The player validates the sample rate from 8,000 Hz through 192,000 Hz and allocates exactly two seconds of mono Float32 samples at that rate. Above that band the spectrum simply does not exist; below it, inside the band, the expected PSD is flat. That is why the product contract calls the generator "a practical digital approximation rather than mathematically ideal infinite-bandwidth noise." The accuracy target is flatness and independence inside the audible band, not perfection across all frequencies.
A subtler accuracy question is amplitude distribution. Two noise streams can both be "white" while looking very different on an oscilloscope. Gaussian white noise clusters around zero with rare extreme samples, while bounded uniform white noise spreads evenly between its minimum and maximum. The Lizely generator fills its buffer with independent-looking samples uniformly distributed from -1 inclusive to 1 exclusive, which is the uniform flavor of white noise rather than the Gaussian one. Both can be white, but they will not measure identically if your downstream code assumes a specific distribution.
How the Lizely Generator Stays Accurate
The accuracy of any pseudo-random generator rests on two things: the recurrence that produces the next state and the mapping that turns a state into a sample. The Lizely tool uses the three-shift xorshift32 recurrence described by George Marsaglia, which advances a 32-bit state through a sequence of xor and shift operations. Each unsigned 32-bit output is then mapped linearly into the half-open interval [-1, 1). A fresh seed is requested for every Start click, so two consecutive sessions do not share a stream.
Because xorshift32 is fast and stateless from the page's perspective, the implementation can keep it firmly inside the Web Audio API's per-frame budget without depending on a network call or a worker thread. It is also explicitly not cryptographically secure, and the product contract is clear that it is not presented as such. For audio purposes that is fine: the recurrence is long enough that any human listener or audio-routing test will treat the stream as independent, and the verification fixtures catch any silent drift in the recurrence or mapping that would let a pattern leak through.
The buffer itself is two seconds of mono Float32, fed through one looping AudioBufferSourceNode and one GainNode. Looping a fixed buffer introduces one theoretical concern: a perfectly periodic loop will eventually reveal itself in the autocorrelation. The cap of 384,000 float samples and the two-second duration are chosen to keep allocation bounded — at the maximum accepted sample rate of 192 kHz the storage is exactly:
- 384,000 samples × 4 bytes per Float32 = 1,536,000 bytes
- 1,536,000 bytes ÷ 1,048,576 (bytes per MiB) ≈ 1.46 MiB
That explicit budget prevents an unusual AudioContext configuration from requesting an unbounded buffer.
Statistical Properties You Can Verify
The 200,000-sample invariant fixture checks the properties that mathematically distinguish a uniform white-noise stream from a biased, clipped, or correlated one. Because the values below are fixed properties of the uniform distribution on [-1, 1), they are published constants rather than numbers computed by hand from a specific run.
| Property | Expected value (Uniform on [-1, 1)) | What the fixture checks |
|---|---|---|
| Sample range | -1 ≤ x < 1 | Boundary sample values stay inside the half-open interval |
| Mean | 0 | Near-zero empirical mean across 200,000 samples |
| Mean-square power | 1/3 | Empirical E[X²] approaches the uniform mean-square |
| RMS amplitude | √(1/3) ≈ 0.577 | Empirical RMS magnitude matches the theoretical value |
| Extrema | Approaches ±1 over long runs | Recorded extremes stay within the valid range |
| Lag-one autocorrelation | ≈ 0 for independent samples | Low lag-one product across the fixture |
These are the same targets the MathWorks and NI definitions imply when they describe white noise as flat in power across its band and uncorrelated sample to sample. If the fixture values drift away from those targets, the recurrence has broken or the mapping has been changed; if the targets drift in the fixture itself, the distribution has been redefined. Either failure fails the build.
How to Use the White Noise Generator
The verified operating steps for the tool are deliberately short and conservative on purpose — accuracy only matters if the listener stays comfortable.
- Set your device output low, then leave the tool at its conservative 15% starting volume or reduce it further.
- Select Start white noise and adjust the 0–100% slider only as needed.
- Select Stop before leaving the page or whenever the sound feels uncomfortable.
Open the White Noise Generator page in a browser that supports the Web Audio API. The Start button creates one AudioContext, one looping source node, and one gain node. The Stop button, the page-unmount path, and any startup failure all stop and disconnect those nodes and close the context, so repeated Start/Stop cycles do not intentionally leave live audio graphs behind. If Web Audio is unavailable or the browser rejects startup, the tool shows an error and leaves no stale playing state — it will not start a half-configured stream.
Practical Limits of Browser-Based Accuracy
A browser-local generator is accurate inside the band it can represent, but it is not a calibrated instrument. The volume slider controls only this page's linear GainNode; your operating system, browser, speakers, headphones, amplifier, fit, and listening environment also determine the actual sound pressure that reaches your ears. A low percentage on the slider is not a measurement or safety guarantee, and 100% is not endorsed as safe. If you want to test routing in a DAW or measure room response, treat the slider as a coarse starting point and use your DAW's own meters, or a separate SPL meter, to confirm levels.
Two further limits shape what "accuracy" can mean here. First, the buffer is mono and bounded: there is no stereo field, no sample-by-sample Gaussian weighting, and no claim of infinite bandwidth. Second, the tool does not record microphone input, analyze a room, calibrate sound pressure, download a file, or claim to diagnose, prevent, or treat sleep, hearing, tinnitus, anxiety, or any other health condition. It is a simple controllable signal source, not medical equipment, hearing protection, or a certified acoustic test instrument. All generation and playback occur in the current browser tab, and no audio, setting, seed, or listening data is uploaded.
If you also want to know how the tool handles privacy and what its safety limits really are, the safety-focused walkthrough covers the same generator from that angle.
When Browser Accuracy Is Enough
For sleep masking, focus sessions, quick routing checks, or learning how a plugin reacts to a flat-spectrum source, the Lizely White Noise Generator is accurate enough. Its PSD is flat over the audible band the browser supports, its samples are uncorrelated, and the verification fixtures guard against drift in the recurrence or mapping. For anything that needs a calibrated SPL figure, an audiometric test tone, or a cryptographically secure random source, reach for an instrument built for that purpose. The generator's accuracy is real, and so are its limits — and the product contract is unusually clear about both.
If you're weighing options, White Noise Generator Alternative: A Browser-Local Option covers this in detail.