
Rain always falls on something, and the surface decides most of the sound. Name it in the prompt.
Every clip shows the exact prompt that produced it. The render script reads its prompts from the same file as this page. Copy one, change a word and generate your own.
heavy thunderstorm, driving rain with rolling thunder and wind gusting through trees, outdoor, seamless loop
rain on a car roof and windscreen with wipers sweeping intermittently, muffled interior perspective
rain falling through a dense forest canopy, drops striking leaves at varied distances, seamless loop
rainwater rushing through a metal gutter and gurgling down a drainpipe, close mic, outdoor
light drizzle on a city street, wet tyres passing on tarmac and distant traffic, night ambience
steady rain drumming on nylon tent fabric heard from inside, close and enclosed, seamless loop
torrential tropical monsoon rain hammering onto broad leaves and standing water, dense and loud
rain tapering off to occasional drips falling from leaves onto wet ground, quiet and close
hailstones clattering onto a metal roof and pavement, hard erratic percussive strikes, outdoor
footsteps splashing through puddles on a wet pavement in steady rain, close mic, outdoor
These models respond to physical description. Name the material, the action and the space.
light rain falling on a glass window, steady soft patter, close mic, indoor perspective, no wind or thunder
"Indoor perspective" filters the sound the way a pane of glass would. It sounds very different from the same rain heard outdoors.
heavy rain downpour, dense continuous patter on hard ground, outdoor open space, loud and full, no thunder
"Dense continuous patter" describes density as well as volume. A downpour is defined by how little space there is between drops.
rain falling on a corrugated tin roof, sharp metallic patter, steady rhythm, close mic, resonant metal surface
"Resonant metal surface" gets the ping of rain on metal. A generic "rain on roof" prompt gives a soft patter.
rain drumming on a nylon umbrella, close mic just below the canopy, tight rhythmic patter, muffled outdoor ambience behind it
Placing the mic "just below the canopy" sets the listening position, so the umbrella surface dominates the rain around it.
rain falling into shallow puddles on pavement, individual droplet splashes audible over a steady patter bed, close mic
"Individual droplet splashes audible over" the bed separates foreground detail from background wash. A flat "rain on pavement" prompt does not.
Rain is the sound of water hitting a particular material, and the material changes the texture more than the intensity does. Glass gives a soft patter, tin a sharp metallic ping, pavement a dense wash with occasional splashes. Always name the surface. "Rain" alone gives the model no material to render.
The same rain sounds different from three positions: outdoors in the open, indoors behind glass, or under a shelter like an umbrella or eave. Say "indoor perspective", "through a closed window" or "close mic just below the canopy" to set the filtering and proximity. This changes the result more than intensity words do.
Rain, wind and thunder often appear together in training data, so a plain "rain" prompt can drift toward a full storm. For clean rain on its own, say "no wind or thunder". You can then layer a separate thunder clip in your edit and control its timing.
The models run on your machine, which changes the cost, the privacy and what you can automate.
Weights are fetched once. After that, generation, the library and the API all work with the network off. Everything lives in one SQLite file and one folder of WAVs under ~/.soundbox, and nothing is uploaded.
Soundbox runs an MCP server in the same process, with tools for generating and listing sounds. Generated files come back as absolute paths, so an agent can copy them into a project.
Every model's terms are shown before you download it, and non-commercial weights need an explicit confirmation. Soundbox is MIT. The licence of the model that made a sound governs what you may do with it.
claude mcp add --transport http soundbox http://127.0.0.1:17494/mcpcurl -X POST http://127.0.0.1:17494/api/generate \
-H 'Content-Type: application/json' \
-d '{"model":"audiocpp-stable-audio-3-sfx","prompt":"8-bit coin pickup blip","duration_s":1}'