#N canvas -8 -8 1600 817 10; #N canvas 0 0 1596 801 DrumMachine 0; #X obj 262 298 tgl 15 0 \$0-1 empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 353 62 metro; #X obj 212 -57 60000; #X obj 212 -31 /; #X floatatom 212 -2 5 0 0 0 - - -; #X obj 212 25 * 0.25; #X obj 160 -130 change; #X obj 232 -112 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 316 300 3 10 400 0 - - -; #X obj 134 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X text 79 402 Kick; #X text 79 430 Snare; #X text 79 458 HiHat -; #X text 79 486 HiHat =; #X text 79 514 Crash; #X text 79 542 Ride; #X text 79 570 Hi Tom; #X text 79 598 Lo Tom; #X obj 134 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -258113 -1 -1; #X obj 161 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 188 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 215 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 692 425 5 0 0 0 - - -; #X obj 134 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 692 453 5 0 0 0 - - -; #X obj 134 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 692 481 5 0 0 0 - - -; #X obj 134 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 692 509 5 0 0 0 - - -; #X obj 134 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 692 537 5 0 0 0 - - -; #X obj 134 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 692 565 5 0 0 0 - - -; #X obj 134 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 692 593 5 0 0 0 - - -; #X obj 134 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 692 621 5 0 0 0 - - -; #X obj 161 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 719 425 5 0 0 0 - - -; #X obj 161 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 719 453 5 0 0 0 - - -; #X obj 161 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 719 481 5 0 0 0 - - -; #X obj 161 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 719 509 5 0 0 0 - - -; #X obj 161 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 719 537 5 0 0 0 - - -; #X obj 161 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 719 565 5 0 0 0 - - -; #X obj 161 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 719 593 5 0 0 0 - - -; #X obj 161 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 719 621 5 0 0 0 - - -; #X obj 188 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 746 425 5 0 0 0 - - -; #X obj 188 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 746 453 5 0 0 0 - - -; #X obj 188 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 746 481 5 0 0 0 - - -; #X obj 188 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 746 509 5 0 0 0 - - -; #X obj 188 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 746 537 5 0 0 0 - - -; #X obj 188 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 746 565 5 0 0 0 - - -; #X obj 188 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 746 593 5 0 0 0 - - -; #X obj 188 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 746 621 5 0 0 0 - - -; #X obj 215 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 773 425 5 0 0 0 - - -; #X obj 215 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 773 453 5 0 0 0 - - -; #X obj 215 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 773 481 5 0 0 0 - - -; #X obj 215 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 773 509 5 0 0 0 - - -; #X obj 215 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 773 537 5 0 0 0 - - -; #X obj 215 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 773 565 5 0 0 0 - - -; #X obj 215 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 773 593 5 0 0 0 - - -; #X obj 215 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 773 621 5 0 0 0 - - -; #X obj 242 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 242 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -258113 -1 -1; #X obj 269 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 296 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 323 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 808 425 5 0 0 0 - - -; #X obj 242 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 808 453 5 0 0 0 - - -; #X obj 242 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 808 481 5 0 0 0 - - -; #X obj 242 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 808 509 5 0 0 0 - - -; #X obj 242 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 808 537 5 0 0 0 - - -; #X obj 242 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 808 565 5 0 0 0 - - -; #X obj 242 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 808 593 5 0 0 0 - - -; #X obj 242 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 808 621 5 0 0 0 - - -; #X obj 269 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 835 425 5 0 0 0 - - -; #X obj 269 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 835 453 5 0 0 0 - - -; #X obj 269 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 835 481 5 0 0 0 - - -; #X obj 269 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 835 509 5 0 0 0 - - -; #X obj 269 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 835 537 5 0 0 0 - - -; #X obj 269 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 835 565 5 0 0 0 - - -; #X obj 269 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 835 593 5 0 0 0 - - -; #X obj 269 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 835 621 5 0 0 0 - - -; #X obj 296 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 862 425 5 0 0 0 - - -; #X obj 296 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 862 453 5 0 0 0 - - -; #X obj 296 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 862 481 5 0 0 0 - - -; #X obj 296 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 862 509 5 0 0 0 - - -; #X obj 296 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 862 537 5 0 0 0 - - -; #X obj 296 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 862 565 5 0 0 0 - - -; #X obj 296 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 862 593 5 0 0 0 - - -; #X obj 296 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 862 621 5 0 0 0 - - -; #X obj 323 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 889 425 5 0 0 0 - - -; #X obj 323 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 889 453 5 0 0 0 - - -; #X obj 323 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 889 481 5 0 0 0 - - -; #X obj 323 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 889 509 5 0 0 0 - - -; #X obj 323 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 889 537 5 0 0 0 - - -; #X obj 323 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 889 565 5 0 0 0 - - -; #X obj 323 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 889 593 5 0 0 0 - - -; #X obj 323 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 889 621 5 0 0 0 - - -; #X obj 350 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 350 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -258113 -1 -1; #X obj 377 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 404 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 431 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 924 425 5 0 0 0 - - -; #X obj 350 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 924 453 5 0 0 0 - - -; #X obj 350 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 924 481 5 0 0 0 - - -; #X obj 350 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 924 509 5 0 0 0 - - -; #X obj 350 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 924 537 5 0 0 0 - - -; #X obj 350 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 924 565 5 0 0 0 - - -; #X obj 350 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 924 593 5 0 0 0 - - -; #X obj 350 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 924 621 5 0 0 0 - - -; #X obj 377 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 951 425 5 0 0 0 - - -; #X obj 377 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 951 453 5 0 0 0 - - -; #X obj 377 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 951 481 5 0 0 0 - - -; #X obj 377 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 951 509 5 0 0 0 - - -; #X obj 377 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 951 537 5 0 0 0 - - -; #X obj 377 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 951 565 5 0 0 0 - - -; #X obj 377 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 951 593 5 0 0 0 - - -; #X obj 377 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 951 621 5 0 0 0 - - -; #X obj 404 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 978 425 5 0 0 0 - - -; #X obj 404 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 978 453 5 0 0 0 - - -; #X obj 404 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 978 481 5 0 0 0 - - -; #X obj 404 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 978 509 5 0 0 0 - - -; #X obj 404 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 978 537 5 0 0 0 - - -; #X obj 404 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 978 565 5 0 0 0 - - -; #X obj 404 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 978 593 5 0 0 0 - - -; #X obj 404 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 978 621 5 0 0 0 - - -; #X obj 431 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1005 425 5 0 0 0 - - -; #X obj 431 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1005 453 5 0 0 0 - - -; #X obj 431 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 1005 481 5 0 0 0 - - -; #X obj 431 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1005 509 5 0 0 0 - - -; #X obj 431 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1005 537 5 0 0 0 - - -; #X obj 431 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1005 565 5 0 0 0 - - -; #X obj 431 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1005 593 5 0 0 0 - - -; #X obj 431 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1005 621 5 0 0 0 - - -; #X obj 458 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 458 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -258113 -1 -1; #X obj 485 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 512 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 539 367 bng 25 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 1043 425 5 0 0 0 - - -; #X obj 458 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 1043 453 5 0 0 0 - - -; #X obj 458 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1043 481 5 0 0 0 - - -; #X obj 458 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1043 509 5 0 0 0 - - -; #X obj 458 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1043 537 5 0 0 0 - - -; #X obj 458 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1043 565 5 0 0 0 - - -; #X obj 458 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1043 593 5 0 0 0 - - -; #X obj 458 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1043 621 5 0 0 0 - - -; #X obj 485 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1070 425 5 0 0 0 - - -; #X obj 485 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1070 453 5 0 0 0 - - -; #X obj 485 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 1070 481 5 0 0 0 - - -; #X obj 485 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1070 509 5 0 0 0 - - -; #X obj 485 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1070 537 5 0 0 0 - - -; #X obj 485 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1070 565 5 0 0 0 - - -; #X obj 485 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1070 593 5 0 0 0 - - -; #X obj 485 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1070 621 5 0 0 0 - - -; #X obj 512 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1097 425 5 0 0 0 - - -; #X obj 512 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1097 453 5 0 0 0 - - -; #X obj 512 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1097 481 5 0 0 0 - - -; #X obj 512 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 1097 509 5 0 0 0 - - -; #X obj 512 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1097 537 5 0 0 0 - - -; #X obj 512 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1097 565 5 0 0 0 - - -; #X obj 512 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1097 593 5 0 0 0 - - -; #X obj 512 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1097 621 5 0 0 0 - - -; #X obj 539 399 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1124 425 5 0 0 0 - - -; #X obj 539 427 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1124 453 5 0 0 0 - - -; #X obj 539 455 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X floatatom 1124 481 5 0 0 0 - - -; #X obj 539 483 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1124 509 5 0 0 0 - - -; #X obj 539 511 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1124 537 5 0 0 0 - - -; #X obj 539 539 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1124 565 5 0 0 0 - - -; #X obj 539 567 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1124 593 5 0 0 0 - - -; #X obj 539 595 tgl 25 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X floatatom 1124 621 5 0 0 0 - - -; #X floatatom 1226 441 5 0 0 0 - - -; #X obj 1271 441 f; #X floatatom 1226 469 5 0 0 0 - - -; #X obj 1271 470 f; #X floatatom 1226 497 5 0 0 0 - - -; #X obj 1271 499 f; #X floatatom 1226 525 5 0 0 0 - - -; #X obj 1271 528 f; #X floatatom 1226 553 5 0 0 0 - - -; #X obj 1271 557 f; #X floatatom 1226 581 5 0 0 0 - - -; #X obj 1271 586 f; #X floatatom 1226 609 5 0 0 0 - - -; #X obj 1271 615 f; #X floatatom 1226 637 5 0 0 0 - - -; #X obj 1271 644 f; #X obj 266 129 mod 16; #X obj 266 157 hradio 15 1 0 17 empty empty empty 0 -8 0 10 -262144 -1 -1 16; #X obj 264 101 f; #X obj 298 103 + 1; #X floatatom 371 300 5 1 16 0 - - -; #X obj 193 76 sel 0; #X obj 1271 380 bng 15 75 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1271 356 delay 2; #X obj 628 85 loadbang; #X obj 622 131 120; #X obj 622 173 16; #X obj 265 175 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; #X obj 549 206 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 177 132 17; #X obj 144 134 16; #X obj 137 94 t b b b; #X obj 99 130 -1; #X obj 167 215 sel 1; #X obj 150 230 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1305 682 outlet; #X obj 1348 685 outlet; #X obj 1395 691 outlet; #X obj 1442 697 outlet; #X obj 1496 699 outlet; #X obj 1543 699 outlet; #X obj 1592 696 outlet; #X obj 1644 698 outlet; #X text 249 282 On/Off; #X text 312 279 BBM; #X text 360 277 # steps; #X connect 0 0 1 0; #X connect 0 0 310 0; #X connect 0 0 322 0; #X connect 1 0 307 0; #X connect 1 0 312 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 1 1; #X connect 6 0 7 0; #X connect 7 0 2 0; #X connect 8 0 3 1; #X connect 8 0 6 0; #X connect 9 0 22 0; #X connect 18 0 22 0; #X connect 18 0 24 0; #X connect 18 0 26 0; #X connect 18 0 28 0; #X connect 18 0 30 0; #X connect 18 0 32 0; #X connect 18 0 34 0; #X connect 18 0 36 0; #X connect 19 0 38 0; #X connect 19 0 40 0; #X connect 19 0 42 0; #X connect 19 0 44 0; #X connect 19 0 46 0; #X connect 19 0 48 0; #X connect 19 0 50 0; #X connect 19 0 52 0; #X connect 20 0 54 0; #X connect 20 0 56 0; #X connect 20 0 58 0; #X connect 20 0 60 0; #X connect 20 0 62 0; #X connect 20 0 64 0; #X connect 20 0 66 0; #X connect 20 0 68 0; #X connect 21 0 70 0; #X connect 21 0 72 0; #X connect 21 0 74 0; #X connect 21 0 76 0; #X connect 21 0 78 0; #X connect 21 0 80 0; #X connect 21 0 82 0; #X connect 21 0 84 0; #X connect 22 0 289 0; #X connect 23 0 24 0; #X connect 24 0 291 0; #X connect 25 0 26 0; #X connect 26 0 293 0; #X connect 27 0 28 0; #X connect 28 0 295 0; #X connect 29 0 30 0; #X connect 30 0 297 0; #X connect 31 0 32 0; #X connect 32 0 299 0; #X connect 33 0 34 0; #X connect 34 0 301 0; #X connect 35 0 36 0; #X connect 36 0 303 0; #X connect 37 0 38 0; #X connect 38 0 289 0; #X connect 39 0 40 0; #X connect 40 0 291 0; #X connect 41 0 42 0; #X connect 42 0 293 0; #X connect 43 0 44 0; #X connect 44 0 295 0; #X connect 45 0 46 0; #X connect 46 0 297 0; #X connect 47 0 48 0; #X connect 48 0 299 0; #X connect 49 0 50 0; #X connect 50 0 301 0; #X connect 51 0 52 0; #X connect 52 0 303 0; #X connect 53 0 54 0; #X connect 54 0 289 0; #X connect 55 0 56 0; #X connect 56 0 291 0; #X connect 57 0 58 0; #X connect 58 0 293 0; #X connect 59 0 60 0; #X connect 60 0 295 0; #X connect 61 0 62 0; #X connect 62 0 297 0; #X connect 63 0 64 0; #X connect 64 0 299 0; #X connect 65 0 66 0; #X connect 66 0 301 0; #X connect 67 0 68 0; #X connect 68 0 303 0; #X connect 69 0 70 0; #X connect 70 0 289 0; #X connect 71 0 72 0; #X connect 72 0 291 0; #X connect 73 0 74 0; #X connect 74 0 293 0; #X connect 75 0 76 0; #X connect 76 0 295 0; #X connect 77 0 78 0; #X connect 78 0 297 0; #X connect 79 0 80 0; #X connect 80 0 299 0; #X connect 81 0 82 0; #X connect 82 0 301 0; #X connect 83 0 84 0; #X connect 84 0 303 0; #X connect 85 0 90 0; #X connect 86 0 90 0; #X connect 86 0 92 0; #X connect 86 0 94 0; #X connect 86 0 96 0; #X connect 86 0 98 0; #X connect 86 0 100 0; #X connect 86 0 102 0; #X connect 86 0 104 0; #X connect 87 0 106 0; #X connect 87 0 108 0; #X connect 87 0 110 0; #X connect 87 0 112 0; #X connect 87 0 114 0; #X connect 87 0 116 0; #X connect 87 0 118 0; #X connect 87 0 120 0; #X connect 88 0 122 0; #X connect 88 0 124 0; #X connect 88 0 126 0; #X connect 88 0 128 0; #X connect 88 0 130 0; #X connect 88 0 132 0; #X connect 88 0 134 0; #X connect 88 0 136 0; #X connect 89 0 138 0; #X connect 89 0 140 0; #X connect 89 0 142 0; #X connect 89 0 144 0; #X connect 89 0 146 0; #X connect 89 0 148 0; #X connect 89 0 150 0; #X connect 89 0 152 0; #X connect 90 0 289 0; #X connect 91 0 92 0; #X connect 92 0 291 0; #X connect 93 0 94 0; #X connect 94 0 293 0; #X connect 95 0 96 0; #X connect 96 0 295 0; #X connect 97 0 98 0; #X connect 98 0 297 0; #X connect 99 0 100 0; #X connect 100 0 299 0; #X connect 101 0 102 0; #X connect 102 0 301 0; #X connect 103 0 104 0; #X connect 104 0 303 0; #X connect 105 0 106 0; #X connect 106 0 289 0; #X connect 107 0 108 0; #X connect 108 0 291 0; #X connect 109 0 110 0; #X connect 110 0 293 0; #X connect 111 0 112 0; #X connect 112 0 295 0; #X connect 113 0 114 0; #X connect 114 0 297 0; #X connect 115 0 116 0; #X connect 116 0 299 0; #X connect 117 0 118 0; #X connect 118 0 301 0; #X connect 119 0 120 0; #X connect 120 0 303 0; #X connect 121 0 122 0; #X connect 122 0 289 0; #X connect 123 0 124 0; #X connect 124 0 291 0; #X connect 125 0 126 0; #X connect 126 0 293 0; #X connect 127 0 128 0; #X connect 128 0 295 0; #X connect 129 0 130 0; #X connect 130 0 297 0; #X connect 131 0 132 0; #X connect 132 0 299 0; #X connect 133 0 134 0; #X connect 134 0 301 0; #X connect 135 0 136 0; #X connect 136 0 303 0; #X connect 137 0 138 0; #X connect 138 0 289 0; #X connect 139 0 140 0; #X connect 140 0 291 0; #X connect 141 0 142 0; #X connect 142 0 293 0; #X connect 143 0 144 0; #X connect 144 0 295 0; #X connect 145 0 146 0; #X connect 146 0 297 0; #X connect 147 0 148 0; #X connect 148 0 299 0; #X connect 149 0 150 0; #X connect 150 0 301 0; #X connect 151 0 152 0; #X connect 152 0 303 0; #X connect 153 0 158 0; #X connect 154 0 158 0; #X connect 154 0 160 0; #X connect 154 0 162 0; #X connect 154 0 164 0; #X connect 154 0 166 0; #X connect 154 0 168 0; #X connect 154 0 170 0; #X connect 154 0 172 0; #X connect 155 0 174 0; #X connect 155 0 176 0; #X connect 155 0 178 0; #X connect 155 0 180 0; #X connect 155 0 182 0; #X connect 155 0 184 0; #X connect 155 0 186 0; #X connect 155 0 188 0; #X connect 156 0 190 0; #X connect 156 0 192 0; #X connect 156 0 194 0; #X connect 156 0 196 0; #X connect 156 0 198 0; #X connect 156 0 200 0; #X connect 156 0 202 0; #X connect 156 0 204 0; #X connect 157 0 206 0; #X connect 157 0 208 0; #X connect 157 0 210 0; #X connect 157 0 212 0; #X connect 157 0 214 0; #X connect 157 0 216 0; #X connect 157 0 218 0; #X connect 157 0 220 0; #X connect 158 0 289 0; #X connect 159 0 160 0; #X connect 160 0 291 0; #X connect 161 0 162 0; #X connect 162 0 293 0; #X connect 163 0 164 0; #X connect 164 0 295 0; #X connect 165 0 166 0; #X connect 166 0 297 0; #X connect 167 0 168 0; #X connect 168 0 299 0; #X connect 169 0 170 0; #X connect 170 0 301 0; #X connect 171 0 172 0; #X connect 172 0 303 0; #X connect 173 0 174 0; #X connect 174 0 289 0; #X connect 175 0 176 0; #X connect 176 0 291 0; #X connect 177 0 178 0; #X connect 178 0 293 0; #X connect 179 0 180 0; #X connect 180 0 295 0; #X connect 181 0 182 0; #X connect 182 0 297 0; #X connect 183 0 184 0; #X connect 184 0 299 0; #X connect 185 0 186 0; #X connect 186 0 301 0; #X connect 187 0 188 0; #X connect 188 0 303 0; #X connect 189 0 190 0; #X connect 190 0 289 0; #X connect 191 0 192 0; #X connect 192 0 291 0; #X connect 193 0 194 0; #X connect 194 0 293 0; #X connect 195 0 196 0; #X connect 196 0 295 0; #X connect 197 0 198 0; #X connect 198 0 297 0; #X connect 199 0 200 0; #X connect 200 0 299 0; #X connect 201 0 202 0; #X connect 202 0 301 0; #X connect 203 0 204 0; #X connect 204 0 303 0; #X connect 205 0 206 0; #X connect 206 0 289 0; #X connect 207 0 208 0; #X connect 208 0 291 0; #X connect 209 0 210 0; #X connect 210 0 293 0; #X connect 211 0 212 0; #X connect 212 0 295 0; #X connect 213 0 214 0; #X connect 214 0 297 0; #X connect 215 0 216 0; #X connect 216 0 299 0; #X connect 217 0 218 0; #X connect 218 0 301 0; #X connect 219 0 220 0; #X connect 220 0 303 0; #X connect 221 0 226 0; #X connect 222 0 226 0; #X connect 222 0 228 0; #X connect 222 0 230 0; #X connect 222 0 232 0; #X connect 222 0 234 0; #X connect 222 0 236 0; #X connect 222 0 238 0; #X connect 222 0 240 0; #X connect 223 0 242 0; #X connect 223 0 244 0; #X connect 223 0 246 0; #X connect 223 0 248 0; #X connect 223 0 250 0; #X connect 223 0 252 0; #X connect 223 0 254 0; #X connect 223 0 256 0; #X connect 224 0 258 0; #X connect 224 0 260 0; #X connect 224 0 262 0; #X connect 224 0 264 0; #X connect 224 0 266 0; #X connect 224 0 268 0; #X connect 224 0 270 0; #X connect 224 0 272 0; #X connect 225 0 274 0; #X connect 225 0 276 0; #X connect 225 0 278 0; #X connect 225 0 280 0; #X connect 225 0 282 0; #X connect 225 0 284 0; #X connect 225 0 286 0; #X connect 225 0 288 0; #X connect 226 0 289 0; #X connect 227 0 228 0; #X connect 228 0 291 0; #X connect 229 0 230 0; #X connect 230 0 293 0; #X connect 231 0 232 0; #X connect 232 0 295 0; #X connect 233 0 234 0; #X connect 234 0 297 0; #X connect 235 0 236 0; #X connect 236 0 299 0; #X connect 237 0 238 0; #X connect 238 0 301 0; #X connect 239 0 240 0; #X connect 240 0 303 0; #X connect 241 0 242 0; #X connect 242 0 289 0; #X connect 243 0 244 0; #X connect 244 0 291 0; #X connect 245 0 246 0; #X connect 246 0 293 0; #X connect 247 0 248 0; #X connect 248 0 295 0; #X connect 249 0 250 0; #X connect 250 0 297 0; #X connect 251 0 252 0; #X connect 252 0 299 0; #X connect 253 0 254 0; #X connect 254 0 301 0; #X connect 255 0 256 0; #X connect 256 0 303 0; #X connect 257 0 258 0; #X connect 258 0 289 0; #X connect 259 0 260 0; #X connect 260 0 291 0; #X connect 261 0 262 0; #X connect 262 0 293 0; #X connect 263 0 264 0; #X connect 264 0 295 0; #X connect 265 0 266 0; #X connect 266 0 297 0; #X connect 267 0 268 0; #X connect 268 0 299 0; #X connect 269 0 270 0; #X connect 270 0 301 0; #X connect 271 0 272 0; #X connect 272 0 303 0; #X connect 273 0 274 0; #X connect 274 0 289 0; #X connect 275 0 276 0; #X connect 276 0 291 0; #X connect 277 0 278 0; #X connect 278 0 293 0; #X connect 279 0 280 0; #X connect 280 0 295 0; #X connect 281 0 282 0; #X connect 282 0 297 0; #X connect 283 0 284 0; #X connect 284 0 299 0; #X connect 285 0 286 0; #X connect 286 0 301 0; #X connect 287 0 288 0; #X connect 288 0 303 0; #X connect 289 0 290 1; #X connect 290 0 324 0; #X connect 291 0 292 1; #X connect 292 0 325 0; #X connect 293 0 294 1; #X connect 294 0 326 0; #X connect 295 0 296 1; #X connect 296 0 327 0; #X connect 297 0 298 1; #X connect 298 0 328 0; #X connect 299 0 300 1; #X connect 300 0 329 0; #X connect 301 0 302 1; #X connect 302 0 330 0; #X connect 303 0 304 1; #X connect 304 0 331 0; #X connect 305 0 306 0; #X connect 306 0 316 0; #X connect 307 0 308 0; #X connect 307 0 305 0; #X connect 308 0 307 1; #X connect 309 0 305 1; #X connect 310 0 320 0; #X connect 311 0 290 0; #X connect 311 0 292 0; #X connect 311 0 294 0; #X connect 311 0 296 0; #X connect 311 0 298 0; #X connect 311 0 300 0; #X connect 311 0 302 0; #X connect 311 0 304 0; #X connect 312 0 311 0; #X connect 313 0 314 0; #X connect 313 0 315 0; #X connect 314 0 8 0; #X connect 315 0 309 0; #X connect 316 0 18 0; #X connect 316 1 19 0; #X connect 316 2 20 0; #X connect 316 3 21 0; #X connect 316 4 86 0; #X connect 316 5 87 0; #X connect 316 6 88 0; #X connect 316 7 89 0; #X connect 316 8 154 0; #X connect 316 9 155 0; #X connect 316 10 156 0; #X connect 316 11 157 0; #X connect 316 12 222 0; #X connect 316 13 223 0; #X connect 316 14 224 0; #X connect 316 15 225 0; #X connect 316 16 317 0; #X connect 318 0 305 1; #X connect 319 0 305 0; #X connect 320 0 321 0; #X connect 320 1 319 0; #X connect 320 2 318 0; #X connect 321 0 307 0; #X connect 322 0 323 0; #X connect 323 0 309 0; #X coords 0 -1 1 1 550 400 1 50 250; #X restore 47 14 pd DrumMachine; #N canvas 661 182 697 578 Snare 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X restore -7 417 pd adsr; #X obj 11 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 26 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1770 1; #X obj 41 42 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 590 1; #X obj 56 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 885 1; #X obj -29 285 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1580 1; #X obj -117 276 inlet; #X obj 108 363 noise~; #X obj -1 458 *~; #X obj -7 498 outlet~; #X text 11 24 A; #X text 27 24 D; #X text 41 24 S; #X text 58 24 R; #X text -31 267 Vol; #X obj 206 259 loadbang; #X obj 195 288 0; #X obj 213 334 75; #X obj -92 332 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 236 298 0.2; #X obj 166 333 10; #X obj 131 420 svf~; #X obj 20 147 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 3146 1; #X obj 145 459 mtof; #X obj 54 146 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 232 1; #X floatatom 110 499 5 0 0 0 - - -; #X obj 162 366 54; #X obj 247 332 0.314; #X obj 148 276 150; #X obj -101 388 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-3 empty empty 17 7 0 10 -1 -4034 -1 ; #X text 12 129 Pitch; #X text 56 128 Q; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 6 0 18 0; #X connect 7 0 21 0; #X connect 8 0 9 0; #X connect 15 0 16 0; #X connect 15 0 17 0; #X connect 15 0 19 0; #X connect 15 0 20 0; #X connect 15 0 26 0; #X connect 15 0 27 0; #X connect 15 0 28 0; #X connect 16 0 1 0; #X connect 17 0 4 0; #X connect 18 0 0 0; #X connect 18 0 29 0; #X connect 19 0 5 0; #X connect 20 0 3 0; #X connect 21 1 8 0; #X connect 21 2 8 0; #X connect 22 0 23 0; #X connect 22 0 25 0; #X connect 23 0 21 1; #X connect 24 0 21 2; #X connect 24 0 25 0; #X connect 26 0 22 0; #X connect 27 0 24 0; #X connect 28 0 2 0; #X connect 29 0 30 0; #X connect 33 0 15 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 124 415 pd Snare; #N canvas 603 99 436 663 Crash 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X restore 15 523 pd adsr; #X obj 10 43 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 389 1; #X obj 25 43 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 5900 1; #X obj 40 43 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 5900 1; #X obj 55 43 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 3304 1; #X obj -7 391 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 2370 1; #X obj -95 382 inlet; #X obj 130 469 noise~; #X obj 21 564 *~; #X obj 21 622 outlet~; #X text 10 26 A; #X text 28 25 D; #X text 41 25 S; #X text 57 25 R; #X text -9 373 Vol; #X obj 228 365 loadbang; #X obj -70 438 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 156 533 mtof; #X obj 214 465 33; #X obj 101 579 svf~; #X obj 197 566 0.55; #X obj 165 351 500; #X obj 179 435 100; #X obj 248 554 105; #X obj 261 407 0.3; #X obj 254 447 280; #X obj -73 502 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-6 empty empty 17 7 0 10 -1 -4034 -1 ; #X obj 19 147 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 6118 1; #X obj 52 148 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 407 1; #X text 10 128 Pitch; #X text 54 127 Q; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 6 0 16 0; #X connect 7 0 19 0; #X connect 8 0 9 0; #X connect 15 0 18 0; #X connect 15 0 20 0; #X connect 15 0 21 0; #X connect 15 0 22 0; #X connect 15 0 23 0; #X connect 15 0 24 0; #X connect 15 0 25 0; #X connect 16 0 0 0; #X connect 16 0 26 0; #X connect 17 0 19 1; #X connect 18 0 1 0; #X connect 19 1 8 0; #X connect 20 0 29 0; #X connect 21 0 2 0; #X connect 22 0 3 0; #X connect 23 0 28 0; #X connect 24 0 5 0; #X connect 25 0 4 0; #X connect 26 0 27 0; #X connect 28 0 17 0; #X connect 29 0 19 2; #X connect 32 0 15 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 357 415 pd Crash; #X obj 784 761 dac~; #X obj 791 726 tgl 15 0 empty \$0-1 empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 740 728 *~; #X obj 821 730 *~; #N canvas 729 98 486 454 Kick 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X restore -31 305 pd adsr; #X obj 12 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 59 1; #X obj 27 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1534 1; #X obj 42 42 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 118 1; #X obj 57 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 118 1; #X obj -46 189 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 4740 1; #X obj -134 180 inlet; #X obj 106 213 noise~; #X obj -25 346 *~; #X obj -31 386 outlet~; #X text 11 25 A; #X text 27 25 D; #X text -48 171 Vol; #X obj 241 5 loadbang; #X obj -109 236 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 163 270 mtof; #X obj 22 304 svf~; #X obj 53 145 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 3700 1; #X obj 201 101 10; #X floatatom 74 422 5 0 0 0 - - -; #X obj 201 81 2; #X obj 204 39 130; #X obj 202 141 35; #X obj 202 60 5; #X obj 17 145 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 2039 1; #X obj -121 279 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-2 empty empty 17 7 0 10 -1 -4034 -1 ; #X text 43 25 S; #X text 58 25 R; #X text 10 127 Pitch; #X text 54 126 Q; #X obj 201 121 0.6; #X obj 202 163 5; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 1 0 19 0; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 6 0 14 0; #X connect 7 0 16 0; #X connect 8 0 9 0; #X connect 13 0 18 0; #X connect 13 0 20 0; #X connect 13 0 21 0; #X connect 13 0 22 0; #X connect 13 0 23 0; #X connect 13 0 31 0; #X connect 13 0 32 0; #X connect 14 0 0 0; #X connect 14 0 25 0; #X connect 15 0 16 1; #X connect 16 0 8 0; #X connect 16 2 8 0; #X connect 17 0 16 2; #X connect 17 0 19 0; #X connect 18 0 4 0; #X connect 20 0 3 0; #X connect 21 0 2 0; #X connect 22 0 24 0; #X connect 23 0 1 0; #X connect 24 0 15 0; #X connect 25 0 26 0; #X connect 31 0 5 0; #X connect 32 0 17 0; #X connect 33 0 13 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 47 415 pd Kick; #N canvas 0 0 1596 817 Ride 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X restore 15 528 pd adsr; #X obj 11 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 354 1; #X obj 26 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 5192 1; #X obj 41 42 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 2773 1; #X obj 56 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 5900 1; #X obj -7 396 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1185 1; #X obj -95 387 inlet; #X obj 130 474 noise~; #X obj 21 569 *~; #X obj 21 627 outlet~; #X text 11 24 A; #X text 29 24 D; #X text 42 24 S; #X text 58 24 R; #X text -9 378 Vol; #X obj 228 370 loadbang; #X obj -70 443 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 156 538 mtof; #X obj 101 584 svf~; #X obj 252 446 500; #X obj 197 571 0.787; #X obj 248 560 123; #X obj 214 471 30; #X obj 166 359 440; #X obj 186 435 47; #X obj 258 409 0.15; #X obj -83 509 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-7 empty empty 17 7 0 10 -1 -4034 -1 ; #X obj 21 147 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 7167 1; #X obj 54 147 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 582 1; #X text 12 129 Pitch; #X text 56 128 Q; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 6 0 16 0; #X connect 7 0 18 0; #X connect 8 0 9 0; #X connect 15 0 19 0; #X connect 15 0 20 0; #X connect 15 0 21 0; #X connect 15 0 22 0; #X connect 15 0 23 0; #X connect 15 0 24 0; #X connect 15 0 25 0; #X connect 16 0 0 0; #X connect 16 0 26 0; #X connect 17 0 18 1; #X connect 18 1 8 0; #X connect 19 0 4 0; #X connect 20 0 29 0; #X connect 21 0 28 0; #X connect 22 0 1 0; #X connect 23 0 2 0; #X connect 24 0 3 0; #X connect 25 0 5 0; #X connect 26 0 27 0; #X connect 28 0 17 0; #X connect 29 0 18 2; #X connect 32 0 15 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 434 415 pd Ride; #N canvas 0 0 1596 801 HiTom 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X coords 0 817 1 816 85 60 0; #X restore 17 403 pd adsr; #X obj 10 41 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 25 41 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1180 1; #X obj 40 41 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 590 1; #X obj 55 41 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 2950 1; #X obj -5 271 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 5530 1; #X obj -93 262 inlet; #X obj 132 349 noise~; #X obj 23 444 *~; #X obj 17 484 outlet~; #X text 10 24 A; #X text 26 24 D; #X text 42 24 S; #X text 58 24 R; #X text -7 253 Vol; #X obj 230 245 loadbang; #X obj 214 276 0; #X obj -68 318 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 156 416 mtof; #X obj 98 401 svf~; #X obj 287 346 0.82; #X obj 288 307 56; #X obj 175 236 100; #X obj 231 311 250; #X obj 176 310 10; #X floatatom -32 396 5 0 0 0 - - -; #X obj 261 282 0.7; #X obj -98 389 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-8 empty empty 17 7 0 10 -1 -4034 -1 ; #X obj 19 147 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 3263 1; #X obj 53 147 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 607 1; #X text 10 129 Pitch; #X text 54 128 Q; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 5 0 25 0; #X connect 6 0 17 0; #X connect 7 0 19 0; #X connect 8 0 9 0; #X connect 15 0 16 0; #X connect 15 0 20 0; #X connect 15 0 21 0; #X connect 15 0 22 0; #X connect 15 0 23 0; #X connect 15 0 24 0; #X connect 15 0 26 0; #X connect 16 0 1 0; #X connect 17 0 0 0; #X connect 17 0 27 0; #X connect 18 0 19 1; #X connect 19 0 8 0; #X connect 20 0 30 0; #X connect 21 0 29 0; #X connect 22 0 2 0; #X connect 23 0 4 0; #X connect 24 0 3 0; #X connect 26 0 5 0; #X connect 27 0 28 0; #X connect 29 0 18 0; #X connect 30 0 19 2; #X connect 33 0 15 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 512 415 pd HiTom; #N canvas 0 0 1596 817 LoTom 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X restore 16 531 pd adsr; #X obj 10 40 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 25 40 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1180 1; #X obj 40 40 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 590 1; #X obj 55 40 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 2950 1; #X obj -6 399 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 5530 1; #X obj -94 390 inlet; #X obj 131 477 noise~; #X obj 22 572 *~; #X obj 16 612 outlet~; #X text 10 23 A; #X text 25 23 D; #X text 40 23 S; #X text 57 23 R; #X text -8 381 Vol; #X obj 229 373 loadbang; #X obj 213 401 0; #X obj -67 440 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 155 544 mtof; #X obj 97 529 svf~; #X obj 54 144 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 607 1; #X obj 286 474 0.82; #X obj 286 433 50; #X obj 176 359 100; #X obj 230 447 250; #X obj 172 443 10; #X obj 259 414 0.7; #X obj -76 506 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-9 empty empty 17 7 0 10 -1 -4034 -1 ; #X obj 20 144 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 2913 1; #X text 11 127 Pitch; #X text 55 126 Q; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 6 0 17 0; #X connect 7 0 19 0; #X connect 8 0 9 0; #X connect 15 0 16 0; #X connect 15 0 21 0; #X connect 15 0 22 0; #X connect 15 0 23 0; #X connect 15 0 24 0; #X connect 15 0 25 0; #X connect 15 0 26 0; #X connect 16 0 1 0; #X connect 17 0 0 0; #X connect 17 0 27 0; #X connect 18 0 19 1; #X connect 19 0 8 0; #X connect 20 0 19 2; #X connect 21 0 20 0; #X connect 22 0 29 0; #X connect 23 0 2 0; #X connect 24 0 4 0; #X connect 25 0 3 0; #X connect 26 0 5 0; #X connect 27 0 28 0; #X connect 29 0 18 0; #X connect 32 0 15 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 590 415 pd LoTom; #X obj 737 698 catch~ outL; #X obj 827 700 catch~ outR; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 47 635 pd panvolctrl; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 124 635 pd panvolctrl; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 202 635 pd panvolctrl; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 279 635 pd panvolctrl; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 358 635 pd panvolctrl; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 435 635 pd panvolctrl; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 513 635 pd panvolctrl; #N canvas 530 392 450 300 panvolctrl 0; #X obj 126 260 throw~ outR; #X obj 49 260 throw~ outL; #X obj 66 13 inlet~; #X obj 100 126 knob 32 32 -0.5 0.5 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1550 1; #X obj 100 65 knob 32 32 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 3100 1; #X text 105 110 Pan; #X text 103 49 Vol.; #X obj 210 54 loadbang; #X obj 203 91 0; #X obj 200 130 1; #X obj 49 230 *~; #X obj 125 227 *~; #X obj 70 186 *~; #X obj 166 189 + 0.5; #X obj 15 171 * -1; #X obj 15 192 + 0.5; #X connect 2 0 12 0; #X connect 3 0 13 0; #X connect 3 0 14 0; #X connect 4 0 12 1; #X connect 7 0 8 0; #X connect 7 0 9 0; #X connect 8 0 3 0; #X connect 9 0 4 0; #X connect 10 0 1 0; #X connect 11 0 0 0; #X connect 12 0 10 0; #X connect 12 0 11 0; #X connect 13 0 11 1; #X connect 14 0 15 0; #X connect 15 0 10 1; #X coords 0 -1 1 1 52 130 2 90 40; #X restore 591 635 pd panvolctrl; #N canvas 0 0 1596 817 visual 0; #X obj 280 332 bng 120 150 50 0 empty \$0-2 Kick 36 50 0 20 -99865 -1 -262144; #X obj 237 278 bng 65 150 50 0 empty \$0-3 Snare 3 30 0 20 -191407 -262144 -1; #X obj 302 246 bng 65 150 50 0 empty \$0-8 HiTom 2 30 0 20 -164296 -262144 -1; #X obj 372 254 bng 75 150 50 0 empty \$0-9 LoTom 5 35 0 20 -164296 -262144 -1; #X obj 186 344 bng 65 150 50 0 empty \$0-4 empty 17 7 0 10 -224130 -257985 -1; #X obj 212 206 bng 70 150 50 0 empty \$0-6 Crash 5 35 0 20 -224130 -257985 -1; #X obj 422 332 bng 80 150 50 0 empty \$0-7 Ride 17 40 0 20 -224130 -257985 -1; #X obj 171 332 bng 65 150 50 0 empty \$0-5 HiHat 4 30 0 20 -224130 -257985 -1; #X connect 7 0 4 0; #X coords 0 -1 1 1 380 330 1 145 145; #X restore 719 320 pd visual; #N canvas 806 53 492 716 HH 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X restore -1 502 pd adsr; #X obj 11 43 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 26 43 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1416 1; #X obj 41 43 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 56 43 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 1770 1; #X obj -23 370 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 987 1; #X obj -111 361 inlet; #X obj 114 448 noise~; #X obj 5 543 *~; #X obj 0 659 outlet~; #X text 13 26 A; #X text 28 26 D; #X text 42 26 S; #X text 58 26 R; #X text -25 352 Vol; #X obj 212 344 loadbang; #X obj -86 417 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 140 512 mtof; #X obj 85 558 svf~; #X obj 232 534 110; #X obj 164 406 0; #X obj 198 444 0; #X obj 235 415 150; #X obj 148 335 120; #X obj 181 545 0.25; #X floatatom 37 300 5 0 0 0 - - -; #X obj 242 383 0.125; #X obj -95 509 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-4 empty empty 17 7 0 10 -1 -4034 -1 ; #X obj 21 147 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 6409 1; #X obj 54 146 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 185 1; #X text 13 130 Pitch; #X text 57 129 Q; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 5 0 25 0; #X connect 6 0 16 0; #X connect 7 0 18 0; #X connect 8 0 9 0; #X connect 15 0 19 0; #X connect 15 0 20 0; #X connect 15 0 21 0; #X connect 15 0 22 0; #X connect 15 0 23 0; #X connect 15 0 24 0; #X connect 15 0 26 0; #X connect 16 0 0 0; #X connect 16 0 27 0; #X connect 17 0 18 1; #X connect 18 1 8 0; #X connect 19 0 29 0; #X connect 20 0 3 0; #X connect 21 0 1 0; #X connect 22 0 4 0; #X connect 23 0 2 0; #X connect 24 0 30 0; #X connect 26 0 5 0; #X connect 27 0 28 0; #X connect 29 0 17 0; #X connect 30 0 18 2; #X connect 33 0 15 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 202 415 pd HH -; #N canvas 751 109 452 634 HH 0; #N canvas 21 135 1596 817 adsr 0; #X obj 115 121 inlet; #X obj 445 161 inlet; #X text 111 96 trigger; #X obj 115 149 sel 0; #X obj 254 165 t b; #X obj 176 274 f \$1; #X obj 176 299 pack 0 \$2; #X obj 502 161 inlet; #X obj 448 291 del \$2; #X obj 468 439 line~; #X obj 472 314 f \$4; #X obj 511 389 pack 0 \$3; #X obj 564 161 inlet; #X obj 626 161 inlet; #X obj 699 160 inlet; #X msg 115 180 stop; #X obj 622 316 pack 0 \$5; #X text 445 139 level; #X obj 511 365 * \$1; #X obj 468 464 outlet~; #X text 112 388 and pack with; #X text 113 408 attack time; #X text 41 136 if zero; #X text 42 153 release; #X text 22 170 and cancel; #X text 53 187 decay; #X text 294 282 on attack \, set a; #X text 288 315 recall sustain value; #X text 325 388 pack with decay time; #X text 615 342 on release ramp; #X text 616 359 back to zero; #X obj 472 339 * 0.01; #X text 57 577 Objects such as "f" and "pack" can be given dollar sign arguments to initialize their contents from adsr's creation arguments. Inlets are supplied to change them on the fly.; #X text 23 12 ADSR ENVELOPE; #X text 498 139 attack; #X text 565 138 decay; #X text 619 139 sustain; #X text 696 139 release; #X text 212 81 attack; #X obj 214 102 moses; #X obj 204 132 t b b; #X msg 138 300 0; #X text 30 283 optionally; #X text 20 301 bash to zero; #X text 35 256 ATTACK:; #X text 59 487 When you send this patch a positive trigger it schedules a line~ to do an attack and decay \, and if zero \, it starts the release ramp.; #X text 505 639 Updated for Pd version 0.37; #X text 265 99 test for negative trigger; #X text 263 123 if so \, zero; #X text 264 139 the output; #X text 288 175 in any case; #X text 313 365 multiply by peak level; #X text 290 296 delay for sustain; #X text 286 338 convert from percent; #X text 165 350 ... then; #X text 113 369 recall peak level; #X text 449 123 peak; #X text 291 159 ... do this; #X text 57 539 Negative triggers cause the output to jump to zero and then attack (instead of attacking from the current location).; #X text 218 11 Arguments: level \, attack time \, decay time \, sustain level \, release time. A \, D \, and R are in msec and S is in percent. This patch is used as an abstraction in various examples.; #X connect 0 0 3 0; #X connect 1 0 5 1; #X connect 1 0 18 1; #X connect 3 0 15 0; #X connect 3 0 16 0; #X connect 3 1 39 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 7 0 8 1; #X connect 8 0 10 0; #X connect 9 0 19 0; #X connect 10 0 31 0; #X connect 11 0 9 0; #X connect 12 0 11 1; #X connect 13 0 10 1; #X connect 14 0 16 1; #X connect 15 0 8 0; #X connect 16 0 9 0; #X connect 18 0 11 0; #X connect 31 0 18 0; #X connect 39 0 40 0; #X connect 39 1 4 0; #X connect 40 0 4 0; #X connect 40 1 41 0; #X connect 41 0 9 0; #X restore 8 491 pd adsr; #X obj 10 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 25 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 4012 1; #X obj 40 42 vsl 12 60 0 100 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 590 1; #X obj 55 42 vsl 12 60 0 500 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 3658 1; #X obj -14 359 vsl 15 80 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 790 1; #X obj -102 350 inlet; #X obj 123 437 noise~; #X obj 14 532 *~; #X obj 14 590 outlet~; #X text 10 25 A; #X text 25 25 D; #X text 40 25 S; #X text 57 25 R; #X text -16 341 Vol; #X obj 221 333 loadbang; #X obj -77 406 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 149 501 mtof; #X obj 94 547 svf~; #X obj 241 523 110; #X obj 194 431 0; #X obj 190 534 0.25; #X obj 245 406 310; #X obj 169 400 10; #X obj 157 327 340; #X obj 251 372 0.1; #X obj -88 474 sel 1; #X obj 70 12 bng 8 100 50 0 \$0-5 empty empty 17 7 0 10 -1 -4034 -1 ; #X obj 18 147 vsl 12 75 0 127 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 6409 1; #X obj 52 147 vsl 12 75 0 10 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 185 1; #X text 9 130 Pitch; #X text 53 129 Q; #X obj 70 23 bng 8 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 0 0 8 1; #X connect 1 0 0 2; #X connect 2 0 0 3; #X connect 3 0 0 4; #X connect 4 0 0 5; #X connect 5 0 0 1; #X connect 6 0 16 0; #X connect 7 0 18 0; #X connect 8 0 9 0; #X connect 15 0 19 0; #X connect 15 0 20 0; #X connect 15 0 21 0; #X connect 15 0 22 0; #X connect 15 0 23 0; #X connect 15 0 24 0; #X connect 15 0 25 0; #X connect 16 0 0 0; #X connect 16 0 26 0; #X connect 17 0 18 1; #X connect 18 1 8 0; #X connect 19 0 28 0; #X connect 20 0 1 0; #X connect 21 0 29 0; #X connect 22 0 4 0; #X connect 23 0 3 0; #X connect 24 0 2 0; #X connect 25 0 5 0; #X connect 26 0 27 0; #X connect 28 0 17 0; #X connect 29 0 18 2; #X connect 32 0 15 0; #X coords 0 -1 1 1 75 220 1 5 10; #X restore 279 415 pd HH =; #X connect 0 0 7 0; #X connect 0 1 1 0; #X connect 0 2 22 0; #X connect 0 3 23 0; #X connect 0 4 2 0; #X connect 0 5 8 0; #X connect 0 6 9 0; #X connect 0 7 10 0; #X connect 1 0 14 0; #X connect 2 0 17 0; #X connect 4 0 5 1; #X connect 4 0 6 1; #X connect 5 0 3 0; #X connect 6 0 3 1; #X connect 7 0 13 0; #X connect 8 0 18 0; #X connect 9 0 19 0; #X connect 10 0 20 0; #X connect 11 0 5 0; #X connect 12 0 6 0; #X connect 22 0 15 0; #X connect 23 0 16 0;