# Noise Generator (white, pink, brown) > Make white, pink, brown, blue or violet noise as a WAV file and check its spectrum. Generates coloured noise with the correct spectral slope (white 0, pink −3, brown −6, blue +3, violet +6 dB per octave) as a downloadable WAV, mono or decorrelated stereo, 8–96 kHz, with level, fades, seamless looping and a seed for repeatable files. The measured spectrum, slope and levels are reported so you can verify the colour. Part of usefulweb.app (https://usefulweb.app/). Part of [Soundscape Atlas](https://soundscape.usefulweb.app/) (ownerApp: soundscape). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://soundscapenoisegenerator.usefulweb.app/ (interactive tool at https://soundscapenoisegenerator.usefulweb.app/tool) - JSON API: POST https://soundscapenoisegenerator.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://soundscapenoisegenerator.usefulweb.app/api/v1/tool) - OpenAPI: https://soundscapenoisegenerator.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://soundscapenoisegenerator.usefulweb.app/mcp - tool `soundscape_noise_generator` ## Inputs - type (select): Noise colour - duration (number): Duration - Up to 120 seconds (stereo at 96 kHz: up to 60 seconds). The WAV file is kept on the server for about 2 hours so you can download it, then deleted. - sampleRate (select): Sample rate - channels (select): Channels - level (number): Level (RMS) - Average level. It is lowered automatically if the peaks would clip. - fadeIn (number): Fade in - Ignored for seamless loops. - fadeOut (number): Fade out - Ignored for seamless loops. - loop (boolean): Seamless loop (the end flows into the start) - encoding (select): File format - seed (text): Seed - Same seed and settings = the same file, byte for byte. Change it for a different noise. ## Method - White noise: Gaussian random samples from a seeded sfc32 generator (Box–Muller), so the power spectrum is flat. - Pink noise: white noise through a cascade of first-order pole/zero filters designed for the chosen sample rate (a pole every two octaves from 5 Hz, a zero half-way between), which averages −10 dB per decade = −3 dB per octave within about ±0.3 dB. - Brown noise: a leaky integrator (corner 10 Hz, so it never drifts) gives −6 dB per octave; blue noise inverts the pink filter (+3 dB); violet noise is the first difference of white noise (+6 dB per octave below about a quarter of the sample rate). - The level is set as RMS over all channels; if the highest peak would exceed −0.1 dBFS the gain is lowered and reported. Fades use an equal-power (sine) curve. Seamless loops render extra noise and crossfade it onto the start. - Check: the result is analysed with a Hann-windowed 4096-point Welch spectrum; the slope is a least-squares fit over 1/3-octave bands from 100 Hz to 10 kHz (or a quarter of the sample rate). ## Limits - Start playback quietly: noise at full level can damage speakers and hearing. Noise is not a medical sleep or tinnitus treatment.