From 061e4be1f20ac78e3b52bc6429322d5fadcf5831 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 28 Apr 2005 00:25:05 +0000 Subject: cleaned up a number of patches; renamed all to the standard -help.pd format; added some more ideas to the style guide; finished up lists_vs_anythings svn path=/trunk/; revision=2841 --- doc/pddp/tabread4-help.pd | 148 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 doc/pddp/tabread4-help.pd (limited to 'doc/pddp/tabread4-help.pd') diff --git a/doc/pddp/tabread4-help.pd b/doc/pddp/tabread4-help.pd new file mode 100644 index 00000000..e6a3cd51 --- /dev/null +++ b/doc/pddp/tabread4-help.pd @@ -0,0 +1,148 @@ +#N canvas 2 1 658 618 12; +#X obj 114 560 pddp; +#X obj 8 3 cnv 15 90 578 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 14 213 ARGUMENTS:; +#X text 19 323 EXAMPLES:; +#X text 22 471 SEE ALSO:; +#N canvas 58 0 407 256 Related_Objects 0; +#X text 25 11 Native Pd Objects; +#X text 16 166 Externals and other object libraries; +#X obj 16 41 tabread~; +#X obj 165 41 tabwrite; +#X obj 240 41 tabwrite~; +#X obj 16 67 tabsend~; +#X obj 92 67 tabreceive~; +#X obj 192 67 tabplay~; +#X obj 269 67 table; +#X text 15 124 [array]; +#X obj 16 94 soundfiler; +#X text 78 124 and fft objects.; +#X text 21 187 [tabdump]; +#X obj 112 94 tabread4~; +#X text 20 207 [tabenv]; +#X obj 203 94 getsize; +#X obj 274 94 setsize; +#X text 238 207 [arraysize]; +#X text 238 186 [score]; +#X text 114 186 [linear_path]; +#X text 114 207 [plot]; +#X obj 90 41 tabread; +#X restore 114 508 pd Related_Objects; +#N canvas 80 0 659 614 More_Info 0; +#X text 46 564 Also See:; +#X obj 125 564 pddp_open all_about_arrays; +#X text 21 8 WHAT IS INTERPOLATION?; +#X text 38 34 "Interpolation" is a word which described a sophisticated +way to "connect-the-dots". (This is over simplified \, but effective +for the time being.); +#X text 17 85 Let's say for example that we have an array whose values +are: 0 \, 6 \, 5; +#X text 36 120 There are 3 elements in this array \, right? Well \, +using [tabread] we could successfully read only 3 numbers. But interpolation +allows us to fill in the gaps between those values in a meaningful +way. For example \, we can assume that between 0 and 6 \, we might +find 4.5! We can also assume that the slope from 0 to 6 will be sharper +than the slope from 6 to 5 In this way \, using [tabread4] will allow +us to create much smoother lines and curves between our "dots".; +#X text 35 254 However \, this process is much more complicated than +mere "smoothing". 4-point interpolation incorporates a sophisticated +formula to intelligently create meaningful increments between values +in an array. For example: we could draw a few points on a baseball +diamond between the pitcher's mound and home plate. Those points could +represent the path a ball travels after a pitch. Using 4-point interpolation +\, we might be able to assume the positions of the ball between our +"known" points and determine whether the pitch was a fastball or a +curve ball.; +#X text 35 419 There are different formulas used to interpolate arrays. +Each method has a sort of niche where it is most comfortable and most +effective. Pd \, like most contemporary audio software \, uses 4-point +interpolation which is also known as "Hermite" interpolation. It is +the most "intelligent" 2-dimensional method of interpolation.; +#N canvas 167 0 570 613 What_does_it_really_do? 0; +#X text 20 10 Let's see [tabread4] at work...; +#N canvas 0 0 450 300 graph36 0; +#X array original_array 10 float 1; +#A 0 -0.324999 -0.274999 -0.0749997 0.174999 -0.624998 0.649998 0.599998 +0.524998 -0.749997 -0.774996; +#X coords 0 1 9 -1 200 140 1; +#X restore 292 9 graph; +#X text 37 158 The array above has only 10 elements. You can draw new +shapes with your mouse.; +#X obj 14 202 bng 15 250 50 0 empty empty Bang_me 18 7 0 8 -24198 -1 +-1; +#X obj 88 246 until; +#N canvas 0 0 450 300 graph37 0; +#X array interpolation 1000 float 0; +#X coords 0 1 999 -1 200 140 1; +#X restore 304 445 graph; +#X obj 84 341 tabread4 original_array; +#X obj 88 270 f; +#X obj 118 270 + 1; +#X obj 84 368 tabwrite interpolation; +#X obj 87 295 t f f; +#X obj 14 222 t b b; +#X msg 48 250 0; +#X obj 86 318 / 100; +#X msg 88 222 1000; +#X text 36 395 The array below has 1000 elements. At this resolution +\, you will see the overall effect of 4-point interpolation.; +#X connect 3 0 11 0; +#X connect 4 0 7 0; +#X connect 6 0 9 0; +#X connect 7 0 8 0; +#X connect 7 0 10 0; +#X connect 8 0 7 1; +#X connect 10 0 13 0; +#X connect 10 1 9 1; +#X connect 11 0 14 0; +#X connect 11 1 12 0; +#X connect 12 0 7 1; +#X connect 13 0 6 0; +#X connect 14 0 4 0; +#X restore 36 526 pd What_does_it_really_do?; +#X restore 114 534 pd More_Info; +#X floatatom 161 443 0 0 0 3 - - -; +#X floatatom 116 364 0 0 1000 1 location - -; +#X msg 286 389 set another_table; +#X text 106 162 Set - the "set " message allows you to read +from dynamic sources. You can change the source at any time using the +"set" message.; +#X text 29 266 OUTLETS:; +#X obj 486 442 table another_table; +#X text 106 323 Open the tables and use your mouse to draw new values +in the arrays - otherwise [tabread] will always output "0".; +#X text 39 34 INLETS:; +#X text 112 470 doc/2.control.examples/15.arrays.pd; +#X text 113 489 doc/2.control.examples/16.more.arrays.pd; +#X obj 21 10 tabread4; +#X text 111 10 - READ NUMBERS FROM A TABLE WITH 4-POINT INTERPOLATION +; +#X text 105 213 One - the argument informs [tabread4] which array to +read. The array must exist in an open Pd patch/canvas or an error message +will appear in the terminal window.; +#X text 104 265 One - outputs a floating point number representing +an interpolation of the array value corresponding to the location described +at the inlet.; +#X text 107 34 Float - A float at the left inlet will move to the corresponding +location in the table's array. The lowest valid number is "0" which +represents the first element of the array. The highest valid number +is a fraction below the actual length of the array. Each fractional +increment between the lower and upper bounds of the array will produce +an interpolation of the actual array values at the outlet.; +#X msg 248 364 set davids_array; +#N canvas 0 0 450 300 graph27 0; +#X array davids_array 10 float 1; +#A 0 0 0.749989 0 -0.849987 0 -0.349995 0.949986 0 -0.699989 -0.399994 +; +#X coords 0 1 9 -1 100 40 1; +#X restore 526 380 graph; +#X text 249 444 interpolation; +#X obj 121 390 / 100; +#X obj 161 416 tabread4 davids_array; +#X text 158 561 - Dave Sabine \, May 2 \, 2003; +#X connect 8 0 25 0; +#X connect 9 0 26 0; +#X connect 22 0 26 0; +#X connect 25 0 26 0; +#X connect 26 0 7 0; -- cgit v1.2.1