From 7e400077fc504100acf30b33c7eb7685a95320fc Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 17 Apr 2006 16:31:41 +0000 Subject: added some sketches based on other patches that were floating around svn path=/trunk/; revision=4930 --- .../sound/00.controlling_dsp_processing.pd | 33 ++++++ doc/tutorials/sound/TEMPLATE.pd | 4 +- doc/tutorials/sound/TODO | 3 + .../sound/building_waveforms_with_sines.pd | 96 ++++++++++++++++ doc/tutorials/sound/sixteen_harmonics.pd | 126 +++++++++++++++++++++ 5 files changed, 260 insertions(+), 2 deletions(-) create mode 100644 doc/tutorials/sound/00.controlling_dsp_processing.pd create mode 100644 doc/tutorials/sound/building_waveforms_with_sines.pd create mode 100644 doc/tutorials/sound/sixteen_harmonics.pd (limited to 'doc/tutorials/sound') 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; -- cgit v1.2.1