aboutsummaryrefslogtreecommitdiff
path: root/doc/tutorials/sound/building_waveforms_with_sines.pd
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-04-17 16:31:41 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-04-17 16:31:41 +0000
commit7e400077fc504100acf30b33c7eb7685a95320fc (patch)
tree58b960535e4539113e3f1c4244841e7e48749543 /doc/tutorials/sound/building_waveforms_with_sines.pd
parent998f42d58fb0b34a9c14bf2e1bf1c854dd633efa (diff)
added some sketches based on other patches that were floating around
svn path=/trunk/; revision=4930
Diffstat (limited to 'doc/tutorials/sound/building_waveforms_with_sines.pd')
-rw-r--r--doc/tutorials/sound/building_waveforms_with_sines.pd96
1 files changed, 96 insertions, 0 deletions
diff --git a/doc/tutorials/sound/building_waveforms_with_sines.pd b/doc/tutorials/sound/building_waveforms_with_sines.pd
new file mode 100644
index 00000000..4b478b10
--- /dev/null
+++ b/doc/tutorials/sound/building_waveforms_with_sines.pd
@@ -0,0 +1,96 @@
+#N canvas 26 211 652 472 10;
+#X obj 494 57 import rradical;
+#X obj 541 21 pddp/dsp;
+#X obj 11 8 cnv 15 450 40 empty empty building_waveforms_with_sines
+20 12 0 24 -228992 -66577 0;
+#X obj 467 373 ezdac~;
+#X obj 32 219 sixteen_harmonics testing;
+#X obj 522 238 random 64;
+#X obj 522 262 + 32;
+#X obj 522 285 mtof;
+#X msg 408 190 bang;
+#X obj 479 336 *~;
+#X obj 522 309 tabosc4~ testing;
+#X obj 440 105 cnv 15 100 60 empty empty empty 20 12 0 14 -241291 -66577
+0;
+#X obj 446 125 vsl 10 32 0 1 0 1 \$0-a \$0-a a 0 -8 0 8 -262144 -1
+-1 1900 0;
+#X obj 459 125 vsl 10 32 0 1 0 1 \$0-d \$0-d d 0 -8 0 8 -262144 -1
+-1 2700 0;
+#X obj 472 125 vsl 10 32 0 1 0 1 \$0-s \$0-s s 0 -8 0 8 -262144 -1
+-1 1000 0;
+#X obj 485 125 vsl 10 32 0 1 0 1 \$0-r \$0-r r 0 -8 0 8 -262144 -1
+-1 1500 0;
+#N canvas 95 141 435 501 env 0;
+#X obj 29 5 inlet;
+#X obj 29 457 outlet~;
+#X obj 29 423 vline~;
+#X msg 29 203 0 \, 1 \$1;
+#X msg 224 375 0 \$1;
+#X obj 254 307 * 500;
+#X obj 59 71 * 500;
+#X obj 100 253 pack;
+#X obj 224 240 random 1000;
+#X msg 100 274 \$2 \$1;
+#X obj 129 148 * 500;
+#X obj 100 189 max 10;
+#X obj 29 114 max 10;
+#X obj 224 352 max 10;
+#X obj 29 25 bang;
+#X obj 129 126 receive \$0-d;
+#X obj 59 50 receive \$0-a;
+#X obj 223 218 delay;
+#X obj 254 287 receive \$0-r;
+#X obj 224 331 float;
+#X obj 224 261 delay;
+#X obj 29 92 float;
+#X obj 46 139 delay;
+#X obj 100 170 float;
+#X obj 122 231 receive \$0-s;
+#X connect 0 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 19 1;
+#X connect 6 0 21 1;
+#X connect 7 0 9 0;
+#X connect 8 0 20 0;
+#X connect 9 0 2 0;
+#X connect 10 0 23 1;
+#X connect 11 0 7 0;
+#X connect 11 0 17 0;
+#X connect 12 0 3 0;
+#X connect 12 0 22 0;
+#X connect 13 0 4 0;
+#X connect 14 0 21 0;
+#X connect 15 0 10 0;
+#X connect 16 0 6 0;
+#X connect 17 0 8 0;
+#X connect 18 0 5 0;
+#X connect 19 0 13 0;
+#X connect 20 0 19 0;
+#X connect 21 0 12 0;
+#X connect 22 0 23 0;
+#X connect 23 0 11 0;
+#X connect 24 0 7 1;
+#X restore 407 273 pd env;
+#X text 18 145 To start with \, we have something close to a square
+wave;
+#X text 15 62 Any waveform can be contructed using sine waves. This
+patch allows you to construct a waveform using harmonics.;
+#X obj 408 213 trigger bang bang;
+#X text 7 373 You can make a triangle wave by setting each harmonic
+to an amplitude that is the inverse of the harmonic number. That means
+for harmonic 2 \, set the slider to an amplitude of 1/2 \, or halfway
+in the middle. For harmonic 3 \, set it at 1/3 \, harmonic 4 \, set
+to 1/4 \, and so on...;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 0 19 0;
+#X connect 9 0 3 0;
+#X connect 9 0 3 1;
+#X connect 10 0 9 1;
+#X connect 16 0 9 0;
+#X connect 19 0 16 0;
+#X connect 19 1 5 0;