Two separate stream sounds with elongating transformations are used to cover the length of the stream.
DEF streamSoundXForm Transform { children [ Transform { children DEF lowerStream Sound { source DEF lowWater AudioClip { url "water1.wav" loop TRUE startTime 1 description "lower stream sound" } location 0 0 0 direction 0 0 1 minFront 30 maxFront 50 minBack 15 maxBack 25 } translation -6.85 2.62 -2.19 rotation 0.98 0.16 0.042 0.27 scale 0.76 0.61 0.952 scaleOrientation 0.97 0.077 0.23 0.67 } Transform { children DEF upperStreamSound Transform { children DEF upperStream Sound { source DEF Sound1clip AudioClip { url "water.wav" loop TRUE startTime 1 description "upperStreamClip" } location 0 0 -0.000628591 direction 0 0 1 minFront 30 maxFront 50 minBack 30 maxBack 50 } translation -63.3646 -94.399 217.039 rotation 0.0337656 0.996976 0.0699887 4.69552 scale 1 1 3.5 } translation -182.7 140.19 6.1 rotation 0.24 0.97 0.035 2.51 scale 0.771745 0.771745 0.238123 scaleOrientation 0 0.7 -0.7 0.9 } ] translation -12.9689 3.87888 194.88 rotation 0.09 -1 0.05 0.98 scale 1.06 1.06 3.45 }