aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/C08.analog.sequencer.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/3.audio.examples/C08.analog.sequencer.pd')
-rw-r--r--pd/doc/3.audio.examples/C08.analog.sequencer.pd156
1 files changed, 156 insertions, 0 deletions
diff --git a/pd/doc/3.audio.examples/C08.analog.sequencer.pd b/pd/doc/3.audio.examples/C08.analog.sequencer.pd
new file mode 100644
index 00000000..9ee9e6de
--- /dev/null
+++ b/pd/doc/3.audio.examples/C08.analog.sequencer.pd
@@ -0,0 +1,156 @@
+#N canvas 46 22 825 554 12;
+#N canvas 0 0 450 300 graph1 0;
+#X array 29-sequence 9 float 1;
+#A 0 55 550 385 495 165 385 495 275 615;
+#X coords 0 500 8 0 200 100 1;
+#X restore 621 42 graph;
+#X obj 27 426 *~;
+#X obj 27 454 hip~ 5;
+#N canvas 0 0 450 300 graph1 0;
+#X array 29-envelope 103 float 1;
+#A 0 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1.01111 1 0.988889 0.977778
+0.966667 0.955556 0.944444 0.933333 0.922222 0.911111 0.9 0.888889
+0.797778 0.737777 0.677777 0.647777 0.617777 0.557777 0.487777 0.467777
+0.447776 0.417776 0.397776 0.387776 0.377776 0.367776 0.347776 0.327776
+0.317776 0.297776 0.277776 0.267776 0.257776 0.257776 0.277776 0.297776
+0.327776 0.357776 0.377776 0.397776 0.407776 0.427776 0.437776 0.387776
+0.367776 0.347776 0.337776 0.287776 0.277776 0.277776 0.277776 0.267776
+0.267776 0.267776 0.297776 0.317776 0.347776 0.367776 0.367776 0.357776
+0.347776 0.337776 0.307776 0.287776 0.257776 0.227776 0.197776 0.167776
+0.167776 0.167776 0.167776 0.167776 0.157776 0.157776 0.157776 0.157776
+0.147776 0.147776 0.147776 0.137776 0.137776 0.111111 0.1 0.0888889
+0.0777778 0.0666667 0.0555556 0.0444444 0.0333333 0.0222222 0.0111111
+0 -0.0111111;
+#X coords 0 1 102 0 200 100 1;
+#X restore 622 146 graph;
+#N canvas 0 0 450 300 graph1 0;
+#X array 29-sample 259 float 1;
+#A 0 0.989177 1 0.989177 0.95694 0.903989 0.83147 0.740952 0.634394
+0.514103 0.382684 0.242981 0.0980184 -0.0490663 -0.195089 -0.336888
+-0.471395 -0.595698 -0.707105 -0.803206 -0.88192 -0.941543 -0.980785
+-0.998795 -0.995185 -0.970032 -0.923881 -0.85773 -0.773013 -0.671561
+-0.555573 -0.427558 -0.290288 -0.146734 -3.98038e-06 0.146726 0.290281
+0.427551 0.555566 0.671556 0.773007 0.857726 0.923878 0.97003 0.995184
+0.998796 0.980786 0.941546 0.881924 0.803211 0.707111 0.595704 0.471402
+0.336896 0.195097 0.0490743 -0.0980105 -0.242974 -0.382677 -0.514097
+-0.634388 -0.740946 -0.831465 -0.903986 -0.956938 -0.989175 -1 -0.989178
+-0.956943 -0.903993 -0.831474 -0.740957 -0.6344 -0.51411 -0.382692
+-0.242989 -0.0980263 0.0490584 0.195081 0.336881 0.471388 0.595691
+0.7071 0.803202 0.881916 0.941541 0.980783 0.998795 0.995186 0.970034
+0.923884 0.857734 0.773018 0.671567 0.55558 0.427566 0.290296 0.146742
+1.19412e-05 -0.146719 -0.290273 -0.427544 -0.55556 -0.67155 -0.773002
+-0.857722 -0.923875 -0.970028 -0.995183 -0.998796 -0.980788 -0.941549
+-0.881928 -0.803216 -0.707117 -0.595711 -0.471409 -0.336903 -0.195104
+-0.0490822 0.0980025 0.242966 0.38267 0.51409 0.634382 0.740941 0.831461
+0.903983 0.956936 0.989174 1 0.989179 0.956945 0.903996 0.831479 0.740962
+0.634406 0.514117 0.382699 0.242997 0.0980342 -0.0490504 -0.195073
+-0.336873 -0.471381 -0.595685 -0.707094 -0.803197 -0.881913 -0.941538
+-0.980782 -0.998795 -0.995187 -0.970036 -0.923887 -0.857738 -0.773023
+-0.671573 -0.555586 -0.427573 -0.290303 -0.14675 -1.99019e-05 0.146711
+0.290265 0.427537 0.555553 0.671544 0.772997 0.857718 0.923872 0.970026
+0.995183 0.998797 0.980789 0.941551 0.881931 0.803221 0.707122 0.595717
+0.471416 0.336911 0.195112 0.0490902 -0.0979946 -0.242958 -0.382662
+-0.514083 -0.634375 -0.740936 -0.831457 -0.903979 -0.956933 -0.989173
+-1 -0.98918 -0.956947 -0.904 -0.831483 -0.740968 -0.634412 -0.514124
+-0.382706 -0.243004 -0.0980421 0.0490425 0.195065 0.336866 0.471374
+0.595679 0.707088 0.803192 0.881909 0.941535 0.98078 0.998794 0.995187
+0.970038 0.92389 0.857742 0.773028 0.671579 0.555593 0.42758 0.290311
+0.146758 2.78627e-05 -0.146703 -0.290258 -0.42753 -0.555547 -0.671538
+-0.772992 -0.857714 -0.923868 -0.970024 -0.995182 -0.998797 -0.980791
+-0.941554 -0.881935 -0.803225 -0.707128 -0.595723 -0.471423 -0.336918
+-0.19512 -0.0490981 0.0979867 0.24295 0.382655 0.514076 0.634369 0.74093
+0.831452 0.903976 0.956931 0.989172 1 0.989181;
+#X coords 0 1 258 -1 200 100 1;
+#X restore 619 281 graph;
+#X text 566 533 updated for Pd version 0.37;
+#X obj 26 218 tabread~ 29-sequence;
+#X obj 106 241 wrap~;
+#X obj 106 265 *~ 100;
+#X obj 106 289 +~ 1;
+#X obj 26 242 phasor~;
+#X obj 26 266 -~ 0.5;
+#X obj 27 377 cos~;
+#X obj 84 336 *~;
+#X obj 28 488 output~;
+#X obj 84 408 tabread4~ 29-sample;
+#X obj 106 313 tabread4~ 29-envelope;
+#X obj 84 360 *~ 128;
+#X obj 84 384 +~ 129;
+#X obj 27 401 +~ 1;
+#X obj 26 194 *~ 9;
+#N canvas 328 85 609 424 make-tables 0;
+#X msg 109 52 bang;
+#X obj 109 77 t b b;
+#X obj 152 134 f;
+#X obj 190 134 + 1;
+#X msg 174 106 0;
+#X obj 109 103 until;
+#X obj 152 162 t f f;
+#X obj 27 190 moses 10;
+#X obj 18 272 tabwrite 29-envelope;
+#X obj 75 159 sel 102;
+#X obj 23 218 expr ($f1-1)/10;
+#X obj 35 243 expr (101-$f1)/90;
+#X msg 120 380 \; 29-sample cosinesum 256 0 0 0 0 0 0 1;
+#X msg 120 338 \; 29-sequence 0 55 550 385 495 165 385 495 275 615
+;
+#X text 30 8 bang to recalculate the envelope table (I did this but
+then went in and changed it with the mouse afterward.);
+#X text 84 299 The sequence is just a list of specified frequencies
+\; the wavetable is a cosine.;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 4 0;
+#X connect 2 0 3 0;
+#X connect 2 0 6 0;
+#X connect 2 0 9 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 1;
+#X connect 7 0 10 0;
+#X connect 7 1 11 0;
+#X connect 9 0 5 1;
+#X connect 10 0 8 0;
+#X connect 11 0 8 0;
+#X restore 689 401 pd make-tables;
+#X text 46 1 ANALOG-SYNTH-STYLE SEQUENCER;
+#X obj 26 170 phasor~ 0.6;
+#X text 27 27 Some control operations can be carried out entirely by
+tilde objects passing audio signals around. Here is an imitation of
+an analog sequencer and envelope generator. A phasor~ loops through
+the "sequence" table at 0.6 Hz \, generating 9 frequencies. Simultaneously
+\, by multiplying by 9 and wrapping \, we create a sawtooth at 9*0.6=5.4
+Hz \, which reads a second table for an envelope shape. This becomes
+the grain size for a samplerbased on the 18.sampler.looped example
+earlier.;
+#X text 97 194 main loop: sawtooth of amplitude 9;
+#X text 218 219 read frequency sequence;
+#X text 162 241 9x original frequency sawtooth;
+#X text 173 266 adjust for reading;
+#X text 346 266 envelope sample;
+#X text 123 336 multiply envelope by audio-frequency sawtooth;
+#X text 147 361 adjust amplitude and center for wavetable;
+#X text 62 428 multiply by raised-cosine smoothing function;
+#X text 478 401 how to make the tables:;
+#X connect 1 0 2 0;
+#X connect 2 0 14 0;
+#X connect 2 0 14 1;
+#X connect 6 0 10 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 16 0;
+#X connect 10 0 11 0;
+#X connect 11 0 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 19 0;
+#X connect 13 0 17 0;
+#X connect 15 0 1 1;
+#X connect 16 0 13 1;
+#X connect 17 0 18 0;
+#X connect 18 0 15 0;
+#X connect 19 0 1 0;
+#X connect 20 0 6 0;
+#X connect 20 0 7 0;
+#X connect 23 0 20 0;