diff options
Diffstat (limited to 'abstractions')
-rw-r--r-- | abstractions/pdp_blur.pd | 27 | ||||
-rw-r--r-- | abstractions/pdp_blur_hor.pd | 27 | ||||
-rw-r--r-- | abstractions/pdp_blur_ver.pd | 27 | ||||
-rw-r--r-- | abstractions/pdp_conv_alledge.pd | 28 | ||||
-rw-r--r-- | abstractions/pdp_conv_emboss.pd | 34 | ||||
-rw-r--r-- | abstractions/pdp_conv_smooth.pd | 14 | ||||
-rw-r--r-- | abstractions/pdp_conv_sobel_edge.pd | 19 | ||||
-rw-r--r-- | abstractions/pdp_conv_sobel_hor.pd | 15 | ||||
-rw-r--r-- | abstractions/pdp_conv_sobel_ver.pd | 16 | ||||
-rw-r--r-- | abstractions/pdp_motion_blur.pd | 14 | ||||
-rw-r--r-- | abstractions/pdp_motion_phase.pd | 14 | ||||
-rw-r--r-- | abstractions/pdp_phase.pd | 70 | ||||
-rw-r--r-- | abstractions/pdp_phase_hor.pd | 41 | ||||
-rw-r--r-- | abstractions/pdp_phase_ver.pd | 41 | ||||
-rw-r--r-- | abstractions/pdp_pps.pd | 18 | ||||
-rw-r--r-- | abstractions/pdp_saturation.pd | 13 |
16 files changed, 418 insertions, 0 deletions
diff --git a/abstractions/pdp_blur.pd b/abstractions/pdp_blur.pd new file mode 100644 index 0000000..46425dd --- /dev/null +++ b/abstractions/pdp_blur.pd @@ -0,0 +1,27 @@ +#N canvas 344 526 521 227 10; +#X obj 26 33 inlet; +#X obj 26 174 outlet; +#X obj 26 134 pdp_bq; +#X obj 70 66 pdp_ut_addscaleclip -1 -0.5 0.05 0.48; +#X obj 70 33 inlet; +#X msg 181 34 2; +#X msg 70 98 lpf \$1 0.25; +#X msg 136 34 0; +#X obj 136 10 loadbang; +#X msg 163 98 hor 1; +#X msg 209 98 ver 1; +#X text 100 138 this uses pdp_bq as a 2 pass lowpass filter to produce +a blur effect in all directions; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 2 1; +#X connect 6 0 2 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 8 0 5 0; +#X connect 8 0 9 0; +#X connect 8 0 10 0; +#X connect 9 0 2 0; +#X connect 10 0 2 0; diff --git a/abstractions/pdp_blur_hor.pd b/abstractions/pdp_blur_hor.pd new file mode 100644 index 0000000..00c4f89 --- /dev/null +++ b/abstractions/pdp_blur_hor.pd @@ -0,0 +1,27 @@ +#N canvas 344 526 521 227 10; +#X obj 26 33 inlet; +#X obj 26 174 outlet; +#X obj 26 134 pdp_bq; +#X obj 70 66 pdp_ut_addscaleclip -1 -0.5 0.05 0.48; +#X obj 70 33 inlet; +#X msg 181 34 2; +#X msg 70 98 lpf \$1 0.25; +#X msg 136 34 0; +#X obj 136 10 loadbang; +#X msg 163 98 hor 1; +#X msg 209 98 ver 0; +#X text 100 138 this uses pdp_bq as a 2 pass lowpass filter to produce +a horzontal blur effect; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 2 1; +#X connect 6 0 2 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 8 0 5 0; +#X connect 8 0 9 0; +#X connect 8 0 10 0; +#X connect 9 0 2 0; +#X connect 10 0 2 0; diff --git a/abstractions/pdp_blur_ver.pd b/abstractions/pdp_blur_ver.pd new file mode 100644 index 0000000..915931f --- /dev/null +++ b/abstractions/pdp_blur_ver.pd @@ -0,0 +1,27 @@ +#N canvas 368 520 521 227 10; +#X obj 26 33 inlet; +#X obj 26 174 outlet; +#X obj 26 134 pdp_bq; +#X obj 70 66 pdp_ut_addscaleclip -1 -0.5 0.05 0.48; +#X obj 70 33 inlet; +#X msg 181 34 2; +#X msg 70 98 lpf \$1 0.25; +#X msg 136 34 0; +#X obj 136 10 loadbang; +#X text 100 138 this uses pdp_bq as a 2 pass lowpass filter to produce +a vertical blur effect; +#X msg 209 98 ver 1; +#X msg 163 98 hor 0; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 4 0 3 0; +#X connect 5 0 2 1; +#X connect 6 0 2 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X connect 8 0 5 0; +#X connect 8 0 11 0; +#X connect 8 0 10 0; +#X connect 10 0 2 0; +#X connect 11 0 2 0; diff --git a/abstractions/pdp_conv_alledge.pd b/abstractions/pdp_conv_alledge.pd new file mode 100644 index 0000000..0433c16 --- /dev/null +++ b/abstractions/pdp_conv_alledge.pd @@ -0,0 +1,28 @@ +#N canvas 245 202 522 199 10; +#X obj 29 17 inlet; +#X obj 29 156 outlet; +#X obj 29 97 pdp_conv; +#X msg 95 36 hmask 0.33 0.33 0.33; +#X msg 95 59 vmask -0.33 -0.33 -0.33; +#X obj 29 126 pdp_add; +#X obj 95 13 loadbang; +#X obj 292 34 int; +#X obj 292 56 * 2; +#X obj 292 79 - 1; +#X obj 292 12 inlet; +#X text 101 115 pdp_alledge is an all edge sensitive convolution filter +using pdp_add and pdp_conv to compose a non separable edge detection +convolution mask (pdp_conv can only compute separable convolution masks). +the right inlet sets number of times the filter is run (2n-1); +#X connect 0 0 2 0; +#X connect 0 0 5 1; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 5 0 1 0; +#X connect 6 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 2 1; +#X connect 10 0 7 0; diff --git a/abstractions/pdp_conv_emboss.pd b/abstractions/pdp_conv_emboss.pd new file mode 100644 index 0000000..427ee45 --- /dev/null +++ b/abstractions/pdp_conv_emboss.pd @@ -0,0 +1,34 @@ +#N canvas 222 642 591 233 10; +#X obj 30 55 inlet; +#X obj 29 206 outlet; +#X obj 29 93 pdp_conv; +#X obj 29 126 pdp_add; +#X obj 108 9 loadbang; +#X obj 218 86 pdp_conv; +#X obj 29 176 pdp_affine 1; +#X msg 108 151 0.5; +#X msg 108 37 hmask 1 0 0; +#X msg 218 35 hmask 0 0 1; +#X obj 145 151 inlet; +#X text 142 178 this uses pdp_conv \, pdp_add and pdp_affine to produce +an emboss effect using the convolution mask (-1 0 0 \; 0 0 0 \; 0 0 +1) the right inlet sets the chroma offset.; +#X msg 218 60 vmask 0 0 1; +#X msg 108 60 vmask -1 0 0; +#X connect 0 0 2 0; +#X connect 0 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 6 0; +#X connect 4 0 8 0; +#X connect 4 0 9 0; +#X connect 5 0 3 1; +#X connect 6 0 1 0; +#X connect 7 0 6 2; +#X connect 8 0 2 0; +#X connect 8 0 13 0; +#X connect 9 0 5 0; +#X connect 9 0 12 0; +#X connect 10 0 6 2; +#X connect 12 0 5 0; +#X connect 13 0 2 0; +#X connect 13 0 7 0; diff --git a/abstractions/pdp_conv_smooth.pd b/abstractions/pdp_conv_smooth.pd new file mode 100644 index 0000000..e37320e --- /dev/null +++ b/abstractions/pdp_conv_smooth.pd @@ -0,0 +1,14 @@ +#N canvas 490 446 522 199 10; +#X obj 29 17 inlet; +#X obj 29 156 outlet; +#X obj 29 97 pdp_conv; +#X obj 95 13 loadbang; +#X obj 292 12 inlet; +#X msg 95 36 mask 0.33 0.33 0.33; +#X text 107 108 pdp_conv_smooth is an averaging convolution filter. +second inlet sets number of passes.; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 4 0 2 1; +#X connect 5 0 2 0; diff --git a/abstractions/pdp_conv_sobel_edge.pd b/abstractions/pdp_conv_sobel_edge.pd new file mode 100644 index 0000000..ccf0c38 --- /dev/null +++ b/abstractions/pdp_conv_sobel_edge.pd @@ -0,0 +1,19 @@ +#N canvas 222 642 607 202 10; +#X obj 15 35 pdp_conv_sobel_hor; +#X obj 149 34 pdp_conv_sobel_ver; +#X obj 15 114 pdp_add; +#X obj 15 74 pdp_mul; +#X obj 149 71 pdp_mul; +#X text 123 105 this uses the horizontal and vertical sobel directional +masks squared as an edge detector.; +#X obj 15 9 inlet; +#X obj 15 151 outlet; +#X connect 0 0 3 0; +#X connect 0 0 3 1; +#X connect 1 0 4 0; +#X connect 1 0 4 1; +#X connect 2 0 7 0; +#X connect 3 0 2 0; +#X connect 4 0 2 1; +#X connect 6 0 0 0; +#X connect 6 0 1 0; diff --git a/abstractions/pdp_conv_sobel_hor.pd b/abstractions/pdp_conv_sobel_hor.pd new file mode 100644 index 0000000..599034e --- /dev/null +++ b/abstractions/pdp_conv_sobel_hor.pd @@ -0,0 +1,15 @@ +#N canvas 222 642 591 202 10; +#X obj 29 55 inlet; +#X obj 29 132 outlet; +#X obj 29 93 pdp_conv; +#X obj 108 9 loadbang; +#X msg 108 37 vmask 0.5 1 0.5; +#X msg 108 60 hmask -1 0 1; +#X text 108 101 this uses pdp_conv to produce the vertical sobel edge +detector with convolution mask (-.5 0 0.5 \; -1 0 1 \; -0.5 0 .5); +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; diff --git a/abstractions/pdp_conv_sobel_ver.pd b/abstractions/pdp_conv_sobel_ver.pd new file mode 100644 index 0000000..5ff2edd --- /dev/null +++ b/abstractions/pdp_conv_sobel_ver.pd @@ -0,0 +1,16 @@ +#N canvas 222 642 591 202 10; +#X obj 29 55 inlet; +#X obj 29 131 outlet; +#X obj 29 93 pdp_conv; +#X obj 108 9 loadbang; +#X msg 108 37 hmask 0.5 1 0.5; +#X msg 108 60 vmask 1 0 -1; +#X text 108 101 this uses pdp_conv to produce the horizontal sobel +edge detector with convolution mask (-.5 -1 -0.5 \; 0 0 0 \; 0.5 1 +.5); +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 2 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; diff --git a/abstractions/pdp_motion_blur.pd b/abstractions/pdp_motion_blur.pd new file mode 100644 index 0000000..cc3b8c9 --- /dev/null +++ b/abstractions/pdp_motion_blur.pd @@ -0,0 +1,14 @@ +#N canvas 119 483 508 168 10; +#X obj 29 17 inlet; +#X obj 29 124 outlet; +#X obj 29 99 pdp_bqt; +#X obj 87 18 inlet; +#X obj 87 42 pdp_ut_logmap_comp 0.005 0.4; +#X msg 87 68 lpf \$1 0.25; +#X text 97 108 pdp_motion_blur uses pdp_bqt (time biquad filter) configured +as a lowpass filter to produce a motion blur effect.; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; diff --git a/abstractions/pdp_motion_phase.pd b/abstractions/pdp_motion_phase.pd new file mode 100644 index 0000000..2bded3d --- /dev/null +++ b/abstractions/pdp_motion_phase.pd @@ -0,0 +1,14 @@ +#N canvas 58 0 508 168 10; +#X obj 29 17 inlet; +#X obj 29 124 outlet; +#X obj 29 99 pdp_bqt; +#X obj 87 18 inlet; +#X text 94 102 pdp_motion_blur uses pdp_bqt (time biquad filter) configured +as an allpass filter to produce a motion phase shift effect.; +#X obj 87 42 pdp_ut_logmap_comp 0.01 0.4; +#X msg 87 68 apf \$1 0.25; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 5 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; diff --git a/abstractions/pdp_phase.pd b/abstractions/pdp_phase.pd new file mode 100644 index 0000000..2927fd9 --- /dev/null +++ b/abstractions/pdp_phase.pd @@ -0,0 +1,70 @@ +#N canvas 304 524 746 291 10; +#X obj 25 21 inlet; +#X obj 25 249 outlet; +#X obj 25 209 pdp_bq; +#X obj 42 144 pdp_ut_addscaleclip -1 -0.5 0.05 0.48; +#X obj 42 44 inlet; +#X msg 118 109 0; +#X obj 178 22 loadbang; +#X msg 304 191 lr 1; +#X msg 344 191 rl 0; +#X msg 42 176 apf \$1 0.15; +#X obj 287 22 inlet; +#X msg 384 191 lr 0; +#X msg 422 191 rl 1; +#X msg 539 191 bt 1; +#X msg 579 191 tb 0; +#X msg 619 191 bt 0; +#X msg 672 191 tb 1; +#X obj 287 86 select 0; +#X msg 227 191 lr 0; +#X msg 265 191 rl 0; +#X obj 522 19 inlet; +#X obj 522 84 select 0; +#X obj 338 114 moses 0; +#X obj 573 114 moses 0; +#X msg 241 53 1; +#X msg 463 191 tb 0; +#X msg 501 191 bt 0; +#X text 99 235 this uses pdp_bq as an allpass filter to produce a phase +shift effect. 2nd inlet sets amount. 3rd and 4t inlets set directions. +; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 9 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X connect 6 0 7 0; +#X connect 6 0 8 0; +#X connect 6 0 24 0; +#X connect 7 0 2 0; +#X connect 8 0 2 0; +#X connect 9 0 2 0; +#X connect 10 0 17 0; +#X connect 11 0 2 0; +#X connect 12 0 2 0; +#X connect 13 0 2 0; +#X connect 14 0 2 0; +#X connect 16 0 2 0; +#X connect 17 0 18 0; +#X connect 17 0 19 0; +#X connect 17 1 22 0; +#X connect 18 0 2 0; +#X connect 19 0 2 0; +#X connect 20 0 21 0; +#X connect 21 0 25 0; +#X connect 21 0 26 0; +#X connect 21 1 23 0; +#X connect 22 0 8 0; +#X connect 22 0 7 0; +#X connect 22 1 12 0; +#X connect 22 1 11 0; +#X connect 23 0 14 0; +#X connect 23 0 13 0; +#X connect 23 1 16 0; +#X connect 23 1 15 0; +#X connect 24 0 17 0; +#X connect 24 0 21 0; +#X connect 25 0 2 0; +#X connect 26 0 2 0; diff --git a/abstractions/pdp_phase_hor.pd b/abstractions/pdp_phase_hor.pd new file mode 100644 index 0000000..8dcac9d --- /dev/null +++ b/abstractions/pdp_phase_hor.pd @@ -0,0 +1,41 @@ +#N canvas 304 524 534 291 10; +#X obj 25 21 inlet; +#X obj 25 249 outlet; +#X obj 25 209 pdp_bq; +#X obj 42 144 pdp_ut_addscaleclip -1 -0.5 0.05 0.48; +#X obj 42 44 inlet; +#X msg 89 44 0; +#X obj 89 18 loadbang; +#X msg 42 176 apf \$1 0.15; +#X obj 338 114 moses 0; +#X text 99 235 this uses pdp_bq as an allpass filter to produce a phase +shift effect in the horizontal direction. 2nd inlet sets direction +and amount. range is from -1 to 1; +#X obj 42 93 abs; +#X msg 304 191 lr 0; +#X msg 344 191 rl 1; +#X msg 384 191 lr 1; +#X msg 422 191 rl 0; +#X msg 89 93 ver 0; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 7 0; +#X connect 4 0 10 0; +#X connect 4 0 8 0; +#X connect 5 0 10 0; +#X connect 5 0 8 0; +#X connect 5 0 15 0; +#X connect 6 0 5 0; +#X connect 6 0 11 0; +#X connect 6 0 12 0; +#X connect 7 0 2 0; +#X connect 8 0 12 0; +#X connect 8 0 11 0; +#X connect 8 1 14 0; +#X connect 8 1 13 0; +#X connect 10 0 3 0; +#X connect 11 0 2 0; +#X connect 12 0 2 0; +#X connect 13 0 2 0; +#X connect 14 0 2 0; +#X connect 15 0 2 0; diff --git a/abstractions/pdp_phase_ver.pd b/abstractions/pdp_phase_ver.pd new file mode 100644 index 0000000..7af57df --- /dev/null +++ b/abstractions/pdp_phase_ver.pd @@ -0,0 +1,41 @@ +#N canvas 304 524 518 291 10; +#X obj 25 21 inlet; +#X obj 25 249 outlet; +#X obj 25 209 pdp_bq; +#X obj 42 144 pdp_ut_addscaleclip -1 -0.5 0.05 0.48; +#X obj 42 44 inlet; +#X msg 89 44 0; +#X obj 89 18 loadbang; +#X obj 338 114 moses 0; +#X obj 42 93 abs; +#X msg 42 176 apf \$1 0.15; +#X msg 89 93 hor 0; +#X msg 304 191 tb 1; +#X msg 344 191 bt 0; +#X msg 384 191 tb 0; +#X msg 422 191 bt 1; +#X text 99 235 this uses pdp_bq as an allpass filter to produce a phase +shift effect in the vertical direction. 2nd inlet sets direction and +amount. range is from -1 to 1; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 9 0; +#X connect 4 0 8 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 5 0 7 0; +#X connect 5 0 10 0; +#X connect 6 0 5 0; +#X connect 6 0 11 0; +#X connect 6 0 12 0; +#X connect 7 0 12 0; +#X connect 7 0 11 0; +#X connect 7 1 14 0; +#X connect 7 1 13 0; +#X connect 8 0 3 0; +#X connect 9 0 2 0; +#X connect 10 0 2 0; +#X connect 11 0 2 0; +#X connect 12 0 2 0; +#X connect 13 0 2 0; +#X connect 14 0 2 0; diff --git a/abstractions/pdp_pps.pd b/abstractions/pdp_pps.pd new file mode 100644 index 0000000..8abb1dc --- /dev/null +++ b/abstractions/pdp_pps.pd @@ -0,0 +1,18 @@ +#N canvas 115 450 614 279 10; +#X obj 41 53 pdp_trigger; +#X obj 113 90 timer; +#X obj 113 187 /; +#X obj 113 125 t b f; +#X msg 113 155 1000; +#X obj 41 21 inlet; +#X obj 113 219 outlet; +#X text 151 36 pdp_pps uses pdp_trigger to measure the number of packets +per second. you can use this as a performance monitor.; +#X connect 0 1 1 1; +#X connect 0 1 1 0; +#X connect 1 0 3 0; +#X connect 2 0 6 0; +#X connect 3 0 4 0; +#X connect 3 1 2 1; +#X connect 4 0 2 0; +#X connect 5 0 0 0; diff --git a/abstractions/pdp_saturation.pd b/abstractions/pdp_saturation.pd new file mode 100644 index 0000000..f96f79d --- /dev/null +++ b/abstractions/pdp_saturation.pd @@ -0,0 +1,13 @@ +#N canvas 247 212 237 275 10; +#X obj 44 52 inlet; +#X obj 139 53 inlet; +#X obj 44 202 outlet; +#X obj 44 139 pdp_gain; +#X msg 101 103 u \$1; +#X msg 139 103 v \$1; +#X connect 0 0 3 0; +#X connect 1 0 4 0; +#X connect 1 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 3 0; +#X connect 5 0 3 0; |