aboutsummaryrefslogtreecommitdiff
path: root/doc/tutorials
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tutorials')
-rw-r--r--doc/tutorials/sound/00.controlling_dsp_processing.pd33
-rw-r--r--doc/tutorials/sound/TEMPLATE.pd4
-rw-r--r--doc/tutorials/sound/TODO3
-rw-r--r--doc/tutorials/sound/building_waveforms_with_sines.pd96
-rw-r--r--doc/tutorials/sound/sixteen_harmonics.pd126
5 files changed, 260 insertions, 2 deletions
diff --git a/doc/tutorials/sound/00.controlling_dsp_processing.pd b/doc/tutorials/sound/00.controlling_dsp_processing.pd
new file mode 100644
index 00000000..6c0a8912
--- /dev/null
+++ b/doc/tutorials/sound/00.controlling_dsp_processing.pd
@@ -0,0 +1,33 @@
+#N canvas 97 151 648 468 10;
+#X obj 494 57 import rradical;
+#X obj 541 21 pddp/dsp;
+#X obj 11 8 cnv 15 400 40 empty empty TEMPLATE 20 12 0 24 -228992 -66577
+0;
+#X text 14 271 To see whether the DSP is on or off \, look at the checkbox
+on the main Pd window. You can also turn the DSP on and off using that
+checkbox.;
+#X text 13 106 You can turn the processing of audio data on and off.
+In order for your patch to run \, you need to make sure that "compute
+audio" is turned on. This is also known as the "DSP". There are a couple
+ways of turning the "DSP" on and off.;
+#X text 14 68 In Pd message processing is always running \, but audio
+processing can be turned on and off.;
+#X msg 51 227 \; pd dsp 1;
+#X msg 118 227 \; pd dsp 0;
+#X text 14 182 As with most programming languages \, in Pd "1" means
+on \, and "0" means off.;
+#X text 15 366 There are also keyboard shortcuts:;
+#X text 26 418 (On MacOS X \, you can also use Cmd-. and Cmd-/);
+#X text 37 385 off: Ctrl-.;
+#X text 44 400 on: Ctrl-/;
+#X obj 269 238 pddp/dsp;
+#X text 263 217 [pddp/dsp];
+#X obj 507 234 osc~ 250;
+#X obj 507 262 *~ 0.2;
+#X obj 499 292 dac~;
+#X text 463 205 (sine wave generator);
+#X text 13 323 You can also use the menu options: from the "Media"
+menu \, select "audio ON" or "audio OFF".;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 16 0 17 1;
diff --git a/doc/tutorials/sound/TEMPLATE.pd b/doc/tutorials/sound/TEMPLATE.pd
index 428ca231..7373e7bc 100644
--- a/doc/tutorials/sound/TEMPLATE.pd
+++ b/doc/tutorials/sound/TEMPLATE.pd
@@ -1,6 +1,6 @@
-#N canvas 286 169 640 460 10;
+#N canvas 286 169 644 464 10;
+#X obj 494 57 import rradical;
#X obj 541 21 pddp/dsp;
#X obj 11 8 cnv 15 400 40 empty empty TEMPLATE 20 12 0 24 -228992 -66577
0;
#X obj 151 364 ezdac~;
-#X obj 494 57 import rradical;
diff --git a/doc/tutorials/sound/TODO b/doc/tutorials/sound/TODO
index bf5abbec..5c2edd25 100644
--- a/doc/tutorials/sound/TODO
+++ b/doc/tutorials/sound/TODO
@@ -14,6 +14,7 @@
- Change sound quality with numberbox
+- ggkarman has some very nice MIDI tuts
File Order:
@@ -21,6 +22,8 @@ File Order:
quick sine wave patch
- audio data
differences between audio and message data
+- signal network
+ when the DSP is on, audio processing is always running
- dsp processing
controlling the DSP
- oscillators
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;
diff --git a/doc/tutorials/sound/sixteen_harmonics.pd b/doc/tutorials/sound/sixteen_harmonics.pd
new file mode 100644
index 00000000..98177e3a
--- /dev/null
+++ b/doc/tutorials/sound/sixteen_harmonics.pd
@@ -0,0 +1,126 @@
+#N canvas 246 22 845 483 10;
+#X obj 14 20 vsl 12 96 0 1 0 1 \$0-1 \$0-1 1 4 104 2 10 -262131 -123526
+-1 9500 0;
+#X obj 26 20 vsl 12 96 0 1 0 1 \$0-2 \$0-2 2 4 104 2 10 -225271 -42246
+-1 4800 0;
+#X obj 38 20 vsl 12 96 0 1 0 1 \$0-3 \$0-3 3 4 104 2 10 -225271 -42246
+-1 3300 0;
+#X obj 50 20 vsl 12 96 0 1 0 1 \$0-4 \$0-4 4 4 104 2 10 -225271 -42246
+-1 2000 0;
+#X obj 62 20 vsl 12 96 0 1 0 1 \$0-5 \$0-5 5 4 104 2 10 -225271 -42246
+-1 1300 0;
+#X obj 74 20 vsl 12 96 0 1 0 1 \$0-6 \$0-6 6 4 104 2 10 -225271 -42246
+-1 800 0;
+#X obj 86 20 vsl 12 96 0 1 0 1 \$0-7 \$0-7 7 4 104 2 10 -225271 -42246
+-1 600 0;
+#X obj 98 20 vsl 12 96 0 1 0 1 \$0-8 \$0-8 8 4 104 2 10 -225271 -42246
+-1 500 0;
+#X obj 110 20 vsl 12 96 0 1 0 1 \$0-9 \$0-9 9 4 104 2 10 -262131 -123526
+-1 400 0;
+#X obj 122 20 vsl 12 96 0 1 0 1 \$0-10 \$0-10 10 1 104 2 10 -225271
+-42246 -1 300 0;
+#X obj 134 20 vsl 12 96 0 1 0 1 \$0-11 \$0-11 11 1 104 2 10 -225271
+-42246 -1 200 0;
+#X obj 146 20 vsl 12 96 0 1 0 1 \$0-12 \$0-12 12 1 104 2 10 -225271
+-42246 -1 200 0;
+#X obj 158 20 vsl 12 96 0 1 0 1 \$0-13 \$0-13 13 1 104 2 10 -225271
+-42246 -1 100 0;
+#X obj 170 20 vsl 12 96 0 1 0 1 \$0-14 \$0-14 14 1 104 2 10 -225271
+-42246 -1 100 0;
+#X obj 182 20 vsl 12 96 0 1 0 1 \$0-15 \$0-15 15 1 104 2 10 -225271
+-42246 -1 100 0;
+#X obj 194 20 vsl 12 96 0 1 0 1 \$0-16 \$0-16 16 1 104 2 10 -225271
+-42246 -1 100 0;
+#X obj 214 18 cnv 15 150 106 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#N canvas 0 22 450 300 graph3 0;
+#X array \$1 4099 float 0;
+#X coords 0 1 4098 -1 140 96 1;
+#X restore 219 23 graph;
+#X obj 17 180 r \$0-1;
+#X obj 66 179 r \$0-2;
+#X obj 115 178 r \$0-3;
+#X obj 163 178 r \$0-4;
+#X obj 210 178 r \$0-5;
+#X obj 258 178 r \$0-6;
+#X obj 307 178 r \$0-7;
+#X obj 355 178 r \$0-8;
+#X obj 404 178 r \$0-9;
+#X obj 451 178 r \$0-10;
+#X obj 506 178 r \$0-11;
+#X obj 561 178 r \$0-12;
+#X obj 615 178 r \$0-13;
+#X obj 668 178 r \$0-14;
+#X obj 721 178 r \$0-15;
+#X obj 774 178 r \$0-16;
+#X msg 231 413 \; \$1 sinesum 4096 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9
+\$10 \$11 \$12 \$13 \$14 \$15 \$16 \$17 \; \$1 normalize;
+#X obj 23 322 symbol \$1;
+#X obj 231 390 pack s f f f f f f f f f f f f f f f f;
+#X obj 17 201 t b f;
+#X obj 211 198 t b f;
+#X obj 404 198 t b f;
+#X obj 615 199 t b f;
+#X obj 66 200 t b f;
+#X obj 258 199 t b f;
+#X obj 451 198 t b f;
+#X obj 668 199 t b f;
+#X obj 115 199 t b f;
+#X obj 307 199 t b f;
+#X obj 506 198 t b f;
+#X obj 721 199 t b f;
+#X obj 163 198 t b f;
+#X obj 355 198 t b f;
+#X obj 561 197 t b f;
+#X obj 774 198 t b f;
+#X connect 18 0 37 0;
+#X connect 19 0 41 0;
+#X connect 20 0 45 0;
+#X connect 21 0 49 0;
+#X connect 22 0 38 0;
+#X connect 23 0 42 0;
+#X connect 24 0 46 0;
+#X connect 25 0 50 0;
+#X connect 26 0 39 0;
+#X connect 27 0 43 0;
+#X connect 28 0 47 0;
+#X connect 29 0 51 0;
+#X connect 30 0 40 0;
+#X connect 31 0 44 0;
+#X connect 32 0 48 0;
+#X connect 33 0 52 0;
+#X connect 35 0 36 0;
+#X connect 36 0 34 0;
+#X connect 37 0 35 0;
+#X connect 37 1 36 1;
+#X connect 38 0 35 0;
+#X connect 38 1 36 5;
+#X connect 39 0 35 0;
+#X connect 39 1 36 9;
+#X connect 40 0 35 0;
+#X connect 40 1 36 13;
+#X connect 41 0 35 0;
+#X connect 41 1 36 2;
+#X connect 42 0 35 0;
+#X connect 42 1 36 6;
+#X connect 43 0 35 0;
+#X connect 43 1 36 10;
+#X connect 44 0 35 0;
+#X connect 44 1 36 14;
+#X connect 45 0 35 0;
+#X connect 45 1 36 3;
+#X connect 46 0 35 0;
+#X connect 46 1 36 7;
+#X connect 47 0 35 0;
+#X connect 47 1 36 11;
+#X connect 48 0 35 0;
+#X connect 48 1 36 15;
+#X connect 49 0 35 0;
+#X connect 49 1 36 4;
+#X connect 50 0 35 0;
+#X connect 50 1 36 8;
+#X connect 51 0 35 0;
+#X connect 51 1 36 12;
+#X connect 52 0 35 0;
+#X connect 52 1 36 16;
+#X coords 0 -1 1 1 360 125 1 10 5;