RiverFlow generates running water from first principles and ships no samples.
It covers rivers, creeks and waterfalls, and it covers them as two different things rather than one thing at two volumes: a broadband bed with a measured colour, and a population of countable events sitting on it. Turn the events off and you have the roar. Turn them up and you have a creek you can hear the stones in.
The design is measured rather than guessed, and it is specific about where the measuring stopped. Six octave-band colours ship as the centroids of the six clusters 77 field recordings fall into. The event rates, pitches, ring times and prominences are all measured, and the pitches are cross-checked against Minnaert’s relation independently. Nothing below 60 Hz is generated at all — four of the references carry a quarter of their energy down there, and in every one of them it is uncorrelated with the water above it, which makes it wind on the microphone rather than river. The plunge pool, the reverberation and the banks are chosen rather than fitted, and the documentation says so and says why.
50 parameters, 20 fitted presets, CLAP preset discovery so the presets appear in the host’s own browser, sample-accurate note and parameter handling, host modulation and bounded event pools. With the seed pinned the output is bit-identical across runs at both 48 and 96 kHz. The window is hand-drawn — X11 or Win32 plus Cairo, no toolkit dependency — with streamlines drifting across
its header and a ring spreading wherever a dabble happens.