Designing Sound - Procedural Audio for Games and Film.

Code examples for “Designing Sound” textbook

Practical 9: Creaking Door

Pure Data

Creaking door effect - requires abstraction below

#N canvas 230 268 132 154 10;
#X obj 12 -22 hsl 64 12 0 1 0 0 empty empty door 20 6 1 8 -262144 -1
-1 0 1;
#X obj 9 88 dac~;
#N canvas 102 47 470 102 wood 0;
#X obj 232 1 inlet~;
#X obj 423 42 *~ 0.2;
#X obj 232 83 outlet~;
#X obj 144 42 bp~ 250 2;
#X obj 212 42 bp~ 395 2;
#X obj 76 42 bp~ 125 1;
#X obj 1 42 bp~ 62.5 1;
#X obj 282 42 bp~ 560 3;
#X obj 351 42 bp~ 790 3;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 0 0 4 0;
#X connect 0 0 5 0;
#X connect 0 0 6 0;
#X connect 0 0 7 0;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 2 0;
#X connect 8 0 2 0;
#X restore 9 18 pd wood;
#N canvas 0 0 156 602 stickslip 0;
#X obj 8 344 timer;
#X obj 8 537 vline~;
#X obj 8 268 metro;
#X obj 83 92 swap 1;
#X obj 84 115 -;
#X obj 8 64 t f f;
#X obj 8 105 change;
#X obj 8 43 line;
#X msg 8 22 \$1 100;
#X obj 8 320 t b b;
#X obj 8 496 pack f f;
#X obj 8 561 *~;
#X obj 8 367 min 100;
#X obj 8 389 / 100;
#X obj 114 255 * 60;
#X obj 114 277 + 3;
#X obj 68 191 random 1000;
#X obj 68 212 / 1000;
#X obj 68 276 *;
#X obj 84 138 t f f;
#X obj 68 299 +;
#X obj 8 410 sqrt;
#X msg 8 516 \$1 \, 0 \$2;
#X obj 8 297 t b b;
#X obj 84 254 * 6;
#X obj 8 474 sqrt;
#X obj 8 453 + 0.1;
#X obj 8 431 t f f;
#X obj 8 85 > 0.3;
#X obj 8 1 inlet force;
#X obj 8 582 outlet~ pulse;
#X connect 0 0 12 0;
#X connect 1 0 11 0;
#X connect 1 0 11 1;
#X connect 2 0 23 0;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 19 0;
#X connect 5 0 28 0;
#X connect 5 1 3 0;
#X connect 6 0 2 0;
#X connect 7 0 5 0;
#X connect 8 0 7 0;
#X connect 9 0 0 0;
#X connect 9 1 0 1;
#X connect 10 0 22 0;
#X connect 11 0 30 0;
#X connect 12 0 13 0;
#X connect 13 0 21 0;
#X connect 14 0 15 0;
#X connect 15 0 20 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 20 0;
#X connect 19 0 24 0;
#X connect 19 1 14 0;
#X connect 20 0 2 1;
#X connect 21 0 27 0;
#X connect 22 0 1 0;
#X connect 23 0 9 0;
#X connect 23 1 16 0;
#X connect 24 0 18 1;
#X connect 25 0 10 0;
#X connect 26 0 25 0;
#X connect 27 0 26 0;
#X connect 27 1 10 1;
#X connect 28 0 6 0;
#X connect 29 0 8 0;
#X restore 9 -4 pd stickslip;
#N canvas 32 10 176 325 squarepanel 0;
#X obj 54 212 dfbef 16 0.05;
#X obj 54 189 dfbef 10.12 0.05;
#X obj 54 166 dfbef 7.14 0.05;
#X obj 54 143 dfbef 5.48 0.05;
#X obj 54 120 dfbef 8 0.05;
#X obj 54 97 dfbef 6.27 0.05;
#X obj 54 74 dfbef 5.06 0.05;
#X obj 54 51 dfbef 4.52 0.05;
#X obj 2 280 hip~ 125;
#X obj 3 1 inlet~;
#X obj 2 303 outlet~;
#X connect 0 0 8 0;
#X connect 1 0 8 0;
#X connect 2 0 8 0;
#X connect 3 0 8 0;
#X connect 4 0 8 0;
#X connect 5 0 8 0;
#X connect 6 0 8 0;
#X connect 7 0 8 0;
#X connect 8 0 10 0;
#X connect 9 0 7 0;
#X connect 9 0 6 0;
#X connect 9 0 5 0;
#X connect 9 0 4 0;
#X connect 9 0 3 0;
#X connect 9 0 2 0;
#X connect 9 0 1 0;
#X connect 9 0 0 0;
#X restore 9 40 pd squarepanel;
#X obj 9 62 *~ 0.2;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X connect 5 0 1 1;

Download doorcreaker.pd.

Delay element for creaking door model

#N canvas 161 154 133 178 10;
#X obj 1 65 +~;
#X obj 1 3 inlet~;
#X obj 3 155 outlet~;
#X obj 3 109 delread~ \$0-a \$1;
#X obj 11 134 s~ \$0-fba;
#X obj 17 24 r~ \$0-fba;
#X obj 2 86 delwrite~ \$0-a 100;
#X obj 17 44 *~ \$2;
#X connect 0 0 6 0;
#X connect 1 0 0 0;
#X connect 3 0 2 0;
#X connect 3 0 4 0;
#X connect 5 0 7 0;
#X connect 7 0 0 1;

Download dfbef.pd.

Audio

Creaky door

Download creaking.wav.