aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/5.reference/soundfiler.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/5.reference/soundfiler.pd')
-rw-r--r--pd/doc/5.reference/soundfiler.pd66
1 files changed, 66 insertions, 0 deletions
diff --git a/pd/doc/5.reference/soundfiler.pd b/pd/doc/5.reference/soundfiler.pd
new file mode 100644
index 00000000..c6384664
--- /dev/null
+++ b/pd/doc/5.reference/soundfiler.pd
@@ -0,0 +1,66 @@
+#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;