# Ambience Generator (rain, wind, stream, fire, hum, drone) > Synthesize rain, wind, water, fire, room hum or a drone as a seamless-loop WAV. Creates procedural background sound — rain with individual drops, gusty wind, a bubbling stream, a crackling campfire, room tone with mechanical hum, or an evolving drone — as a seamless-loop WAV. Every layer is synthesized from seeded noise and oscillators (no samples), with intensity, brightness and character controls and an optional room reverb. 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://soundscapeambiencegenerator.usefulweb.app/ (interactive tool at https://soundscapeambiencegenerator.usefulweb.app/tool) - JSON API: POST https://soundscapeambiencegenerator.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://soundscapeambiencegenerator.usefulweb.app/api/v1/tool) - OpenAPI: https://soundscapeambiencegenerator.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://soundscapeambiencegenerator.usefulweb.app/mcp - tool `soundscape_ambience_generator` ## Inputs - kind (select): Sound - duration (number): Loop length - Up to 60 seconds (stereo up to 48 kHz). A seamless loop can be repeated as long as you like in any player that loops. 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) - loop (boolean): Seamless loop - loopCrossfade (number): Loop crossfade - Longer crossfades hide the seam better; at most a quarter of the loop length is used. - room (select): Room - intensity (number): Intensity (rain, wind strength, water flow, fire size) - density (number): Raindrops per second at full intensity (rain) - brightness (number): Brightness (rain, fire, hum, drone) - gustiness (number): Gustiness (wind) - pitch (number): Pitch (wind) or water size (stream: 0 brook … 1 river) - detail (number): Bubbles (stream) or crackles (fire) - frequency (number): Frequency (hum fundamental or drone root) - Empty = 100 Hz hum (transformer hum on 50 Hz mains; use 120 for 60 Hz mains) or a 55 Hz drone root. - partials (integer): Harmonics (hum, 1–16) or voices (drone, 2–8) - Empty = 8 harmonics or 4 voices. - detuneCents (number): Detune spread (drone) - motion (number): Slow movement (drone LFO depth, hum wobble) - lfoRate (number): LFO rate (drone) - roomToneDb (number): Room tone level relative to the hum (hum) - encoding (select): File format - seed (text): Seed - Same seed and settings = the same file. Change it for different drops, gusts and crackles. ## Method - Rain: a pink-noise bed band-limited by the brightness, plus raindrops as a Poisson process (rate = drops per second × intensity), each a short decaying, slightly falling sine with a click, at a random stereo position. - Wind: pink noise through a band-pass filter whose centre frequency, sharpness and level follow a gust envelope made from three smoothed random curves (about 8 s, 2.5 s and 0.8 s), plus low rumble; the right channel hears each gust 0.25 s later. - Stream: four noise bands (≈300 Hz–4 kHz, lower for larger water) with fast random level changes, plus bubbles: short sines with rising pitch, as in physically based liquid-sound models. - Fire: low brown-noise roar and airy hiss with flicker, plus clusters of very short noise bursts (crackles) and occasional low pops. Hum: fundamental and harmonics with a 1/k^p roll-off (odd harmonics stronger) over low-passed pink room tone. Drone: band-limited (polyBLEP) sawtooth voices on root, fifth and octave, detuned, through a low-pass filter moved by slow LFOs. - Seamless loops: noise-like parts are rendered longer and the tail is crossfaded (equal power) onto the start; periodic parts (hum, drone, LFOs) are rounded to whole cycles per loop so they repeat exactly. Optional room reverb (Freeverb structure) is applied before looping, with a warm-up so the loop start is already reverberant. ## Limits - These are synthesized impressions of natural sounds, not field recordings. Start playback quietly.