#N canvas 82 31 926 613 10;
#X graph graph1 0 -1 77971 1 71 453 371 353;
#X array array1 77971 float 0;
#X pop;
#X graph graph1 0 -1 77971 1 71 575 371 475;
#X array array2 77971 float 0;
#X pop;
#X obj 12 293 soundfiler;
#X msg 532 476 \; array1 resize 1000 \; array2 resize 1000 \;;
#X msg 18 221 write -aiff /tmp/foo1 array2;
#X msg 19 132 read ../sound/bell.aiff array2;
#X msg 18 179 read -raw 128 2 2 b ../sound/bell.aiff array1 array2
;
#X msg 532 522 \; array1 resize 160000 \; array2 resize 160000;
#X msg 530 431 \; array1 const 0 \; array2 const 0;
#X text 26 10 SOUNDFILER - read and write soundfiles to arrays;
#X text 18 31 The soundfiler object reads and writes floating point
arrays to binary soundfiles which may contain 2 or 3 byte fixed point
or 4 byte floating point samples in wave \, aiff \, or next formats
(only next supports floating point \, though.). The number of channels
of the soundfile need not match the number of arrays given (extras
are dropped and unsupplied channels are zeroed out.);
#X text 475 9 When reading you can leave soundfiler to figure out which
of the three known soundfile formats the file belongs to or override
all header information using the "-raw" flag.;
#X text 479 51 Flags for reading:;
#X text 498 73 -skip <sample frames to skip in file>;
#X text 498 90 -nframes <maximum number of sample frames to read>;
#X text 499 148 -raw <headersize> <channels> <bytespersample> <endianness>
;
#X text 518 166 This causes all header information to be ignored. Endianness
is "l" ("little") for Intel machines or "b" ("big") for Macintoshes
and SGIs. You can give "n" (natural) to take the byte order your machine
prefers.;
#X text 499 111 -resize;
#X text 499 127 -maxsize <maximum number of samples we can resize to>
;
#X text 488 225 Flags for writing:;
#X text 503 246 -wave \, -nextstep \, -aiff;
#X text 504 265 -big \, -little (nextstep only!);
#X text 503 287 -skip <number of sample frames to skip in array>;
#X text 504 309 -nframes <maximum number to write>;
#X text 505 353 -normalize;
#X text 504 331 -bytes <2 \, 3 \, or 4>;
#X floatatom 12 317 0 0 0;
#X msg 16 155 read -resize ../sound/bell.aiff array2;
#X text 707 581 updated for Pd version 0.29;
#X msg 18 268 write -nextstep -bytes 4 /tmp/foo3 array1 array2;
#X msg 17 245 write -wave -nframes 10000 /tmp/foo2 array2;
#X text 257 130 read a file;
#X text 302 155 ...optionally resize;
#X text 230 196 ...or even overriding everything;
#X text 235 221 write a file;
#X text 376 270 write stereo;
#X text 488 384 The number of channels is limited to 64;
#X text 790 429 see also:;
#X obj 784 452 tabwrite~;
#X obj 785 476 tabread4~;
#X obj 784 503 tabplay~;
#X connect 2 0 26 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 27 0 2 0;
#X connect 29 0 2 0;
#X connect 30 0 2 0;
