diff options
Diffstat (limited to 'bthresher~-help.pd')
-rw-r--r-- | bthresher~-help.pd | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/bthresher~-help.pd b/bthresher~-help.pd new file mode 100644 index 0000000..25bdfd1 --- /dev/null +++ b/bthresher~-help.pd @@ -0,0 +1,193 @@ +#N canvas 609 64 625 468 10; +#N canvas 0 22 478 328 bthresher-block 0; +#X obj 177 189 block~ 256; +#X obj 188 161 outlet~; +#X obj 344 173 outlet; +#X obj 188 40 inlet~; +#X obj 266 65 inlet; +#X obj 344 69 inlet; +#X obj 391 101 inlet; +#X obj 188 117 bthresher~ 0.1 0.97 4 1; +#X connect 3 0 7 0; +#X connect 4 0 7 1; +#X connect 5 0 7 2; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 7 1 2 0; +#X restore 154 133 pd bthresher-block; +#X obj 154 206 dac~; +#X obj 154 34 noise~; +#N canvas 613 44 522 372 messages 0; +#X obj 32 248 outlet; +#N canvas 314 293 617 400 individual-bin-control 0; +#X obj 23 363 outlet; +#X obj 220 97 pack f f f; +#X floatatom 220 48 5 0 0 1 bin_number - -; +#X floatatom 252 62 5 0 0 1 damping_factor - -; +#X floatatom 285 78 5 0 0 1 threshold - -; +#X text 23 29 format:; +#X msg 153 241 0 0.968693 0.124173 1 0.968693 0.124173 2 0.968693 0.124173 +3 0.968693 0.124173 4 0.968693 0.124173 5 0.93 0.01 6 0.93 0.01 7 0.93 +0.01 8 0.93 0.01 9 0.93 0.01 10 0.93 0.01 11 0.93 0.01 12 0.93 0.1 +13 0.93 0.1 14 0.93 0.1 15 0.93 0.1 16 0.93 0.1 17 0.968693 0.124173 +18 0.968693 0.124173 19 0.968693 0.124173 20 0.968693 0.124173; +#X msg 23 56 bin 5 0.93 0.01; +#X text 23 41 bin # \, damping \, threshold; +#X msg 220 139 bin \$1 \$2 \$3; +#X text 153 223 or send raw data controlling many bins from a list +; +#X text 23 17 affect a single bin; +#X text 219 31 construct bin message from components; +#X connect 1 0 9 0; +#X connect 2 0 1 0; +#X connect 3 0 1 1; +#X connect 4 0 1 2; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 9 0 0 0; +#X restore 32 20 pd individual-bin-control; +#N canvas 0 22 498 348 global-bin-control 0; +#X msg 253 203 alldamp \$1; +#X msg 221 105 allthresh \$1; +#X floatatom 221 73 5 0 0 0 - allthresh -; +#X floatatom 253 181 5 0 0 0 - alldamp -; +#X obj 221 238 outlet; +#X obj 62 90 vsl 15 128 0 0.2 0 0 allthresh allthresh-init allthresh +0 -8 0 8 -117632 -1 -1 6985 1; +#X obj 117 90 vsl 15 128 0 1.1 0 0 alldamp alldamp-init alldamp 0 -8 +0 8 -117632 -1 -1 11084 1; +#X connect 0 0 4 0; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X restore 69 113 pd global-bin-control; +#N canvas 0 22 494 344 random-bin-control 0; +#X obj 8 105 outlet; +#X text 4 33 format: min max; +#X msg 8 50 rthreshold 0.05 0.7; +#X msg 149 49 rdamper 0.8 0.999; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X restore 60 78 pd random-bin-control; +#X text 222 21 <- start here; +#N canvas 444 60 502 352 system 0; +#X obj 26 268 outlet; +#X text 122 87 arg must be power of 2; +#X obj 26 19 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X msg 26 43 mute \$1; +#X msg 124 103 overlap 4; +#X msg 124 122 overlap 2; +#X text 193 124 <- cuts CPU demand in half; +#X text 197 105 <- default; +#X msg 134 252 fftinfo; +#X msg 140 185 winfac 1; +#X text 136 166 relative size of input window to FFT; +#X msg 210 186 winfac 2; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 11 0 0 0; +#X restore 83 158 pd system; +#X msg 197 189 dump; +#X text 195 172 with a list message; +#X text 195 145 output current state; +#X text 196 159 which can then be reloaded; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X restore 275 97 pd messages; +#X msg 79 242 \; pd dsp \$1; +#X obj 79 221 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 154 163 *~ 0.2; +#X floatatom 194 70 5 0 0 0 - scale-thresh -; +#X floatatom 234 95 5 0 0 0 - scale-damping -; +#X obj 191 268 hsl 128 15 0 2 0 0 scale-thresh slider-init scale-thresh +-2 -6 0 8 -258369 -1 -1 6350 1; +#X obj 191 302 hsl 128 15 0 2 0 0 scale-damping slider-init scale-damping +-2 -6 0 8 -258369 -1 -1 6350 1; +#N canvas 137 230 511 492 capture 0; +#X obj 8 12 inlet; +#X text 20 173 clear; +#X msg 8 237 0 0.960032 0.11 1 0.960032 0.11 2 0.960032 0.11 3 0.960032 +0.11 4 0.960032 0.11 5 0.960032 0.11 6 0.960032 0.11 7 0.960032 0.11 +8 0.960032 0.11 9 0.960032 0.11 10 0.960032 0.11 11 0.960032 0.11 12 +0.960032 0.11 13 0.960032 0.11 14 0.960032 0.11 15 0.960032 0.11 16 +0.960032 0.11 17 0.960032 0.11 18 0.960032 0.11 19 0.960032 0.11 0 +0.838661 0.383391 1 0.85394 0.349312 2 0.963181 0.277742 3 0.863287 +0.111771 4 0.871333 0.331876 5 0.940383 0.510999 6 0.94973 0.125378 +7 0.992569 0.100742 8 0.80563 0.290001 9 0.943857 0.0718399 10 0.971641 +0.17489 11 0.928632 0.356374 12 0.871212 0.144183 13 0.933891 0.516592 +14 0.918071 0.480113 15 0.851894 0.330705 16 0.97568 0.339909 17 0.98587 +0.380415 18 0.859807 0.39325 19 0.839784 0.422369 0 0.838661 0.383391 +1 0.85394 0.349312 2 0.963181 0.277742 3 0.863287 0.111771 4 0.871333 +0.331876 5 0.940383 0.510999 6 0.94973 0.125378 7 0.992569 0.100742 +8 0.80563 0.290001 9 0.943857 0.0718399 10 0.971641 0.17489 11 0.928632 +0.356374 12 0.871212 0.144183 13 0.933891 0.516592 14 0.918071 0.480113 +15 0.851894 0.330705 16 0.97568 0.339909 17 0.98587 0.380415 18 0.859807 +0.39325 19 0.839784 0.422369; +#X msg 23 191 set; +#X text 82 15 capture (some) list output from 'dump' message; +#X msg 8 59 add2 \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10 \$11 \$12 +\$13 \$14 \$15 \$16 \$17 \$18 \$19 \$20 \$21 \$22 \$23 \$24 \$25 \$26 +\$27 \$28 \$29 \$30 \$31 \$32 \$33 \$34 \$35 \$36 \$37 \$38 \$39 \$40 +\$41 \$42 \$43 \$44 \$45 \$46 \$47 \$48 \$49 \$50 \$51 \$52 \$53 \$54 +\$55 \$56 \$57 \$58 \$59 \$60; +#X text 86 118 The "dump" message outputs the current state of bthresher~ +as a series of triplets [bin# \, damp factor \, threshold]. This data +can be captured as a list and reloaded to itself or any other bthresher~ +unit. In this example we only show the first twenty triplets. Since +there are potentially as many as N/2 triplets where N is the FFT size +\, you would need to modify this subpatch to capture all the information +of the current state of bthresher~. (A version of Pd with the "prepend" +object would make your life easier here.); +#X connect 0 0 5 0; +#X connect 3 0 2 0; +#X connect 5 0 2 0; +#X restore 275 159 pd capture; +#N canvas 0 22 470 320 initialize 0; +#X obj 38 150 s slider-init; +#X msg 38 85 1; +#X obj 38 51 loadbang; +#X obj 142 150 s allthresh-init; +#X obj 265 150 s alldamp-init; +#X msg 265 83 0.96; +#X msg 142 83 0.11; +#X obj 142 41 inlet; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 2 0 6 0; +#X connect 2 0 5 0; +#X connect 5 0 4 0; +#X connect 6 0 3 0; +#X connect 7 0 1 0; +#X connect 7 0 6 0; +#X connect 7 0 5 0; +#X restore 399 270 pd initialize; +#X text 364 97 <- click me to learn more; +#X obj 399 245 loadbang; +#X text 50 336 bthresher~ extends the thresher~ model to allow independent +control over the parameters of each individual bin. You can also randomly +set damping and threshold values \, and can dump the current values +(to possibly send as input to another bthresher~ unit). It is recommended +that you familiarize yourself with thresher~ before exploring the more +complicated bthresher~.; +#X text 182 52 threshold scale factor; +#X text 237 80 damping scale factor; +#X text 351 160 <- state captured here; +#X connect 0 0 6 0; +#X connect 0 1 11 0; +#X connect 2 0 0 0; +#X connect 3 0 0 3; +#X connect 5 0 4 0; +#X connect 6 0 1 0; +#X connect 6 0 1 1; +#X connect 7 0 0 1; +#X connect 8 0 0 2; +#X connect 14 0 12 0; |