Designing Sound - Procedural Audio for Games and Film.

Code examples for “Designing Sound” textbook

Practical 14: Poured Water

Pure Data

Water - poured liquid model

#N canvas 108 13 672 499 10;
#X obj 418 133 line;
#X obj 341 458 dac~;
#X obj 6 14 bng 15 250 50 0 empty empty fill-em-up 0 -6 1 8 -262144
-1 -1;
#N canvas 202 87 227 371 waterflow 0;
#X obj 5 173 osc~;
#X obj 5 146 line~;
#X obj 46 290 *~;
#X obj 62 269 *~;
#X obj 5 44 metro 6;
#X obj 5 105 + 800;
#X obj 62 244 *~ 0.9;
#X obj 62 224 lop~ 10;
#N canvas 0 0 450 300 bilexp 0;
#X obj 56 166 expr exp($f1);
#X obj 55 71 random 8192;
#X obj 56 139 * 9;
#X obj 55 116 / 4096;
#X obj 123 91 > 4096;
#X obj 123 113 sel 0 1;
#X msg 115 141 -1;
#X msg 147 141 1;
#X obj 56 199 *;
#X obj 56 224 / 23000;
#X obj 55 45 t b;
#X obj 55 21 inlet;
#X obj 56 248 outlet;
#X obj 55 92 mod 4096;
#X connect 0 0 8 0;
#X connect 1 0 4 0;
#X connect 1 0 13 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 5 1 7 0;
#X connect 6 0 8 1;
#X connect 7 0 8 1;
#X connect 8 0 9 0;
#X connect 9 0 12 0;
#X connect 10 0 1 0;
#X connect 11 0 10 0;
#X connect 13 0 3 0;
#X restore 5 64 pd bilexp;
#X obj 62 204 clip~ 0 1;
#X obj 5 125 pack 1 2.689;
#X obj 5 85 * 1600;
#X msg 5 24 1;
#X obj 5 4 loadbang;
#X obj 62 183 fexpr~ $x1 - $x1[-1];
#X obj 46 316 *~ 0.3;
#X obj 46 338 outlet~;
#X obj 69 3 inlet rate;
#X obj 143 3 inlet depth;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 0 14 0;
#X connect 2 0 15 0;
#X connect 3 0 2 1;
#X connect 4 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 3 0;
#X connect 6 0 3 1;
#X connect 7 0 6 0;
#X connect 8 0 11 0;
#X connect 9 0 7 0;
#X connect 10 0 1 0;
#X connect 11 0 5 0;
#X connect 12 0 4 0;
#X connect 13 0 12 0;
#X connect 14 0 9 0;
#X connect 15 0 16 0;
#X connect 17 0 4 1;
#X connect 18 0 5 1;
#X restore 339 295 pd waterflow;
#X msg 418 111 0 \, 1 9000;
#X obj 418 177 swap 1;
#X obj 418 200 -;
#X obj 418 220 * 300;
#X obj 418 240 + 600;
#X obj 418 155 trigger float float;
#X obj 546 203 + 100;
#X obj 546 183 * 2000;
#X obj 269 85 trigger bang bang bang;
#X obj 343 108 del 9000;
#X obj 321 163 line;
#X msg 343 131 1 800;
#X msg 269 109 0 800;
#X obj 321 186 * 24;
#X obj 321 207 + 4;
#X obj 546 224 s cavitylength;
#X obj 412 321 r cavitylength;
#N canvas 266 175 309 287 openpipe 0;
#X obj 146 117 * 3;
#X obj 179 117 * 5;
#X obj 213 117 * 7;
#X obj 113 117 * 1;
#X obj 63 71 inlet~;
#X obj 63 237 outlet~;
#X obj 113 71 inlet length;
#X obj 63 142 bp~ 1 30;
#X obj 74 161 bp~ 1 30;
#X obj 84 181 bp~ 1 30;
#X obj 97 201 bp~ 1 30;
#X obj 113 93 trigger f f f f;
#X connect 0 0 8 1;
#X connect 1 0 9 1;
#X connect 2 0 10 1;
#X connect 3 0 7 1;
#X connect 4 0 7 0;
#X connect 4 0 8 0;
#X connect 4 0 9 0;
#X connect 4 0 10 0;
#X connect 6 0 11 0;
#X connect 7 0 5 0;
#X connect 8 0 5 0;
#X connect 9 0 5 0;
#X connect 10 0 5 0;
#X connect 11 0 3 0;
#X connect 11 1 0 0;
#X connect 11 2 1 0;
#X connect 11 3 2 0;
#X restore 340 344 pd openpipe;
#N canvas 202 87 227 371 waterflow 0;
#X obj 5 173 osc~;
#X obj 5 146 line~;
#X obj 46 290 *~;
#X obj 62 269 *~;
#X obj 5 44 metro 6;
#X obj 5 105 + 800;
#X obj 62 244 *~ 0.9;
#X obj 62 224 lop~ 10;
#N canvas 0 0 450 300 bilexp 0;
#X obj 56 166 expr exp($f1);
#X obj 55 71 random 8192;
#X obj 56 139 * 9;
#X obj 55 116 / 4096;
#X obj 123 91 > 4096;
#X obj 123 113 sel 0 1;
#X msg 115 141 -1;
#X msg 147 141 1;
#X obj 56 199 *;
#X obj 56 224 / 23000;
#X obj 55 45 t b;
#X obj 55 21 inlet;
#X obj 56 248 outlet;
#X obj 55 92 mod 4096;
#X connect 0 0 8 0;
#X connect 1 0 4 0;
#X connect 1 0 13 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 5 1 7 0;
#X connect 6 0 8 1;
#X connect 7 0 8 1;
#X connect 8 0 9 0;
#X connect 9 0 12 0;
#X connect 10 0 1 0;
#X connect 11 0 10 0;
#X connect 13 0 3 0;
#X restore 5 64 pd bilexp;
#X obj 62 204 clip~ 0 1;
#X obj 5 125 pack 1 2.689;
#X obj 5 85 * 1600;
#X msg 5 24 1;
#X obj 5 4 loadbang;
#X obj 62 183 fexpr~ $x1 - $x1[-1];
#X obj 46 316 *~ 0.3;
#X obj 46 338 outlet~;
#X obj 69 3 inlet rate;
#X obj 143 3 inlet depth;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 0 14 0;
#X connect 2 0 15 0;
#X connect 3 0 2 1;
#X connect 4 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 3 0;
#X connect 6 0 3 1;
#X connect 7 0 6 0;
#X connect 8 0 11 0;
#X connect 9 0 7 0;
#X connect 10 0 1 0;
#X connect 11 0 5 0;
#X connect 12 0 4 0;
#X connect 13 0 12 0;
#X connect 14 0 9 0;
#X connect 15 0 16 0;
#X connect 17 0 4 1;
#X connect 18 0 5 1;
#X restore 309 273 pd waterflow;
#X obj 341 431 *~;
#X obj 357 408 lop~ 0.5;
#X obj 357 385 sig~;
#X obj 120 61 trigger bang bang bang;
#X obj 194 110 del 9000;
#X obj 172 165 line;
#X msg 120 111 1 300;
#X msg 194 133 0 1200;
#X obj 172 188 s amplitude;
#X obj 357 364 r amplitude;
#N canvas 0 0 394 492 bubblefactory 0;
#X obj 49 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#N canvas 0 0 570 560 bubble 0;
#X obj 60 405 osc~;
#X obj 60 444 *~;
#X obj 30 61 inlet;
#X obj 60 469 outlet~;
#N canvas 231 126 209 211 env4pow 0;
#X obj 54 61 vline~;
#X obj 53 87 *~;
#X obj 53 112 *~;
#X obj 5 149 -~;
#X obj 5 173 outlet~;
#X msg 54 34 1 0 0 \, 0 \$1 0;
#X obj 54 10 inlet;
#X obj 4 111 sig~ 1;
#X obj 63 173 outlet~;
#X connect 0 0 1 0;
#X connect 0 0 1 1;
#X connect 1 0 2 0;
#X connect 1 0 2 1;
#X connect 2 0 3 1;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X restore 60 325 pd env4pow;
#X obj 30 83 unpack f f;
#X obj 125 347 *~;
#X obj 30 146 spigot;
#X obj 67 123 != 0;
#X obj 30 240 swap 1;
#X obj 124 369 lop~ 120;
#X obj 30 263 /;
#X obj 30 189 + 0.4;
#X obj 124 395 *~;
#X obj 186 325 swap 1;
#X obj 186 348 -;
#X obj 30 168 t f f f;
#X obj 186 369 + 0.1;
#X obj 141 179 / 3;
#X obj 141 199 + 0.6;
#X obj 60 370 +~;
#X obj 60 347 *~ 2000;
#X obj 306 88 inlet base;
#X obj 306 138 * 2;
#X obj 76 274 *;
#X obj 76 296 +;
#X obj 306 113 * 800;
#X obj 225 128 swap 1;
#X obj 226 153 -;
#X obj 29 287 *;
#X obj 224 177 * 80;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 4 0 21 0;
#X connect 4 1 6 0;
#X connect 5 0 7 0;
#X connect 5 1 8 0;
#X connect 5 1 18 0;
#X connect 6 0 10 0;
#X connect 7 0 16 0;
#X connect 8 0 7 1;
#X connect 9 0 11 0;
#X connect 9 1 11 1;
#X connect 10 0 13 0;
#X connect 11 0 29 0;
#X connect 12 0 9 0;
#X connect 13 0 1 1;
#X connect 14 0 15 0;
#X connect 14 1 15 1;
#X connect 15 0 17 0;
#X connect 16 0 12 0;
#X connect 16 1 24 0;
#X connect 16 2 14 0;
#X connect 17 0 13 1;
#X connect 18 0 19 0;
#X connect 19 0 6 1;
#X connect 20 0 0 0;
#X connect 21 0 20 0;
#X connect 22 0 26 0;
#X connect 22 0 27 0;
#X connect 23 0 24 1;
#X connect 24 0 25 0;
#X connect 25 0 20 1;
#X connect 26 0 23 0;
#X connect 26 0 25 1;
#X connect 27 0 28 0;
#X connect 27 1 28 0;
#X connect 28 0 30 0;
#X connect 29 0 4 0;
#X connect 30 0 29 1;
#X restore 28 345 pd bubble;
#X obj 99 104 random 1000;
#X obj 99 127 / 1000;
#X obj 28 295 pack f f f;
#X obj 28 167 pack f f;
#X obj 28 254 poly 4 1;
#X obj 28 320 route 1 2 3 4;
#X obj 14 104 random 1000;
#X obj 14 127 / 1000;
#X obj 28 199 spigot;
#X obj 183 103 random 100;
#X obj 49 59 t b b b;
#X obj 49 33 metro 20;
#X obj 183 148 > 70;
#N canvas 0 0 570 560 bubble 0;
#X obj 60 405 osc~;
#X obj 60 444 *~;
#X obj 30 61 inlet;
#X obj 60 469 outlet~;
#N canvas 0 0 450 300 env4pow 0;
#X obj 210 157 vline~;
#X obj 209 183 *~;
#X obj 209 208 *~;
#X obj 161 245 -~;
#X obj 161 269 outlet~;
#X msg 210 130 1 0 0 \, 0 \$1 0;
#X obj 210 106 inlet;
#X obj 160 207 sig~ 1;
#X obj 219 269 outlet~;
#X connect 0 0 1 0;
#X connect 0 0 1 1;
#X connect 1 0 2 0;
#X connect 1 0 2 1;
#X connect 2 0 3 1;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X restore 60 325 pd env4pow;
#X obj 30 83 unpack f f;
#X obj 125 347 *~;
#X obj 30 146 spigot;
#X obj 67 123 != 0;
#X obj 30 240 swap 1;
#X obj 124 369 lop~ 120;
#X obj 30 263 /;
#X obj 30 189 + 0.4;
#X obj 124 395 *~;
#X obj 186 325 swap 1;
#X obj 186 348 -;
#X obj 30 168 t f f f;
#X obj 186 369 + 0.1;
#X obj 141 179 / 3;
#X obj 141 199 + 0.6;
#X obj 60 370 +~;
#X obj 60 347 *~ 2000;
#X obj 306 88 inlet base;
#X obj 306 138 * 2;
#X obj 76 274 *;
#X obj 76 296 +;
#X obj 306 113 * 800;
#X obj 225 128 swap 1;
#X obj 226 153 -;
#X obj 29 287 *;
#X obj 224 177 * 80;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 4 0 21 0;
#X connect 4 1 6 0;
#X connect 5 0 7 0;
#X connect 5 1 8 0;
#X connect 5 1 18 0;
#X connect 6 0 10 0;
#X connect 7 0 16 0;
#X connect 8 0 7 1;
#X connect 9 0 11 0;
#X connect 9 1 11 1;
#X connect 10 0 13 0;
#X connect 11 0 29 0;
#X connect 12 0 9 0;
#X connect 13 0 1 1;
#X connect 14 0 15 0;
#X connect 14 1 15 1;
#X connect 15 0 17 0;
#X connect 16 0 12 0;
#X connect 16 1 24 0;
#X connect 16 2 14 0;
#X connect 17 0 13 1;
#X connect 18 0 19 0;
#X connect 19 0 6 1;
#X connect 20 0 0 0;
#X connect 21 0 20 0;
#X connect 22 0 26 0;
#X connect 22 0 27 0;
#X connect 23 0 24 1;
#X connect 24 0 25 0;
#X connect 25 0 20 1;
#X connect 26 0 23 0;
#X connect 26 0 25 1;
#X connect 27 0 28 0;
#X connect 27 1 28 0;
#X connect 28 0 30 0;
#X connect 29 0 4 0;
#X connect 30 0 29 1;
#X restore 38 355 pd bubble;
#N canvas 0 0 570 560 bubble 0;
#X obj 60 405 osc~;
#X obj 60 444 *~;
#X obj 30 61 inlet;
#X obj 60 469 outlet~;
#N canvas 0 0 450 300 env4pow 0;
#X obj 210 157 vline~;
#X obj 209 183 *~;
#X obj 209 208 *~;
#X obj 161 245 -~;
#X obj 161 269 outlet~;
#X msg 210 130 1 0 0 \, 0 \$1 0;
#X obj 210 106 inlet;
#X obj 160 207 sig~ 1;
#X obj 219 269 outlet~;
#X connect 0 0 1 0;
#X connect 0 0 1 1;
#X connect 1 0 2 0;
#X connect 1 0 2 1;
#X connect 2 0 3 1;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X restore 60 325 pd env4pow;
#X obj 30 83 unpack f f;
#X obj 125 347 *~;
#X obj 30 146 spigot;
#X obj 67 123 != 0;
#X obj 30 240 swap 1;
#X obj 124 369 lop~ 120;
#X obj 30 263 /;
#X obj 30 189 + 0.4;
#X obj 124 395 *~;
#X obj 186 325 swap 1;
#X obj 186 348 -;
#X obj 30 168 t f f f;
#X obj 186 369 + 0.1;
#X obj 141 179 / 3;
#X obj 141 199 + 0.6;
#X obj 60 370 +~;
#X obj 60 347 *~ 2000;
#X obj 306 88 inlet base;
#X obj 306 138 * 2;
#X obj 76 274 *;
#X obj 76 296 +;
#X obj 306 113 * 800;
#X obj 225 128 swap 1;
#X obj 226 153 -;
#X obj 29 287 *;
#X obj 224 177 * 80;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 4 0 21 0;
#X connect 4 1 6 0;
#X connect 5 0 7 0;
#X connect 5 1 8 0;
#X connect 5 1 18 0;
#X connect 6 0 10 0;
#X connect 7 0 16 0;
#X connect 8 0 7 1;
#X connect 9 0 11 0;
#X connect 9 1 11 1;
#X connect 10 0 13 0;
#X connect 11 0 29 0;
#X connect 12 0 9 0;
#X connect 13 0 1 1;
#X connect 14 0 15 0;
#X connect 14 1 15 1;
#X connect 15 0 17 0;
#X connect 16 0 12 0;
#X connect 16 1 24 0;
#X connect 16 2 14 0;
#X connect 17 0 13 1;
#X connect 18 0 19 0;
#X connect 19 0 6 1;
#X connect 20 0 0 0;
#X connect 21 0 20 0;
#X connect 22 0 26 0;
#X connect 22 0 27 0;
#X connect 23 0 24 1;
#X connect 24 0 25 0;
#X connect 25 0 20 1;
#X connect 26 0 23 0;
#X connect 26 0 25 1;
#X connect 27 0 28 0;
#X connect 27 1 28 0;
#X connect 28 0 30 0;
#X connect 29 0 4 0;
#X connect 30 0 29 1;
#X restore 48 365 pd bubble;
#N canvas 0 0 570 560 bubble 0;
#X obj 60 405 osc~;
#X obj 60 444 *~;
#X obj 30 61 inlet;
#X obj 60 469 outlet~;
#N canvas 0 0 450 300 env4pow 0;
#X obj 210 157 vline~;
#X obj 209 183 *~;
#X obj 209 208 *~;
#X obj 161 245 -~;
#X obj 161 269 outlet~;
#X msg 210 130 1 0 0 \, 0 \$1 0;
#X obj 210 106 inlet;
#X obj 160 207 sig~ 1;
#X obj 219 269 outlet~;
#X connect 0 0 1 0;
#X connect 0 0 1 1;
#X connect 1 0 2 0;
#X connect 1 0 2 1;
#X connect 2 0 3 1;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X restore 60 325 pd env4pow;
#X obj 30 83 unpack f f;
#X obj 125 347 *~;
#X obj 30 146 spigot;
#X obj 67 123 != 0;
#X obj 30 240 swap 1;
#X obj 124 369 lop~ 120;
#X obj 30 263 /;
#X obj 30 189 + 0.4;
#X obj 124 395 *~;
#X obj 186 325 swap 1;
#X obj 186 348 -;
#X obj 30 168 t f f f;
#X obj 186 369 + 0.1;
#X obj 141 179 / 3;
#X obj 141 199 + 0.6;
#X obj 60 370 +~;
#X obj 60 347 *~ 2000;
#X obj 306 88 inlet base;
#X obj 306 138 * 2;
#X obj 76 274 *;
#X obj 76 296 +;
#X obj 306 113 * 800;
#X obj 225 128 swap 1;
#X obj 226 153 -;
#X obj 29 287 *;
#X obj 224 177 * 80;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 4 0 21 0;
#X connect 4 1 6 0;
#X connect 5 0 7 0;
#X connect 5 1 8 0;
#X connect 5 1 18 0;
#X connect 6 0 10 0;
#X connect 7 0 16 0;
#X connect 8 0 7 1;
#X connect 9 0 11 0;
#X connect 9 1 11 1;
#X connect 10 0 13 0;
#X connect 11 0 29 0;
#X connect 12 0 9 0;
#X connect 13 0 1 1;
#X connect 14 0 15 0;
#X connect 14 1 15 1;
#X connect 15 0 17 0;
#X connect 16 0 12 0;
#X connect 16 1 24 0;
#X connect 16 2 14 0;
#X connect 17 0 13 1;
#X connect 18 0 19 0;
#X connect 19 0 6 1;
#X connect 20 0 0 0;
#X connect 21 0 20 0;
#X connect 22 0 26 0;
#X connect 22 0 27 0;
#X connect 23 0 24 1;
#X connect 24 0 25 0;
#X connect 25 0 20 1;
#X connect 26 0 23 0;
#X connect 26 0 25 1;
#X connect 27 0 28 0;
#X connect 27 1 28 0;
#X connect 28 0 30 0;
#X connect 29 0 4 0;
#X connect 30 0 29 1;
#X restore 58 375 pd bubble;
#X obj 163 268 inlet average pitch;
#X obj 71 13 loadbang;
#X obj 29 460 outlet~;
#X obj 206 124 inlet bubble intensity;
#X connect 0 0 13 0;
#X connect 1 0 20 0;
#X connect 2 0 3 0;
#X connect 3 0 5 1;
#X connect 4 0 7 0;
#X connect 5 0 10 0;
#X connect 6 0 4 0;
#X connect 6 1 4 1;
#X connect 6 2 4 2;
#X connect 7 0 1 0;
#X connect 7 1 15 0;
#X connect 7 2 16 0;
#X connect 7 3 17 0;
#X connect 8 0 9 0;
#X connect 9 0 5 0;
#X connect 10 0 6 0;
#X connect 11 0 14 0;
#X connect 12 0 8 0;
#X connect 12 1 2 0;
#X connect 12 2 11 0;
#X connect 13 0 12 0;
#X connect 14 0 10 1;
#X connect 15 0 20 0;
#X connect 16 0 20 0;
#X connect 17 0 20 0;
#X connect 18 0 1 1;
#X connect 18 0 15 1;
#X connect 18 0 16 1;
#X connect 18 0 17 1;
#X connect 19 0 13 0;
#X connect 21 0 14 1;
#X restore 191 274 pd bubblefactory;
#X obj 6 85 line;
#X obj 6 35 trigger bang bang;
#X msg 6 61 0 \, 1 9000;
#X obj 6 106 s bubblesize;
#X obj 191 253 r bubblesize;
#X obj 191 296 *~ 0.05;
#X connect 0 0 9 0;
#X connect 2 0 35 0;
#X connect 3 0 21 0;
#X connect 4 0 0 0;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 3 1;
#X connect 8 0 22 1;
#X connect 9 0 5 0;
#X connect 9 1 11 0;
#X connect 10 0 19 0;
#X connect 11 0 10 0;
#X connect 12 0 16 0;
#X connect 12 1 13 0;
#X connect 12 2 4 0;
#X connect 13 0 15 0;
#X connect 14 0 17 0;
#X connect 15 0 14 0;
#X connect 16 0 14 0;
#X connect 17 0 18 0;
#X connect 18 0 3 0;
#X connect 18 0 22 0;
#X connect 20 0 21 1;
#X connect 21 0 23 0;
#X connect 22 0 21 0;
#X connect 23 0 1 0;
#X connect 23 0 1 1;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 26 0 29 0;
#X connect 26 1 27 0;
#X connect 26 2 12 0;
#X connect 27 0 30 0;
#X connect 28 0 31 0;
#X connect 29 0 28 0;
#X connect 30 0 28 0;
#X connect 32 0 25 0;
#X connect 33 0 39 0;
#X connect 34 0 37 0;
#X connect 35 0 36 0;
#X connect 35 1 26 0;
#X connect 36 0 34 0;
#X connect 38 0 33 0;
#X connect 39 0 21 0;

Download pour1.pd.

Audio

Poured water effects

There are two parts to this example. The first is a four stream concurrent poured model that accentuates the change in rate of flow, as if poured from a teapot to a cup. The second modells a different vessel, a long/deep test tube, by accentuating the vessel cavity resonance and the change in bubble size as predicted by the penetration depth and surfacing time when poured from a fixed height relative to the stationary test tube (a varying height above the rising fluid surface).

Download poured_water.wav.