#N canvas 411 46 1083 695 10; #X msg 455 16 \; pd dsp 1; #X obj 158 166 adc~; #X obj 130 201 writesf~ 2; #X msg 122 111 open ./test_audio.wav; #X msg 78 137 start; #X msg 14 131 stop; #X msg 547 15 \; pd dsp 0; #X obj 44 64 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 38 104 delay 20; #X text 64 64 start RECORDING; #X obj 395 273 soundfiler; #X floatatom 410 302 10 0 100000 0 - - -; #X floatatom 408 377 10 0 0 0 - - -; #X obj 409 338 / 44.1; #X obj 297 488 *~ 0; #X obj 279 431 tabplay~ myTable; #X obj 352 202 bng 15 250 50 0 empty empty hit_me_to_play_sample_:->) 0 -6 0 8 -258385 -1 -1; #X obj 298 536 dac~; #X obj 306 404 metro 1000; #X obj 293 309 delay 20; #N canvas 0 22 454 304 graph5 0; #X array myTable 561728 float 2; #X coords 0 1 561727 -1 200 140 1; #X restore 699 301 graph; #X text 603 497 Note: I start by defining an array of an arbitrary length. I pass resize argument in the read message to soundfiler object to match the array size to sample size.; #X text 190 274 comment; #X msg 394 243 read -resize ./test_audio.wav myTable; #X obj 529 346 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7400 1; #X floatatom 510 500 5 0 0 0 - - -; #X connect 1 0 2 0; #X connect 1 1 2 0; #X connect 3 0 2 0; #X connect 4 0 2 0; #X connect 5 0 2 0; #X connect 7 0 3 0; #X connect 7 0 8 0; #X connect 8 0 4 0; #X connect 10 0 11 0; #X connect 11 0 13 0; #X connect 12 0 18 1; #X connect 13 0 12 0; #X connect 14 0 17 0; #X connect 14 0 17 1; #X connect 15 0 14 0; #X connect 15 0 14 0; #X connect 16 0 23 0; #X connect 16 0 19 0; #X connect 18 0 15 0; #X connect 19 0 18 0; #X connect 23 0 10 0; #X connect 24 0 14 1; #X connect 24 0 25 0;