Skip to content

Commit

Permalink
ok, really done with beta 40
Browse files Browse the repository at this point in the history
  • Loading branch information
porres committed May 26, 2021
1 parent a250213 commit 4b50ce9
Show file tree
Hide file tree
Showing 10 changed files with 210 additions and 69 deletions.
26 changes: 26 additions & 0 deletions Examples/Part.04-Control/16-Lines/3.[slew].[slew2].pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#N canvas 783 90 464 400 12;
#X declare -path else;
#X obj 205 23 declare -path else;
#X floatatom 144 218 6 0 0 0 - - -;
#X obj 144 188 tgl 16 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X obj 113 137 bng 18 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 113 161 rand.f 0 1;
#X text 73 218 target =>;
#X obj 147 325 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 877 1;
#X floatatom 204 231 5 0 0 0 - - -;
#X text 223 156 see also;
#X text 245 226 amplitude per second, f 10;
#X obj 144 268 slew 1, f 9;
#X text 47 58 We also have in the ELSE library a control version of
[slew] and [slew2] \, which can be used to generate lines in the control
rate., f 46;
#X obj 292 156 slew2;
#X connect 1 0 10 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 7 0 10 1;
#X connect 10 0 6 0;
26 changes: 0 additions & 26 deletions Examples/Part.04-Control/16-Lines/4.[function].pd

This file was deleted.

32 changes: 0 additions & 32 deletions Examples/Part.04-Control/16-Lines/5.Control.Example.pd

This file was deleted.

51 changes: 51 additions & 0 deletions Examples/Part.04-Control/16-Lines/5.[function].pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#N canvas 453 29 939 547 12;
#X declare -path else;
#X obj 703 32 declare -path else;
#X obj 180 370 setdsp~;
#X obj 65 417 vsl 18 100 0 1 0 0 empty empty empty 0 -9 0 10 -228856
-1 -1 0 1;
#X obj 65 256 bng 20 250 50 0 empty empty empty 17 7 0 10 -228856 -1
-1;
#X obj 65 381 s2f~;
#X obj 118 185 function 200 100 empty empty 0 1 220 220 220 50 50 50
0 0 0 0 0 1000 1 250 0.25 250 0.25 500 1 250 1 250 0;
#X obj 65 339 envgen~, f 8;
#X msg 118 152 0 1000 1 250 0.25 250 0.25 500 1 250 1 250 0;
#X obj 118 299 display;
#X obj 118 124 loadbang;
#X text 26 22 The [function] object is a nice companion to [envgen~]
and you can use it to draw lines or visualize them from messages.,
f 61;
#X text 28 69 Check its help file.;
#X obj 541 161 nbx 5 17 0 2000 0 0 empty empty empty 0 -8 0 12 -228856
-1 -1 0 256;
#X obj 502 156 bng 25 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X text 539 137 ms;
#X obj 571 291 function 200 100 empty empty 0 1 220 220 220 50 50 50
0 0 0 0 0 1000 1 250 0.25 250 0.25 500 1 250 1 250 0;
#X obj 571 225 loadbang;
#X obj 502 261 line;
#X obj 571 408 vsl 18 100 0 1 0 0 empty empty empty 0 -9 0 10 -228856
-1 -1 0 1;
#X msg 571 251 0 1000 1 250 0.25 250 0.25 500 1 250 1 250 0;
#X msg 502 225 0 \, 1 \$1;
#X text 492 61 Another option is to have a float input from a [line]
object. In this way \, you can use [function] as a control rate line
generator., f 51;
#X obj 502 194 f 1500;
#X connect 3 0 6 0;
#X connect 4 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 8 0 6 1;
#X connect 9 0 7 0;
#X connect 12 0 22 1;
#X connect 13 0 22 0;
#X connect 15 0 18 0;
#X connect 16 0 19 0;
#X connect 17 0 15 0;
#X connect 19 0 15 0;
#X connect 20 0 17 0;
#X connect 22 0 20 0;
36 changes: 36 additions & 0 deletions Examples/Part.04-Control/16-Lines/6.[function~].[function].pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#N canvas 608 91 558 515 12;
#X declare -path else;
#X obj 65 307 envgen~;
#X obj 104 210 nbx 5 17 0 2000 0 0 empty empty empty 0 -8 0 12 -228856
-1 -1 0 256;
#X obj 65 202 bng 25 250 50 0 empty empty empty 17 7 0 10 -228856 -1
-1;
#X text 107 188 ms;
#X msg 65 271 0 \$1 1;
#X obj 65 384 function~;
#X text 38 44 You can also use [function] with [function~]. Actually
\, this is its original goal. The [function~] object can be thought
of as a table that you can from with audio signal input.;
#X text 38 92 You can then plug into it a [phasor~] to read the function
in a loop or \, as we're doing here \, use [envgen~] to generate a
line from 0 to 1 that reads through the function table.;
#X obj 65 240 f 1500;
#X obj 189 222 function 200 100 empty empty 0 1 220 220 220 50 50 50
0 0 0 0 0 1000 1 250 0.25 250 0.25 500 1 250 1 250 0;
#X msg 189 189 0 1000 1 250 0.25 250 0.25 500 1 250 1 250 0;
#X obj 189 161 loadbang;
#X obj 327 12 declare -path else;
#X obj 65 416 s2f~;
#X obj 68 454 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 0 1;
#X obj 329 363 setdsp~;
#X connect 0 0 5 0;
#X connect 1 0 8 1;
#X connect 2 0 8 0;
#X connect 4 0 0 0;
#X connect 5 0 13 0;
#X connect 8 0 4 0;
#X connect 9 0 5 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 13 0 14 0;
26 changes: 26 additions & 0 deletions Examples/Part.04-Control/16-Lines/7.Random.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#N canvas 635 68 500 376 12;
#X declare -path else;
#X obj 305 31 declare -path else;
#X obj 371 74 setdsp~;
#X obj 71 149 rampnoise 1;
#X obj 74 185 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 112 1;
#X obj 245 192 hsl 128 15 -1 1 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 12338 1;
#X obj 242 128 rampnoise~ 1;
#X obj 242 161 s2f~;
#X obj 80 316 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 2564 1;
#X obj 251 323 hsl 128 15 -1 1 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 9158 1;
#X obj 248 292 s2f~;
#X obj 77 280 lfnoise 1 1;
#X obj 248 259 lfnoise~ 1 1;
#X text 75 28 We've seen this already \, but it's worth noting how
ramp noise is just random line generation, f 26;
#X connect 2 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 9 0 8 0;
#X connect 10 0 7 0;
#X connect 11 0 9 0;
40 changes: 40 additions & 0 deletions Examples/Part.04-Control/16-Lines/8.Control.Example.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#N canvas 638 72 608 550 12;
#X declare -path else;
#X obj 170 342 bng 20 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 89 434 pan2~, f 12;
#X obj 89 381 brown~;
#X obj 401 22 declare -path else;
#X obj 206 440 s2f~;
#X obj 209 470 hsl 128 15 -1 1 0 0 empty empty empty -2 -8 0 10 -228856
-1 -1 0 1;
#X obj 85 472 out~;
#X obj 272 282 function 200 100 empty empty -1 1 220 220 220 50 50
50 0 0 0 0 0 1500 1 1000 -1 1500 1 1500 0;
#X obj 272 257 initmess 0 1500 1 1000 -1 1500 1 1500 0;
#X obj 170 396 envgen~ -legato;
#X text 288 396 <= legato means that it doesn't;
#X text 309 412 restart from the start point;
#X text 386 432 see the help file for more details, f 17;
#X text 31 186 In this example \, we use [envgen~] to generate a custom
line pattern to control the panning of a brown noise source., f 78
;
#X text 31 58 All the line generators we've seen here can be used to
control any parameter you desire. You can use line generators as a
control of amplitude (such as a classical amplitude envelope) or just
about anything and this example is here to stress and reinforce this.
, f 78;
#X text 31 120 The next section will focus on envelopes as a way to
control amplitude. But note that these classic amplitude envelope types
we'll see (such as ADSR) are just one kind of line generation and that
they can also be used to control whatever you want - and we'll see
examples on that too., f 78;
#X connect 0 0 9 0;
#X connect 1 0 6 0;
#X connect 1 1 6 1;
#X connect 2 0 1 0;
#X connect 4 0 5 0;
#X connect 7 0 9 1;
#X connect 8 0 7 0;
#X connect 9 0 1 1;
#X connect 9 0 4 0;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#N canvas 286 112 1010 533 12;
#N canvas 432 210 1010 533 12;
#X declare -path else;
#X obj 47 258 osc~ 440;
#X obj 125 384 *~;
Expand All @@ -11,14 +11,14 @@
#X obj 143 198 f 500;
#X text 178 146 ms;
#X msg 143 229 0 \$1 1;
#X msg 291 183 0 0.5 1 0.5 0;
#X text 393 183 triangular;
#X text 430 154 trapezoid;
#X msg 274 154 0 0.25 1 0.5 1 0.25 0;
#X msg 293 183 0 0.5 1 0.5 0;
#X text 395 183 triangular;
#X text 432 154 trapezoid;
#X msg 276 154 0 0.25 1 0.5 1 0.25 0;
#X obj 143 342 function~;
#X obj 277 214 function 200 100 empty empty 0 1 220 220 220 50 50 50
0 0 0 0 0 0.25 1 0.5 1 0.25 0;
#X obj 274 128 loadbang;
#X obj 276 128 loadbang;
#X obj 778 103 declare -path else;
#X obj 566 299 osc~ 440;
#X obj 647 405 *~;
Expand All @@ -39,14 +39,14 @@
#X obj 593 201 line;
#X msg 593 165 0 \, \$1 1;
#X obj 665 363 f2s~ 10;
#X text 39 24 You can also consider the [function] GUI as a table generator
that you can trigger as an envelope in the same way as the previous
examples. Here we use [function~] to load the table from the [function]
GUI and the [envgen~] object is used again to generate the ramp with
the indexes (from 0 to 1)., f 64;
#X text 532 22 Another option is to have a float input from a [line]
object. In this way \, you can use [function] as a control rate envelope
and we can convert it to a signal with [f2s~].;
#X text 39 24 We've seen before how you can consider the [function]
GUI as a table generator. You can trigger it as an envelope in the
same way as the previous examples. Here we use [function~] to load
the table from the [function] GUI and the [envgen~] object is used
again to generate the ramp with the indexes (from 0 to 1)., f 64;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 3 0 13 0;
Expand Down
20 changes: 20 additions & 0 deletions Examples/Part.04-Control/17-Envelopes/5.Control.Example.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#N canvas 723 23 503 397 12;
#X declare -path else;
#X obj 274 24 declare -path else;
#X text 35 63 The idea here is to again stress that you can use these
objects to control whatever you want besides amplitude.;
#X obj 273 170 tgl 20 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X obj 136 243 rotate~, f 20;
#X obj 204 191 osc~ 440;
#X obj 136 192 osc~ 330;
#X obj 158 301 out~;
#X obj 273 200 asr~ 1500 1000;
#X text 35 102 Here we're using [asr~] control the rotation parameter
of [rotate~], f 55;
#X connect 2 0 7 0;
#X connect 3 0 6 0;
#X connect 3 1 6 1;
#X connect 4 0 3 1;
#X connect 5 0 3 0;
#X connect 7 0 3 2;

0 comments on commit 4b50ce9

Please sign in to comment.