I saw some drum machine patches lately. I just wanted to share this method of making kick sounds. It’s basically the same idea of @manwithfeathers patch, but a little more elaborate. I think I got it from a MAX tutorial.
#N canvas 300 52 553 645 10;
#X obj 454 118 r \$0-trigger;
#X obj 454 269 log~ 2048;
#X obj 454 291 *~ 70;
#X obj 454 312 abs~;
#X obj 454 333 *~ 32;
#X obj 454 354 -~ 1200;
#X obj 454 400 clip~ 50 10000, f 18;
#X obj 454 422 osc~;
#X obj 454 467 *~;
#X obj 665 396 curve~;
#X obj 698 356 r \$0-o;
#X msg 454 226 0 \, 1 \$1;
#X obj 454 206 i;
#X obj 469 153 r \$0-decay;
#X obj 506 354 r \$0-resonance;
#X obj 506 376 expr $f1 * 130 + 20;
#N canvas 319 296 450 300 lin2log 0;
#X obj 84 -4 t 2 f;
#X obj 84 -83 inlet;
#X obj 84 74 outlet;
#X obj 84 36 pow, f 5;
#X obj 84 -34 * 14.29;
#X connect 0 0 3 0;
#X connect 0 1 3 1;
#X connect 1 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 0 0;
#X restore 529 549 pd lin2log;
#X obj 529 527 r \$0-filter;
#X obj 454 571 onepole~;
#X obj 469 175 * 8000;
#X msg 698 376 -0.1;
#X obj 665 198 r \$0-trigger;
#X msg 684 269 set \$1;
#X msg 665 300 318.182;
#X obj 684 226 r \$0-release;
#X msg 665 334 0.8 \, 0 \$1;
#X obj 684 248 expr $f1 * 2950 + 50;
#X obj 486 465 r \$0-gain;
#X obj 454 509 *~;
#X obj 454 531 clip~ -1 1;
#X obj 486 487 expr $f1 * 19 + 1;
#X obj 454 247 vline~;
#X obj 454 593 dac~;
#X obj 288 187 bng 25 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 288 217 s \$0-trigger;
#X obj 288 270 s \$0-resonance;
#X obj 288 244 moonlib/mknob 25 100 0 1 0 1 empty empty empty 1 32
0 8 -191407 -66577 -4032 2900 1;
#X obj 288 294 moonlib/mknob 25 100 0 1 0 1 empty empty empty 1 32
0 8 -191407 -66577 -4032 9900 1;
#X obj 288 344 moonlib/mknob 25 100 0 1 0 1 empty empty empty 1 32
0 8 -191407 -66577 -4032 5000 1;
#X obj 288 394 moonlib/mknob 25 100 0 1 0 1 empty empty empty 1 32
0 8 -191407 -66577 -4032 900 1;
#X obj 288 444 moonlib/mknob 25 100 0 1 0 1 empty empty empty 1 32
0 8 -191407 -66577 -4032 0 1;
#X obj 288 320 s \$0-filter;
#X obj 288 370 s \$0-decay;
#X obj 288 420 s \$0-release;
#X obj 288 470 s \$0-gain;
#X connect 0 0 12 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 28 0;
#X connect 9 0 8 1;
#X connect 10 0 20 0;
#X connect 11 0 31 0;
#X connect 12 0 11 0;
#X connect 13 0 19 0;
#X connect 14 0 15 0;
#X connect 15 0 6 1;
#X connect 16 0 18 1;
#X connect 17 0 16 0;
#X connect 18 0 32 0;
#X connect 18 0 32 1;
#X connect 19 0 12 1;
#X connect 20 0 9 2;
#X connect 21 0 23 0;
#X connect 22 0 23 0;
#X connect 23 0 25 0;
#X connect 24 0 26 0;
#X connect 25 0 9 0;
#X connect 26 0 22 0;
#X connect 27 0 30 0;
#X connect 28 0 29 0;
#X connect 29 0 18 0;
#X connect 30 0 28 1;
#X connect 31 0 1 0;
#X connect 33 0 34 0;
#X connect 36 0 35 0;
#X connect 37 0 41 0;
#X connect 38 0 42 0;
#X connect 39 0 43 0;
#X connect 40 0 44 0;