Skip to content

White Noise Generator

Play bounded white noise locally in your browser with an immediate stop control and a 0–100% volume slider.

Privacy: your files never leave your device. All processing happens locally in your browser.

How to use

  1. 1.Set your device output low, then leave the tool at its conservative 15% starting volume or reduce it further.
  2. 2.Select Start white noise and adjust the 0–100% slider only as needed.
  3. 3.Select Stop before leaving the page or whenever the sound feels uncomfortable.

About White Noise Generator

White Noise Generator creates a continuous, bounded random signal with a nominally flat power distribution across the frequencies the browser can represent. It is a practical digital approximation rather than mathematically ideal infinite-bandwidth noise. The signal starts at a conservative 15% tool gain and can be adjusted from 0% through 100% while it is playing. Start and Stop are explicit controls, and repeated clicks cannot create overlapping players.

The generator fills a two-second mono AudioBuffer with independent-looking samples uniformly distributed from -1 inclusive to 1 exclusive, then loops that buffer through a GainNode. Uniform bounded white noise differs in amplitude distribution from Gaussian white noise, but both are white when their samples are uncorrelated and their expected power spectral density is flat. MathWorks documents the flat-PSD definition and random-sequence approximation; NI independently describes wide-band noise as flat in the frequency domain.

Playback uses the current browser's native sample rate, accepted only from 8 kHz through 192 kHz. The fixed two-second duration caps allocation at 384,000 float samples, or about 1.5 MiB of sample storage at the maximum accepted rate. This explicit budget prevents an unusual AudioContext configuration from requesting an unbounded buffer. The buffer loops until Stop is selected or the component leaves the page.

A fresh 32-bit seed is requested for every start. The sample sequence uses the three-shift xorshift32 recurrence described by George Marsaglia, then maps each unsigned 32-bit output into [-1, 1). The generator is not cryptographically secure and is not presented as such. Deterministic fixed seeds exist only in executable tests: eight exact Float32 samples catch recurrence or mapping drift, while a 200,000-sample fixture checks range, near-zero mean, expected uniform mean-square power, RMS, extremes, and low lag-one product.

The volume slider controls only this page's linear GainNode. Your operating system, browser, speakers, headphones, amplifier, and listening environment also affect actual sound pressure. A low percentage is not a measurement or safety guarantee, and 100% is not endorsed as safe. Begin low, lower the output or stop if it feels uncomfortable, and follow the guidance supplied with your audio equipment.

Starting playback creates one AudioContext, one looping AudioBufferSourceNode, and one GainNode. Stop invalidates any start still waiting for browser resume, stops and disconnects both audio nodes, and closes the context. The same cleanup runs if startup fails or the component unmounts, so navigation and 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.

All generation and playback occur in the current browser tab. No audio, setting, seed, or listening data is uploaded to Lizely. 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.

Methodology & sources

The player validates the browser sample rate from 8,000 through 192,000 Hz, allocates exactly two seconds of mono Float32 samples, and feeds a looping AudioBufferSourceNode through one GainNode. Each session uses a fresh 32-bit seed; xorshift32 produces unsigned states that are linearly mapped into [-1, 1). UI gain is volumePercent/100 with a 15% default and an inclusive 0–100% input range. A generation token and synchronous starting/playing refs reject duplicate or stale starts. Stop, startup failure, and unmount all stop and disconnect the source, disconnect gain, and close AudioContext. Eight exact deterministic samples verify the recurrence, while a 200,000-sample invariant fixture checks bounds, mean, uniform mean square 1/3, RMS sqrt(1/3), extrema, and lag-one product. No Blob URL, download, recording, upload, medical promise, or external dependency is used.

Frequently asked questions

What kind of white noise does this tool generate?
It loops a browser-generated mono buffer of bounded uniform samples from -1 inclusive to 1 exclusive. This is a practical band-limited digital approximation of white noise.
Does 15% guarantee a safe listening level?
No. It is only a conservative tool-gain default. Device volume, headphones, speakers, amplification, fit, and environment determine actual loudness, so start low and stop if uncomfortable.
Will repeated Start clicks layer several signals?
No. Start is guarded while playback is starting or active, and Stop closes the current audio graph before another session can begin.
Is any audio or listening data uploaded?
No. The signal is generated and played locally in the current browser tab, and the tool does not access your microphone.