#N canvas 366 152 1042 671 12;
#N canvas 0 22 450 300 (subpatch) 0;
#X array array1 77971 float 0;
#X coords 0 1 77970 -1 300 100 1;
#X restore 32 549 graph;
#N canvas 0 22 450 300 (subpatch) 0;
#X array array2 155944 float 0;
#X coords 0 1 155943 -1 300 100 1;
#X restore 341 549 graph;
#X obj 49 395 soundfiler;
#X msg 73 308 write -aiff /tmp/foo1 array2;
#X msg 42 157 read ../sound/bell.aiff array2;
#X msg 58 214 read -raw 128 2 2 b ../sound/bell.aiff array1 array2
;
#X text 548 17 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 558 76 Flags for reading:;
#X text 574 94 -skip <sample frames to skip in file>;
#X floatatom 49 419 0 0 0 0 - - -;
#X msg 50 185 read -resize ../sound/bell.aiff array2;
#X msg 82 363 write -nextstep -bytes 4 /tmp/foo3 array1 array2;
#X msg 78 336 write -wave -nframes 10000 /tmp/foo2 array2;
#X text 283 308 write a file;
#X text 428 363 write stereo;
#X text 575 149 -raw <headersize> <channels> <bytespersample> <endianness>
;
#X text 594 167 This causes all header information to be ignored. Endianness
is "l" ("little") for Intel machines or "b" ("big") for PPC Macintoshes.
You can give "n" (natural) to take the byte order your machine prefers.
;
#X text 575 112 -resize;
#X text 575 130 -maxsize <maximum number of samples we can resize to>
;
#X text 645 329 Flags for writing:;
#X text 660 350 -wave \, -nextstep \, -aiff;
#X text 661 369 -big \, -little (nextstep only!);
#X text 660 391 -skip <number of sample frames to skip in array>;
#X text 661 413 -nframes <maximum number to write>;
#X text 662 457 -normalize;
#X text 661 435 -bytes <2 \, 3 \, or 4>;
#X text 662 502 The number of channels is limited to 64;
#X obj 790 568 tabwrite~;
#X obj 790 592 tabread4~;
#X obj 895 546 tabplay~;
#X obj 895 593 writesf~;
#X obj 895 570 readsf~;
#X text 661 477 -rate <sample rate>;
#X obj 116 420 print;
#X text 790 544 See also:;
#X text 259 157 read a file to zero or more arrays;
#X obj 30 15 soundfiler;
#X text 108 14 - read and write soundfiles to arrays;
#X text 31 46 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
(no floating point aiff \, 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.), f 64;
#X text 330 184 optionally resize;
#X text 436 214 override header;
#X msg 66 241 read -ascii table.txt array1;
#X text 279 240 ... read from an ascii file, f 32;
#X text 44 454 Left outlet outputs the number of samples. Right outlet
outputs info as a list: samplerate \, headersize \, num channels \,
bytespersample \, & endianness ("b" or "l"). If no array name is given
\, no samples are read but the info is provided anyway., f 68;
#X text 587 230 -ascii - read a file containing ascii numbers. May
be combined with -resize. Newlines in the file are ignored \; non-numeric
fields are replaced by zero. If multiple arrays are specified \, the
first elements of each array should come first in the file \, followed
by all the second elements and so on., f 61;
#X text 787 635 updated for Pd version 0.51;
#X connect 2 0 9 0;
#X connect 2 1 33 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 10 0 2 0;
#X connect 11 0 2 0;
#X connect 12 0 2 0;
#X connect 41 0 2 0;
