Hi all,
I've received two requests for tabread4~/tabwrite~ examples. Here's a rather silly patch that records and "scratches" a 1-second sound.
Tables are created using the "array" item in the new menu. If you don't want all your arrays to be in the same graph (rectangle), make a new "graph" each time and the array will (supposedly) find the newest one. You can then pass messages to set the size ("resize"), write, read, and access them by name using tabwrite~, tabread4~. Enjoy...
#N canvas 376 125 642 692 10; #X msg 45 62 bang ; pd dsp 1; #X obj 213 178 * 44.1; #X floatatom 212 154 894; #X obj 213 229 line~; #X obj 212 203 pack 0 100; #X floatatom 112 152 59; #X floatatom 42 168 21; #X obj 42 192 sig~; #N canvas 0 0 629 645 Untitled-1 1; #X graph graph1 0 -1 44100 1 141 327 541 27; #X array array1 44100 float; #X pop; #X msg 152 348 ; array1 read foo.tab; #X msg 151 399 ; array1 write foo.tab; #X msg 150 444 ; array1 resize 44100; #X msg 152 489 ; array1 print; #X restore 437 92 page table; #X obj 84 354 sig~ 0.1; #X obj 44 353 *~; #X obj 318 248 metro; #X msg 319 201 1; #X floatatom 319 224 1; #X obj 414 309 tabwrite~ array1; #X obj 414 228 sig~; #X obj 414 198 random 1000; #X obj 414 253 phasor~; #X obj 414 283 cos~; #X obj 43 382 hip~ 5; #X obj 46 412 dac~; #X obj 44 322 tabread4~ array1; #X obj 41 218 phasor~; #X msg 383 151 bang ; pd dsp 1; #X obj 113 227 line~; #X obj 44 247 *~; #X obj 44 279 +~; #X obj 112 201 pack 0 100; #X obj 111 177 * 44.1; #X msg 42 144 20; #X msg 112 123 100; #X obj 315 279 random 30; #X connect 0 0 29 0; #X connect 0 0 30 0; #X connect 1 0 4 0; #X connect 2 0 1 0; #X connect 3 0 26 1; #X connect 4 0 3 0; #X connect 5 0 28 0; #X connect 6 0 7 0; #X connect 7 0 22 0; #X connect 9 0 10 1; #X connect 10 0 19 0; #X connect 11 0 16 0; #X connect 11 0 31 0; #X connect 12 0 13 0; #X connect 13 0 11 0; #X connect 15 0 17 0; #X connect 16 0 15 0; #X connect 17 0 18 0; #X connect 18 0 14 0; #X connect 19 0 20 0; #X connect 19 0 20 1; #X connect 21 0 10 0; #X connect 22 0 25 0; #X connect 23 0 12 0; #X connect 23 0 14 0; #X connect 24 0 25 1; #X connect 25 0 26 0; #X connect 26 0 21 0; #X connect 27 0 24 0; #X connect 28 0 27 0; #X connect 29 0 6 0; #X connect 30 0 5 0; #X connect 30 0 2 0; #X connect 31 0 11 1;
Thanks, Miller, for teh tableread/write help.
When trying to create a new array using the menu, I get an error:
bad screen distance ".x1008a828.a10095220"
and see no new array. When I try to send messages to it (array2) I am told that it doesn't exist. Also, moving the arrays around the screen is very slow.
Is there a simple way to create and use envelope shapes like Hamming, Hanning, etc.?
Thanks,
Bill