aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/4.data.structures/11.sliderule.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/4.data.structures/11.sliderule.pd')
-rw-r--r--pd/doc/4.data.structures/11.sliderule.pd205
1 files changed, 205 insertions, 0 deletions
diff --git a/pd/doc/4.data.structures/11.sliderule.pd b/pd/doc/4.data.structures/11.sliderule.pd
new file mode 100644
index 00000000..d149cfa3
--- /dev/null
+++ b/pd/doc/4.data.structures/11.sliderule.pd
@@ -0,0 +1,205 @@
+#N struct label float x float y float n;
+#N struct line float x float y float w;
+#N canvas 552 6 487 277 10;
+#N canvas 15 -5 504 847 data 1;
+#X scalar label 55 190.999 43 \;;
+#X scalar label 175 196.826 44 \;;
+#X scalar label 175 203 45 \;;
+#X scalar label 175 209.541 46 \;;
+#X scalar label 55 216.471 47 \;;
+#X scalar label 175 223.813 48 \;;
+#X scalar label 175 231.591 49 \;;
+#X scalar label 55 239.832 50 \;;
+#X scalar label 175 248.563 51 \;;
+#X scalar label 175 257.814 52 \;;
+#X scalar label 55 267.614 53 \;;
+#X scalar label 175 277.997 54 \;;
+#X scalar label 175 288.998 55 \;;
+#X scalar label 175 300.652 56 \;;
+#X scalar label 55 313 57 \;;
+#X scalar label 175 326.082 58 \;;
+#X scalar label 175 339.942 59 \;;
+#X scalar label 155 354.626 60 \;;
+#X scalar label 175 370.183 61 \;;
+#X scalar label 175 386.665 62 \;;
+#X scalar label 175 404.127 63 \;;
+#X scalar label 55 422.628 64 \;;
+#X scalar label 175 442.228 65 \;;
+#X scalar label 175 462.994 66 \;;
+#X scalar label 55 484.995 67 \;;
+#X scalar label 175 508.305 68 \;;
+#X scalar label 175 533 69 \;;
+#X scalar label 175 559.164 70 \;;
+#X scalar label 55 586.883 71 \;;
+#X scalar label 175 616.251 72 \;;
+#X scalar label 175 647.365 73 \;;
+#X scalar label 55 680.33 74 \;;
+#X scalar label 175 715.254 75 \;;
+#X scalar label 175 752.255 76 \;;
+#X scalar label 55 791.456 77 \;;
+#X scalar line 175 87 100 \;;
+#X scalar line 195 135.999 60 \;;
+#X scalar line 195 138.913 60 \;;
+#X scalar line 195 142 60 \;;
+#X scalar line 195 145.271 60 \;;
+#X scalar line 195 148.735 60 \;;
+#X scalar line 175 152.406 100 \;;
+#X scalar line 195 156.296 60 \;;
+#X scalar line 195 160.416 60 \;;
+#X scalar line 195 164.782 60 \;;
+#X scalar line 195 169.407 60 \;;
+#X scalar line 195 174.307 60 \;;
+#X scalar line 195 179.499 60 \;;
+#X scalar line 75 184.999 300 \;;
+#X scalar line 195 190.826 60 \;;
+#X scalar line 195 197 60 \;;
+#X scalar line 195 203.541 60 \;;
+#X scalar line 75 210.471 300 \;;
+#X scalar line 195 217.813 60 \;;
+#X scalar line 195 225.591 60 \;;
+#X scalar line 75 233.832 300 \;;
+#X scalar line 195 242.563 60 \;;
+#X scalar line 195 251.814 60 \;;
+#X scalar line 75 261.614 300 \;;
+#X scalar line 195 271.997 60 \;;
+#X scalar line 195 282.998 60 \;;
+#X scalar line 195 294.652 60 \;;
+#X scalar line 75 307 300 \;;
+#X scalar line 195 320.082 60 \;;
+#X scalar line 195 333.942 60 \;;
+#X scalar line 175 348.626 100 \;;
+#X scalar line 195 364.183 60 \;;
+#X scalar line 195 380.665 60 \;;
+#X scalar line 195 398.127 60 \;;
+#X scalar line 75 416.628 300 \;;
+#X scalar line 195 436.228 60 \;;
+#X scalar line 195 456.994 60 \;;
+#X scalar line 75 478.995 300 \;;
+#X scalar line 195 502.305 60 \;;
+#X scalar line 195 527 60 \;;
+#X scalar line 195 553.164 60 \;;
+#X scalar line 75 580.883 300 \;;
+#X scalar line 195 610.251 60 \;;
+#X scalar line 195 641.365 60 \;;
+#X scalar line 75 674.33 300 \;;
+#X scalar line 195 709.254 60 \;;
+#X scalar line 195 746.255 60 \;;
+#X scalar line 75 785.456 300 \;;
+#X text 50 -32 Linear frequency chart -- cut this down the middle and
+use as a slide rule to compute frequency shifts. The longer lines are
+staves with the bass and treble clef. The numbers are the MIDI pitches.
+;
+#X text 148 686 36;
+#X text 109 751 zero Hz.;
+#X coords 0 847 1 846 0 0 0;
+#X restore 25 174 pd data;
+#N canvas 308 63 600 392 line 0;
+#X obj 140 114 drawpolygon 0 1 0 0 w 0;
+#X obj 145 63 struct line float x float y float w;
+#X restore 25 195 pd line;
+#N canvas 567 89 600 392 label 0;
+#X obj 140 114 drawnumber n 0 0 0;
+#X obj 145 63 struct label float x float y float n;
+#X restore 25 216 pd label;
+#N canvas 468 99 775 518 generator 0;
+#X obj 353 173 sel 36 60;
+#X obj 457 171 pointer;
+#X msg 457 149 traverse pd-data \, bang;
+#X msg 28 11 \; pd-data clear;
+#X obj 146 52 until;
+#X obj 146 76 float;
+#X obj 193 77 + 1;
+#X obj 146 100 moses 77;
+#X obj 245 76 t b;
+#X obj 146 31 t b b;
+#X msg 146 10 bang;
+#X obj 83 116 t f f f;
+#X obj 137 196 t b b;
+#X obj 135 150 sel 43 47 50 53 57 64 67 71 74 77;
+#X msg 219 46 30;
+#X obj 49 89 sel 30;
+#X obj 52 149 mtof;
+#X obj 11 191 t b b;
+#X obj 12 231 0;
+#X msg 248 221 100;
+#X msg 322 222 60;
+#X msg 216 222 150;
+#X msg 293 222 170;
+#X obj 195 377 append line y x w;
+#X obj 52 257 + 20;
+#X msg 132 220 50;
+#X msg 161 219 300;
+#X obj 144 409 - 20;
+#X obj 105 437 append label y x n;
+#X obj 58 375 + 6;
+#X obj 52 170 * 1;
+#X obj 59 407 moses 120;
+#X connect 0 0 21 0;
+#X connect 0 0 19 0;
+#X connect 0 1 19 0;
+#X connect 0 1 21 0;
+#X connect 0 2 22 0;
+#X connect 0 2 20 0;
+#X connect 1 0 23 3;
+#X connect 1 0 28 3;
+#X connect 2 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 0;
+#X connect 5 0 15 0;
+#X connect 6 0 5 1;
+#X connect 7 1 8 0;
+#X connect 8 0 4 1;
+#X connect 9 0 4 0;
+#X connect 9 1 14 0;
+#X connect 9 1 2 0;
+#X connect 10 0 9 0;
+#X connect 11 0 16 0;
+#X connect 11 1 28 2;
+#X connect 11 2 13 0;
+#X connect 12 0 25 0;
+#X connect 12 1 26 0;
+#X connect 13 0 12 0;
+#X connect 13 1 12 0;
+#X connect 13 2 12 0;
+#X connect 13 3 12 0;
+#X connect 13 4 12 0;
+#X connect 13 5 12 0;
+#X connect 13 6 12 0;
+#X connect 13 7 12 0;
+#X connect 13 8 12 0;
+#X connect 13 9 12 0;
+#X connect 13 10 0 0;
+#X connect 14 0 5 1;
+#X connect 15 0 17 0;
+#X connect 15 1 11 0;
+#X connect 16 0 30 0;
+#X connect 17 0 18 0;
+#X connect 17 1 21 0;
+#X connect 17 1 19 0;
+#X connect 18 0 24 0;
+#X connect 19 0 23 2;
+#X connect 20 0 23 2;
+#X connect 21 0 23 1;
+#X connect 21 0 27 0;
+#X connect 22 0 23 1;
+#X connect 22 0 27 0;
+#X connect 24 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 23 1;
+#X connect 25 0 27 0;
+#X connect 26 0 23 2;
+#X connect 27 0 28 1;
+#X connect 29 0 31 0;
+#X connect 30 0 24 0;
+#X connect 31 1 28 0;
+#X restore 25 238 pd generator;
+#X text 53 5 FREQUENCY SHIFTER SLIDE RULE.;
+#X text 23 32 This might help you if you need to compute products of
+frequency shifting and/or FM spectra. Print and cut in half down the
+middle. If you know the pitches associated with two frequencies a and
+b \, align the pitch of a on the left side against the zero-frequency
+marker on the right side. Then find the pitch of b on the right \,
+and the matching pitch on the left corresponds to the frequency a+b.
+To get a-b \, find b on the left and look up the corresponding pitch
+on the right.;