├── README.md ├── Granular21 ├── Patch Image.png ├── +Sounds+ │ └── Audio1.wav ├── grain-window.pd ├── grain.pd └── main.pd ├── Granular21-VCV-Prototype ├── +Sounds+ │ ├── Audio1.wav │ ├── Audio2.wav │ └── Audio3.wav ├── PD │ ├── grain-window.pd │ ├── grain.pd │ └── Granular21-Prototype.pd └── Prototype PD Grain .vcv ├── Savestate-Preset-System ├── main.pd ├── param-savestate.pd └── test.pd └── Karlsen-Ladder-24-db ├── spectrum2.pd └── Karlsen-Ladder-24-db.pd /README.md: -------------------------------------------------------------------------------- 1 | # Pure-data-patches -------------------------------------------------------------------------------- /Granular21/Patch Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaffasplaffa/Pure-data-patches/HEAD/Granular21/Patch Image.png -------------------------------------------------------------------------------- /Granular21/+Sounds+/Audio1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaffasplaffa/Pure-data-patches/HEAD/Granular21/+Sounds+/Audio1.wav -------------------------------------------------------------------------------- /Granular21-VCV-Prototype/+Sounds+/Audio1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaffasplaffa/Pure-data-patches/HEAD/Granular21-VCV-Prototype/+Sounds+/Audio1.wav -------------------------------------------------------------------------------- /Granular21-VCV-Prototype/+Sounds+/Audio2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaffasplaffa/Pure-data-patches/HEAD/Granular21-VCV-Prototype/+Sounds+/Audio2.wav -------------------------------------------------------------------------------- /Granular21-VCV-Prototype/+Sounds+/Audio3.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jaffasplaffa/Pure-data-patches/HEAD/Granular21-VCV-Prototype/+Sounds+/Audio3.wav -------------------------------------------------------------------------------- /Granular21/grain-window.pd: -------------------------------------------------------------------------------- 1 | #N canvas 82 53 241 202 10; 2 | #X obj 72 137 outlet~; 3 | #X obj 72 49 inlet~; 4 | #X obj 72 107 tabread4~ Window; 5 | #X obj 123 58 r sample-rate; 6 | #X obj 72 74 *~; 7 | #X connect 1 0 4 0; 8 | #X connect 2 0 0 0; 9 | #X connect 3 0 4 1; 10 | #X connect 4 0 2 0; 11 | -------------------------------------------------------------------------------- /Granular21-VCV-Prototype/PD/grain-window.pd: -------------------------------------------------------------------------------- 1 | #N canvas 82 53 241 202 10; 2 | #X obj 72 137 outlet~; 3 | #X obj 72 49 inlet~; 4 | #X obj 72 107 tabread4~ Window; 5 | #X obj 123 58 r sample-rate; 6 | #X obj 72 74 *~; 7 | #X connect 1 0 4 0; 8 | #X connect 2 0 0 0; 9 | #X connect 3 0 4 1; 10 | #X connect 4 0 2 0; 11 | -------------------------------------------------------------------------------- /Savestate-Preset-System/main.pd: -------------------------------------------------------------------------------- 1 | #N canvas 358 283 408 293 10; 2 | #X obj 221 59 test; 3 | #A saved 1 33 76 77 214 1 0 63.5 0 1 2 3 4 1 0 63.5 0 0 0 0 0 0 0 0 4 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 | 0 0 0 0 0 0 0; 6 | #X obj 86 59 test; 7 | #A saved 0 7 47 87 241 0 0 0 1 7 29 14 51 0 0 0 1 0 0 0 0 0 0 0 0 0 8 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 | 0 0 0 0 0; 10 | #X text 83 17 Preset system using savestate and an array!; 11 | -------------------------------------------------------------------------------- /Savestate-Preset-System/param-savestate.pd: -------------------------------------------------------------------------------- 1 | #N canvas 681 205 508 531 10; 2 | #X obj 100 383 t f b; 3 | #X obj 115 42 loadbang; 4 | #X floatatom 68 267 5 0 0 0 - - -; 5 | #X obj 115 135 tabread \$1-test; 6 | #X obj 100 440 tabwrite \$1-test; 7 | #X text 18 8 \$1 parent \$0 \, \$2 param-nr; 8 | #X text 233 161 Send loaded data to parameter; 9 | #X text 234 251 Receive changes from parameter; 10 | #X obj 115 84 \$2; 11 | #X obj 115 105 +; 12 | #X obj 259 89 t b f; 13 | #X obj 193 399 \$2; 14 | #X floatatom 286 112 5 0 0 0 - - -; 15 | #X obj 276 404 t b f; 16 | #X floatatom 303 427 5 0 0 0 - - -; 17 | #X obj 193 420 +; 18 | #X obj 242 38 r \$1-preset; 19 | #X msg 242 276 1; 20 | #X obj 115 292 spigot; 21 | #X msg 293 276 0; 22 | #X obj 242 59 t b f f b; 23 | #X obj 70 353 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 24 | -1; 25 | #X obj 100 362 f; 26 | #X floatatom 135 313 5 0 0 0 - - -; 27 | #X floatatom 120 413 5 0 0 0 - - -; 28 | #X obj 100 337 r \$1-save; 29 | #X obj 115 63 del 5; 30 | #X text 339 19 When changing preset \, then first turn off the "receive 31 | parameter mechanism" \, then change preset and then turn it on again. 32 | Prevents wrong values being set., f 22; 33 | #X floatatom 75 156 5 0 0 0 - - -; 34 | #X obj 115 251 r \$1-s-\$2-param; 35 | #X obj 115 160 s \$1-r-\$2-param; 36 | #X connect 0 0 4 0; 37 | #X connect 0 0 24 0; 38 | #X connect 0 1 11 0; 39 | #X connect 1 0 26 0; 40 | #X connect 3 0 28 0; 41 | #X connect 3 0 30 0; 42 | #X connect 8 0 9 0; 43 | #X connect 9 0 3 0; 44 | #X connect 10 0 9 0; 45 | #X connect 10 1 9 1; 46 | #X connect 10 1 12 0; 47 | #X connect 11 0 15 0; 48 | #X connect 13 0 15 0; 49 | #X connect 13 1 14 0; 50 | #X connect 13 1 15 1; 51 | #X connect 15 0 4 1; 52 | #X connect 16 0 20 0; 53 | #X connect 17 0 18 1; 54 | #X connect 18 0 22 1; 55 | #X connect 18 0 23 0; 56 | #X connect 19 0 18 1; 57 | #X connect 20 0 17 0; 58 | #X connect 20 1 10 0; 59 | #X connect 20 2 13 0; 60 | #X connect 20 3 19 0; 61 | #X connect 22 0 0 0; 62 | #X connect 25 0 21 0; 63 | #X connect 25 0 22 0; 64 | #X connect 26 0 8 0; 65 | #X connect 29 0 18 0; 66 | #X connect 29 0 2 0; 67 | -------------------------------------------------------------------------------- /Granular21-VCV-Prototype/PD/grain.pd: -------------------------------------------------------------------------------- 1 | #N canvas 131 44 580 562 10; 2 | #X obj 149 403 r size-in-samples; 3 | #X obj 112 419 *~; 4 | #X obj 112 468 *~; 5 | #X obj 127 283 *~; 6 | #X obj 305 185 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc 7 | #000000 #000000; 8 | #N canvas 0 25 450 300 rev 0; 9 | #X obj 148 136 *~ -1; 10 | #X obj 148 158 +~ 1; 11 | #X obj 120 94 inlet~; 12 | #X obj 120 213 outlet~; 13 | #X obj 207 172 inlet; 14 | #N canvas 515 366 592 291 spigot~ 0; 15 | #X obj 52 40 inlet~; 16 | #X obj 432 62 inlet; 17 | #X obj 432 118 outlet~; 18 | #X obj 52 102 *~; 19 | #X obj 67 78 == 0; 20 | #X obj 112 40 inlet~; 21 | #X obj 112 102 *~; 22 | #X obj 127 78 == 1; 23 | #X connect 0 0 3 0; 24 | #X connect 1 0 4 0; 25 | #X connect 1 0 7 0; 26 | #X connect 3 0 2 0; 27 | #X connect 4 0 3 1; 28 | #X connect 5 0 6 0; 29 | #X connect 6 0 2 0; 30 | #X connect 7 0 6 1; 31 | #X restore 120 188 pd spigot~; 32 | #X connect 0 0 1 0; 33 | #X connect 1 0 5 1; 34 | #X connect 2 0 0 0; 35 | #X connect 2 0 5 0; 36 | #X connect 4 0 5 2; 37 | #X connect 5 0 3 0; 38 | #X restore 127 262 pd rev; 39 | #X obj 112 331 +~; 40 | #X obj 112 350 wrap~; 41 | #X obj 40 117 r~ phasor-main; 42 | #N canvas 672 114 450 356 gr-size 0; 43 | #X obj 127 225 f; 44 | #X obj 168 79 i; 45 | #X msg 82 177 0; 46 | #X obj 168 98 != 0; 47 | #X obj 142 159 spigot; 48 | #X obj 82 135 sel 0; 49 | #X obj 142 193 f; 50 | #X obj 127 244 * 0.0001; 51 | #X obj 248 209 inlet; 52 | #X obj 142 52 r grain-size; 53 | #X obj 127 266 sig~; 54 | #X obj 127 291 outlet~; 55 | #X obj 168 119 t f f; 56 | #X connect 0 0 7 0; 57 | #X connect 1 0 3 0; 58 | #X connect 2 0 6 0; 59 | #X connect 3 0 12 0; 60 | #X connect 4 0 6 0; 61 | #X connect 5 0 2 0; 62 | #X connect 6 0 0 1; 63 | #X connect 7 0 10 0; 64 | #X connect 8 0 0 0; 65 | #X connect 9 0 1 0; 66 | #X connect 9 0 4 0; 67 | #X connect 10 0 11 0; 68 | #X connect 12 0 5 0; 69 | #X connect 12 1 4 1; 70 | #X restore 142 193 pd gr-size; 71 | #X obj 242 104 mtof; 72 | #X obj 127 304 +~; 73 | #X obj 242 59 r note-pitch; 74 | #X obj 242 79 +; 75 | #X obj 322 63 t b f; 76 | #X obj 112 500 outlet~; 77 | #X obj 160 230 r reverse; 78 | #X obj 390 177 t b b b; 79 | #X obj 242 126 sig~; 80 | #X obj 112 395 +~; 81 | #N canvas 0 23 450 300 random-phase 0; 82 | #X obj 98 114 loadbang; 83 | #X obj 98 204 outlet; 84 | #X text 95 76 Set random phase for each individual grain \, so they 85 | don't start all form the same place., f 46; 86 | #X obj 98 143 random 10000; 87 | #X obj 98 163 * 0.0001; 88 | #X connect 0 0 3 0; 89 | #X connect 3 0 4 0; 90 | #X connect 4 0 1 0; 91 | #X restore 293 131 pd random-phase; 92 | #N canvas 0 23 450 300 random-position 0; 93 | #X obj 167 155 * 0.01; 94 | #X obj 167 177 sig~; 95 | #X obj 254 87 r random-position; 96 | #X obj 167 40 loadbang; 97 | #X obj 167 199 outlet~; 98 | #X obj 96 87 inlet; 99 | #X obj 254 109 * 0.01; 100 | #X obj 167 125 *; 101 | #X obj 167 103 random 100; 102 | #X connect 0 0 1 0; 103 | #X connect 1 0 4 0; 104 | #X connect 2 0 6 0; 105 | #X connect 3 0 8 0; 106 | #X connect 5 0 8 0; 107 | #X connect 6 0 7 1; 108 | #X connect 7 0 0 0; 109 | #X connect 8 0 7 0; 110 | #X restore 409 288 pd random-position; 111 | #N canvas 0 23 453 466 envelope 0; 112 | #X obj 148 259 line~; 113 | #X msg 148 236 1 \, 0 \$1; 114 | #X obj 148 215 f; 115 | #X obj 148 406 *~; 116 | #X obj 199 390 sig~; 117 | #X obj 180 173 r env-time; 118 | #X obj 165 153 random 10000, f 13; 119 | #X obj 165 193 *; 120 | #N canvas 0 23 450 300 prob 0; 121 | #X obj 152 58 inlet; 122 | #X obj 152 80 random 100; 123 | #X obj 152 102 moses; 124 | #X obj 152 124 t b; 125 | #X obj 152 146 outlet; 126 | #X obj 232 86 inlet; 127 | #X connect 0 0 1 0; 128 | #X connect 1 0 2 0; 129 | #X connect 2 0 3 0; 130 | #X connect 3 0 4 0; 131 | #X connect 5 0 2 1; 132 | #X restore 148 111 pd prob; 133 | #X obj 214 333 r env-am; 134 | #N canvas 0 23 450 300 odd-even 0; 135 | #X obj 257 103 % 2; 136 | #X obj 257 76 r \$0-grain-nr; 137 | #X obj 141 56 inlet~; 138 | #X obj 141 91 *~ 1; 139 | #X obj 179 91 *~ -1; 140 | #X obj 141 143 outlet~; 141 | #N canvas 515 366 396 291 spigot~ 0; 142 | #X obj 52 40 inlet~; 143 | #X obj 332 62 inlet; 144 | #X obj 146 185 outlet~; 145 | #X obj 52 102 *~; 146 | #X obj 67 78 == 0; 147 | #X obj 112 40 inlet~; 148 | #X obj 112 102 *~; 149 | #X obj 127 78 == 1; 150 | #X connect 0 0 3 0; 151 | #X connect 1 0 4 0; 152 | #X connect 1 0 7 0; 153 | #X connect 3 0 2 0; 154 | #X connect 4 0 3 1; 155 | #X connect 5 0 6 0; 156 | #X connect 6 0 2 0; 157 | #X connect 7 0 6 1; 158 | #X restore 141 119 pd spigot~; 159 | #X connect 0 0 6 2; 160 | #X connect 1 0 0 0; 161 | #X connect 2 0 3 0; 162 | #X connect 2 0 4 0; 163 | #X connect 3 0 6 0; 164 | #X connect 4 0 6 1; 165 | #X connect 6 0 5 0; 166 | #X restore 148 288 pd odd-even; 167 | #X obj 148 58 inlet; 168 | #X obj 187 86 r p-env-prob; 169 | #X obj 148 428 outlet~; 170 | #X obj 199 369 f; 171 | #X obj 148 132 t b b b b; 172 | #X connect 0 0 10 0; 173 | #X connect 1 0 0 0; 174 | #X connect 2 0 1 0; 175 | #X connect 3 0 13 0; 176 | #X connect 4 0 3 1; 177 | #X connect 5 0 7 1; 178 | #X connect 6 0 7 0; 179 | #X connect 7 0 2 1; 180 | #X connect 8 0 15 0; 181 | #X connect 9 0 14 1; 182 | #X connect 10 0 3 0; 183 | #X connect 11 0 8 0; 184 | #X connect 12 0 8 1; 185 | #X connect 14 0 4 0; 186 | #X connect 15 0 2 0; 187 | #X connect 15 1 6 0; 188 | #X connect 15 3 14 0; 189 | #X restore 429 379 pd envelope; 190 | #N canvas 0 23 257 264 saw-sine 0; 191 | #N canvas 75 23 256 194 sine 0; 192 | #X obj 110 38 inlet~; 193 | #X obj 110 61 cos~; 194 | #X obj 110 83 *~ 0.5; 195 | #X obj 110 105 +~ 0.5; 196 | #X obj 110 127 outlet~; 197 | #X connect 0 0 1 0; 198 | #X connect 1 0 2 0; 199 | #X connect 2 0 3 0; 200 | #X connect 3 0 4 0; 201 | #X restore 106 91 pd sine; 202 | #X obj 158 112 r saw/sine; 203 | #X obj 78 64 inlet~; 204 | #X obj 78 153 outlet~; 205 | #N canvas 515 366 396 291 spigot~ 0; 206 | #X obj 52 40 inlet~; 207 | #X obj 332 62 inlet; 208 | #X obj 146 185 outlet~; 209 | #X obj 52 102 *~; 210 | #X obj 67 78 == 0; 211 | #X obj 112 40 inlet~; 212 | #X obj 112 102 *~; 213 | #X obj 127 78 == 1; 214 | #X connect 0 0 3 0; 215 | #X connect 1 0 4 0; 216 | #X connect 1 0 7 0; 217 | #X connect 3 0 2 0; 218 | #X connect 4 0 3 1; 219 | #X connect 5 0 6 0; 220 | #X connect 6 0 2 0; 221 | #X connect 7 0 6 1; 222 | #X restore 78 128 pd spigot~; 223 | #X connect 0 0 4 1; 224 | #X connect 1 0 4 2; 225 | #X connect 2 0 0 0; 226 | #X connect 2 0 4 0; 227 | #X connect 4 0 3 0; 228 | #X restore 282 246 pd saw-sine; 229 | #N canvas 0 23 450 300 random-pitch 0; 230 | #X obj 245 78 * 0.01; 231 | #X obj 245 97 t b f; 232 | #X obj 170 113 *; 233 | #X obj 245 59 r ran-pitch-am; 234 | #X obj 170 87 random 512; 235 | #X obj 170 54 inlet; 236 | #X obj 170 135 outlet; 237 | #X connect 0 0 1 0; 238 | #X connect 1 0 2 0; 239 | #X connect 1 1 2 1; 240 | #X connect 2 0 6 0; 241 | #X connect 3 0 0 0; 242 | #X connect 4 0 2 0; 243 | #X connect 5 0 4 0; 244 | #X restore 322 36 pd random-pitch; 245 | #X obj 112 448 tabread4~ grain; 246 | #X obj 242 452 grain-window; 247 | #N canvas 0 25 450 300 grain-state/number 0; 248 | #X obj 224 54 loadbang; 249 | #X obj 224 169 s \$0-grain-nr; 250 | #X obj 149 123 >=; 251 | #X obj 149 22 r grain-on; 252 | #X obj 224 86 \$1; 253 | #X obj 224 107 + 1; 254 | #X obj 149 43 t f b; 255 | #X obj 149 184 outlet; 256 | #X connect 0 0 4 0; 257 | #X connect 2 0 7 0; 258 | #X connect 3 0 6 0; 259 | #X connect 4 0 5 0; 260 | #X connect 5 0 1 0; 261 | #X connect 5 0 2 1; 262 | #X connect 6 0 2 0; 263 | #X connect 6 1 4 0; 264 | #X restore 10 10 pd grain-state/number; 265 | #X obj 10 34 switch~; 266 | #X obj 40 214 +~; 267 | #X obj 91 150 r phase-new; 268 | #X obj 76 177 f; 269 | #X obj 76 198 sig~; 270 | #N canvas 0 25 450 300 phasor 0; 271 | #X obj 101 91 phasor~; 272 | #X obj 190 177 threshold~ 0.999 10 0.001 10; 273 | #X obj 190 137 fexpr~ abs($x1-$x1[-1]) > 0.5; 274 | #X obj 101 152 outlet~; 275 | #X obj 190 198 outlet; 276 | #X obj 140 61 inlet; 277 | #X obj 101 31 inlet~; 278 | #X text 203 159 change~ was here; 279 | #X connect 0 0 2 0; 280 | #X connect 0 0 3 0; 281 | #X connect 1 0 4 0; 282 | #X connect 2 0 1 0; 283 | #X connect 5 0 0 1; 284 | #X connect 6 0 0 0; 285 | #X restore 242 161 pd phasor; 286 | #X connect 0 0 1 1; 287 | #X connect 1 0 25 0; 288 | #X connect 2 0 15 0; 289 | #X connect 3 0 11 0; 290 | #X connect 5 0 3 0; 291 | #X connect 6 0 7 0; 292 | #X connect 7 0 19 0; 293 | #X connect 8 0 29 0; 294 | #X connect 9 0 3 1; 295 | #X connect 10 0 18 0; 296 | #X connect 11 0 6 1; 297 | #X connect 12 0 13 0; 298 | #X connect 13 0 10 0; 299 | #X connect 14 0 13 0; 300 | #X connect 14 1 13 1; 301 | #X connect 16 0 5 1; 302 | #X connect 17 1 9 0; 303 | #X connect 17 1 21 0; 304 | #X connect 17 1 24 0; 305 | #X connect 17 2 22 0; 306 | #X connect 18 0 33 0; 307 | #X connect 19 0 1 0; 308 | #X connect 20 0 33 1; 309 | #X connect 21 0 11 1; 310 | #X connect 22 0 19 1; 311 | #X connect 23 0 5 0; 312 | #X connect 24 0 14 0; 313 | #X connect 25 0 2 0; 314 | #X connect 26 0 2 1; 315 | #X connect 27 0 28 0; 316 | #X connect 29 0 6 0; 317 | #X connect 30 0 31 1; 318 | #X connect 31 0 32 0; 319 | #X connect 32 0 29 1; 320 | #X connect 33 0 26 0; 321 | #X connect 33 0 23 0; 322 | #X connect 33 1 17 0; 323 | #X connect 33 1 31 0; 324 | #X connect 33 1 4 0; 325 | -------------------------------------------------------------------------------- /Granular21/grain.pd: -------------------------------------------------------------------------------- 1 | #N canvas 131 44 580 562 10; 2 | #X obj 149 403 r size-in-samples; 3 | #X obj 112 419 *~; 4 | #X obj 112 468 *~; 5 | #X obj 127 283 *~; 6 | #X obj 305 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 7 | -1 -1; 8 | #N canvas 0 23 450 300 rev 0; 9 | #X obj 148 136 *~ -1; 10 | #X obj 148 158 +~ 1; 11 | #X obj 120 94 inlet~; 12 | #X obj 120 213 outlet~; 13 | #X obj 207 172 inlet; 14 | #N canvas 515 366 592 291 spigot~ 0; 15 | #X obj 52 40 inlet~; 16 | #X obj 432 62 inlet; 17 | #X obj 432 118 outlet~; 18 | #X obj 52 102 *~; 19 | #X obj 67 78 == 0; 20 | #X obj 112 40 inlet~; 21 | #X obj 112 102 *~; 22 | #X obj 127 78 == 1; 23 | #X connect 0 0 3 0; 24 | #X connect 1 0 4 0; 25 | #X connect 1 0 7 0; 26 | #X connect 3 0 2 0; 27 | #X connect 4 0 3 1; 28 | #X connect 5 0 6 0; 29 | #X connect 6 0 2 0; 30 | #X connect 7 0 6 1; 31 | #X restore 120 188 pd spigot~; 32 | #X connect 0 0 1 0; 33 | #X connect 1 0 5 1; 34 | #X connect 2 0 0 0; 35 | #X connect 2 0 5 0; 36 | #X connect 4 0 5 2; 37 | #X connect 5 0 3 0; 38 | #X restore 127 262 pd rev; 39 | #X obj 112 331 +~; 40 | #X obj 112 350 wrap~; 41 | #X obj 40 117 r~ phasor-main; 42 | #N canvas 672 114 450 356 gr-size 0; 43 | #X obj 127 225 f; 44 | #X obj 168 79 i; 45 | #X msg 82 177 0; 46 | #X obj 168 98 != 0; 47 | #X obj 142 159 spigot; 48 | #X obj 82 135 sel 0; 49 | #X obj 142 193 f; 50 | #X obj 127 244 * 0.0001; 51 | #X obj 248 209 inlet; 52 | #X obj 142 52 r grain-size; 53 | #X obj 127 266 sig~; 54 | #X obj 127 291 outlet~; 55 | #X obj 168 119 t f f; 56 | #X connect 0 0 7 0; 57 | #X connect 1 0 3 0; 58 | #X connect 2 0 6 0; 59 | #X connect 3 0 12 0; 60 | #X connect 4 0 6 0; 61 | #X connect 5 0 2 0; 62 | #X connect 6 0 0 1; 63 | #X connect 7 0 10 0; 64 | #X connect 8 0 0 0; 65 | #X connect 9 0 1 0; 66 | #X connect 9 0 4 0; 67 | #X connect 10 0 11 0; 68 | #X connect 12 0 5 0; 69 | #X connect 12 1 4 1; 70 | #X restore 142 193 pd gr-size; 71 | #X obj 242 104 mtof; 72 | #X obj 127 304 +~; 73 | #X obj 242 59 r note-pitch; 74 | #X obj 242 79 +; 75 | #X obj 322 63 t b f; 76 | #X obj 112 500 outlet~; 77 | #X obj 160 230 r reverse; 78 | #X obj 390 177 t b b b; 79 | #X obj 242 126 sig~; 80 | #X obj 112 395 +~; 81 | #N canvas 0 23 450 300 random-phase 0; 82 | #X obj 98 114 loadbang; 83 | #X obj 98 204 outlet; 84 | #X text 95 76 Set random phase for each individual grain \, so they 85 | don't start all form the same place., f 46; 86 | #X obj 98 143 random 10000; 87 | #X obj 98 163 * 0.0001; 88 | #X connect 0 0 3 0; 89 | #X connect 3 0 4 0; 90 | #X connect 4 0 1 0; 91 | #X restore 293 131 pd random-phase; 92 | #N canvas 0 23 450 300 random-position 0; 93 | #X obj 167 155 * 0.01; 94 | #X obj 167 177 sig~; 95 | #X obj 254 87 r random-position; 96 | #X obj 167 40 loadbang; 97 | #X obj 167 199 outlet~; 98 | #X obj 96 87 inlet; 99 | #X obj 254 109 * 0.01; 100 | #X obj 167 125 *; 101 | #X obj 167 103 random 100; 102 | #X connect 0 0 1 0; 103 | #X connect 1 0 4 0; 104 | #X connect 2 0 6 0; 105 | #X connect 3 0 8 0; 106 | #X connect 5 0 8 0; 107 | #X connect 6 0 7 1; 108 | #X connect 7 0 0 0; 109 | #X connect 8 0 7 0; 110 | #X restore 409 288 pd random-position; 111 | #N canvas 0 23 450 300 display-grain 0; 112 | #X obj 184 142 r \$0-grain-nr; 113 | #X floatatom 195 164 5 0 0 0 - - -; 114 | #N canvas 0 23 304 195 snapshot 0; 115 | #X obj 132 88 snapshot~; 116 | #X obj 77 61 bang~; 117 | #X obj 132 55 inlet~; 118 | #X obj 132 110 outlet; 119 | #X connect 0 0 3 0; 120 | #X connect 1 0 0 0; 121 | #X connect 2 0 0 0; 122 | #X restore 163 106 pd snapshot; 123 | #X obj 163 69 inlet~; 124 | #X obj 163 210 send; 125 | #X msg 184 185 symbol r-grain-\$1; 126 | #X connect 0 0 1 0; 127 | #X connect 0 0 5 0; 128 | #X connect 2 0 4 0; 129 | #X connect 3 0 2 0; 130 | #X connect 5 0 4 1; 131 | #X restore 171 366 pd display-grain; 132 | #N canvas 0 23 453 466 envelope 0; 133 | #X obj 148 259 line~; 134 | #X msg 148 236 1 \, 0 \$1; 135 | #X obj 148 215 f; 136 | #X obj 148 406 *~; 137 | #X obj 199 390 sig~; 138 | #X obj 180 173 r env-time; 139 | #X obj 165 153 random 10000, f 13; 140 | #X obj 165 193 *; 141 | #N canvas 0 23 450 300 prob 0; 142 | #X obj 152 58 inlet; 143 | #X obj 152 80 random 100; 144 | #X obj 152 102 moses; 145 | #X obj 152 124 t b; 146 | #X obj 152 146 outlet; 147 | #X obj 232 86 inlet; 148 | #X connect 0 0 1 0; 149 | #X connect 1 0 2 0; 150 | #X connect 2 0 3 0; 151 | #X connect 3 0 4 0; 152 | #X connect 5 0 2 1; 153 | #X restore 148 111 pd prob; 154 | #X obj 214 333 r env-am; 155 | #N canvas 0 23 450 300 odd-even 0; 156 | #X obj 257 103 % 2; 157 | #X obj 257 76 r \$0-grain-nr; 158 | #X obj 141 56 inlet~; 159 | #X obj 141 91 *~ 1; 160 | #X obj 179 91 *~ -1; 161 | #X obj 141 143 outlet~; 162 | #N canvas 515 366 396 291 spigot~ 0; 163 | #X obj 52 40 inlet~; 164 | #X obj 332 62 inlet; 165 | #X obj 146 185 outlet~; 166 | #X obj 52 102 *~; 167 | #X obj 67 78 == 0; 168 | #X obj 112 40 inlet~; 169 | #X obj 112 102 *~; 170 | #X obj 127 78 == 1; 171 | #X connect 0 0 3 0; 172 | #X connect 1 0 4 0; 173 | #X connect 1 0 7 0; 174 | #X connect 3 0 2 0; 175 | #X connect 4 0 3 1; 176 | #X connect 5 0 6 0; 177 | #X connect 6 0 2 0; 178 | #X connect 7 0 6 1; 179 | #X restore 141 119 pd spigot~; 180 | #X connect 0 0 6 2; 181 | #X connect 1 0 0 0; 182 | #X connect 2 0 3 0; 183 | #X connect 2 0 4 0; 184 | #X connect 3 0 6 0; 185 | #X connect 4 0 6 1; 186 | #X connect 6 0 5 0; 187 | #X restore 148 288 pd odd-even; 188 | #X obj 148 58 inlet; 189 | #X obj 187 86 r p-env-prob; 190 | #X obj 148 428 outlet~; 191 | #X obj 199 369 f; 192 | #X obj 148 132 t b b b b; 193 | #X connect 0 0 10 0; 194 | #X connect 1 0 0 0; 195 | #X connect 2 0 1 0; 196 | #X connect 3 0 13 0; 197 | #X connect 4 0 3 1; 198 | #X connect 5 0 7 1; 199 | #X connect 6 0 7 0; 200 | #X connect 7 0 2 1; 201 | #X connect 8 0 15 0; 202 | #X connect 9 0 14 1; 203 | #X connect 10 0 3 0; 204 | #X connect 11 0 8 0; 205 | #X connect 12 0 8 1; 206 | #X connect 14 0 4 0; 207 | #X connect 15 0 2 0; 208 | #X connect 15 1 6 0; 209 | #X connect 15 3 14 0; 210 | #X restore 429 379 pd envelope; 211 | #N canvas 0 23 257 264 saw-sine 0; 212 | #N canvas 75 23 256 194 sine 0; 213 | #X obj 110 38 inlet~; 214 | #X obj 110 61 cos~; 215 | #X obj 110 83 *~ 0.5; 216 | #X obj 110 105 +~ 0.5; 217 | #X obj 110 127 outlet~; 218 | #X connect 0 0 1 0; 219 | #X connect 1 0 2 0; 220 | #X connect 2 0 3 0; 221 | #X connect 3 0 4 0; 222 | #X restore 106 91 pd sine; 223 | #X obj 158 112 r saw/sine; 224 | #X obj 78 64 inlet~; 225 | #X obj 78 153 outlet~; 226 | #N canvas 515 366 396 291 spigot~ 0; 227 | #X obj 52 40 inlet~; 228 | #X obj 332 62 inlet; 229 | #X obj 146 185 outlet~; 230 | #X obj 52 102 *~; 231 | #X obj 67 78 == 0; 232 | #X obj 112 40 inlet~; 233 | #X obj 112 102 *~; 234 | #X obj 127 78 == 1; 235 | #X connect 0 0 3 0; 236 | #X connect 1 0 4 0; 237 | #X connect 1 0 7 0; 238 | #X connect 3 0 2 0; 239 | #X connect 4 0 3 1; 240 | #X connect 5 0 6 0; 241 | #X connect 6 0 2 0; 242 | #X connect 7 0 6 1; 243 | #X restore 78 128 pd spigot~; 244 | #X connect 0 0 4 1; 245 | #X connect 1 0 4 2; 246 | #X connect 2 0 0 0; 247 | #X connect 2 0 4 0; 248 | #X connect 4 0 3 0; 249 | #X restore 282 246 pd saw-sine; 250 | #N canvas 0 23 450 300 random-pitch 0; 251 | #X obj 245 78 * 0.01; 252 | #X obj 245 97 t b f; 253 | #X obj 170 113 *; 254 | #X obj 245 59 r ran-pitch-am; 255 | #X obj 170 87 random 512; 256 | #X obj 170 54 inlet; 257 | #X obj 170 135 outlet; 258 | #X connect 0 0 1 0; 259 | #X connect 1 0 2 0; 260 | #X connect 1 1 2 1; 261 | #X connect 2 0 6 0; 262 | #X connect 3 0 0 0; 263 | #X connect 4 0 2 0; 264 | #X connect 5 0 4 0; 265 | #X restore 322 36 pd random-pitch; 266 | #X obj 112 448 tabread4~ grain; 267 | #X obj 242 452 grain-window; 268 | #N canvas 0 23 450 300 grain-state/number 0; 269 | #X obj 224 54 loadbang; 270 | #X obj 224 169 s \$0-grain-nr; 271 | #X obj 149 123 >=; 272 | #X obj 149 22 r grain-on; 273 | #X obj 224 86 \$1; 274 | #X obj 224 107 + 1; 275 | #X obj 149 43 t f b; 276 | #X obj 149 184 outlet; 277 | #X connect 0 0 4 0; 278 | #X connect 2 0 7 0; 279 | #X connect 3 0 6 0; 280 | #X connect 4 0 5 0; 281 | #X connect 5 0 1 0; 282 | #X connect 5 0 2 1; 283 | #X connect 6 0 2 0; 284 | #X connect 6 1 4 0; 285 | #X restore 10 10 pd grain-state/number; 286 | #X obj 10 34 switch~; 287 | #N canvas 0 23 450 300 phasor 1; 288 | #X obj 101 91 phasor~; 289 | #X obj 190 177 threshold~ 0.999 10 0.001 10; 290 | #X obj 190 137 fexpr~ abs($x1-$x1[-1]) > 0.5; 291 | #X obj 101 152 outlet~; 292 | #X obj 190 198 outlet; 293 | #X obj 140 61 inlet; 294 | #X obj 101 31 inlet~; 295 | #X connect 0 0 2 0; 296 | #X connect 0 0 3 0; 297 | #X connect 1 0 4 0; 298 | #X connect 2 0 1 0; 299 | #X connect 5 0 0 1; 300 | #X connect 6 0 0 0; 301 | #X restore 242 161 pd phasor; 302 | #X connect 0 0 1 1; 303 | #X connect 1 0 26 0; 304 | #X connect 2 0 15 0; 305 | #X connect 3 0 11 0; 306 | #X connect 5 0 3 0; 307 | #X connect 6 0 7 0; 308 | #X connect 7 0 19 0; 309 | #X connect 7 0 22 0; 310 | #X connect 8 0 6 0; 311 | #X connect 9 0 3 1; 312 | #X connect 10 0 18 0; 313 | #X connect 11 0 6 1; 314 | #X connect 12 0 13 0; 315 | #X connect 13 0 10 0; 316 | #X connect 14 0 13 0; 317 | #X connect 14 1 13 1; 318 | #X connect 16 0 5 1; 319 | #X connect 17 1 9 0; 320 | #X connect 17 1 21 0; 321 | #X connect 17 1 25 0; 322 | #X connect 17 2 23 0; 323 | #X connect 18 0 30 0; 324 | #X connect 19 0 1 0; 325 | #X connect 20 0 30 1; 326 | #X connect 21 0 11 1; 327 | #X connect 23 0 19 1; 328 | #X connect 24 0 5 0; 329 | #X connect 25 0 14 0; 330 | #X connect 26 0 2 0; 331 | #X connect 27 0 2 1; 332 | #X connect 28 0 29 0; 333 | #X connect 30 0 27 0; 334 | #X connect 30 0 24 0; 335 | #X connect 30 1 17 0; 336 | #X connect 30 1 4 0; 337 | -------------------------------------------------------------------------------- /Savestate-Preset-System/test.pd: -------------------------------------------------------------------------------- 1 | #N canvas 26 38 863 714 10; 2 | #N canvas 545 40 625 644 savestate 0; 3 | #X obj 285 258 savestate; 4 | #X obj 336 278 array get \$0-test; 5 | #X obj 285 306 array set \$0-test; 6 | #X obj 25 15 loadbang; 7 | #X obj 45 60 s \$0-preset-size; 8 | #X obj 264 602 array set \$0-test; 9 | #X obj 285 455 r \$0-copy; 10 | #X obj 264 582 list; 11 | #X obj 334 566 t b f; 12 | #N canvas 38 283 655 495 load-save-copy-handling 0; 13 | #X obj 93 383 s \$0-preset; 14 | #X text 23 362 Preset size; 15 | #X obj 349 163 r \$0-copy; 16 | #X msg 349 184 1; 17 | #N canvas 528 23 450 300 color 0; 18 | #X obj 61 177 pack 0 0 0; 19 | #X obj 61 149 f; 20 | #X msg 61 202 color \$1 \$2 \$3; 21 | #X text 50 130 Back; 22 | #X text 93 161 Front; 23 | #X text 153 161 Label; 24 | #X obj 61 223 outlet; 25 | #X obj 61 11 inlet; 26 | #X obj 61 96 t b b b b; 27 | #X obj 26 81 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 28 | -1; 29 | #X obj 61 53 sel 0 1; 30 | #X obj 251 161 f; 31 | #X text 240 140 Back; 32 | #X text 283 161 Front; 33 | #X text 363 161 Label; 34 | #X obj 251 96 t b b b b; 35 | #X msg 78 129 0; 36 | #X msg 268 140 3; 37 | #X msg 127 161 3; 38 | #X msg 187 161 22; 39 | #X obj 251 72 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 40 | -1; 41 | #X msg 397 161 22; 42 | #X msg 317 161 0; 43 | #X text 187 97 Copy color; 44 | #X connect 0 0 2 0; 45 | #X connect 1 0 0 0; 46 | #X connect 2 0 6 0; 47 | #X connect 7 0 10 0; 48 | #X connect 8 0 1 0; 49 | #X connect 8 1 16 0; 50 | #X connect 8 2 18 0; 51 | #X connect 8 3 19 0; 52 | #X connect 9 0 8 0; 53 | #X connect 10 0 8 0; 54 | #X connect 10 1 15 0; 55 | #X connect 11 0 0 0; 56 | #X connect 15 0 11 0; 57 | #X connect 15 1 17 0; 58 | #X connect 15 2 22 0; 59 | #X connect 15 3 21 0; 60 | #X connect 16 0 1 1; 61 | #X connect 17 0 11 1; 62 | #X connect 18 0 0 1; 63 | #X connect 19 0 0 2; 64 | #X connect 20 0 15 0; 65 | #X connect 21 0 0 2; 66 | #X connect 22 0 0 1; 67 | #X restore 386 216 pd color; 68 | #X msg 310 101 0; 69 | #X floatatom 263 247 5 0 0 0 - - -; 70 | #X obj 310 200 f; 71 | #X obj 253 346 f; 72 | #X floatatom 253 367 5 0 0 0 - - -; 73 | #X obj 226 85 t b f; 74 | #X obj 310 330 t f f; 75 | #X obj 352 330 r \$0-preset-size; 76 | #X obj 337 351 *; 77 | #X obj 93 362 *; 78 | #X obj 108 330 r \$0-preset-size; 79 | #X text 108 45 Preset parameter in; 80 | #X text 385 257 Change color on preset parameter when in copy mode. 81 | , f 19; 82 | #X text 336 389 Copy to this preset and then select the newly copied 83 | preset from the new slot., f 24; 84 | #X text 33 225 Use preset radio for copy preset too; 85 | #X obj 310 79 loadbang; 86 | #X obj 337 371 s \$0-copy-to; 87 | #X obj 226 45 r \$0-s-0-param; 88 | #X obj 386 236 s \$0-r-0-param; 89 | #X text 60 102 When preset is copied \, turn copy mode off; 90 | #X text 111 164 Turn copy mode on before copying preset; 91 | #N canvas 0 23 384 263 demux-2 0; 92 | #X obj 128 157 spigot; 93 | #X obj 161 94 == 0; 94 | #X obj 198 157 spigot; 95 | #X obj 231 94 == 1; 96 | #X obj 128 179 outlet; 97 | #X obj 198 179 outlet; 98 | #X obj 51 141 inlet value; 99 | #X obj 289 78 inlet select; 100 | #X connect 0 0 4 0; 101 | #X connect 1 0 0 1; 102 | #X connect 2 0 5 0; 103 | #X connect 3 0 2 1; 104 | #X connect 6 0 0 0; 105 | #X connect 6 0 2 0; 106 | #X connect 7 0 1 0; 107 | #X connect 7 0 3 0; 108 | #X restore 253 226 pd demux-2; 109 | #X connect 2 0 3 0; 110 | #X connect 3 0 7 0; 111 | #X connect 4 0 23 0; 112 | #X connect 5 0 7 0; 113 | #X connect 7 0 4 0; 114 | #X connect 7 0 26 1; 115 | #X connect 8 0 9 0; 116 | #X connect 8 0 14 0; 117 | #X connect 10 0 5 0; 118 | #X connect 10 1 26 0; 119 | #X connect 11 0 8 0; 120 | #X connect 11 1 13 0; 121 | #X connect 12 0 13 1; 122 | #X connect 13 0 21 0; 123 | #X connect 14 0 0 0; 124 | #X connect 15 0 14 1; 125 | #X connect 20 0 5 0; 126 | #X connect 22 0 10 0; 127 | #X connect 26 0 6 0; 128 | #X connect 26 0 8 0; 129 | #X connect 26 1 11 0; 130 | #X restore 285 386 pd load-save-copy-handling; 131 | #X text 152 279 Save values \, when saving patch; 132 | #X obj 285 525 array get \$0-test; 133 | #X obj 334 546 r \$0-copy-to; 134 | #X obj 334 503 r \$0-preset-size; 135 | #X obj 300 479 r \$0-preset; 136 | #X obj 285 504 f; 137 | #X obj 25 83 * 8; 138 | #X text 179 347 Table for storage; 139 | #X text 101 306 Load values when loading patch; 140 | #X text 191 386 Preset handling; 141 | #X obj 25 154 array size \$0-test; 142 | #X obj 285 346 array define \$0-test; 143 | #X text 283 213 Load data on start up and save it using a table and 144 | savestave., f 26; 145 | #X text 161 455 Copy preset function; 146 | #X msg 25 36 8; 147 | #X obj 25 104 + 1; 148 | #X text 55 83 <<< How many presets. I use 8 presets \, so this is times 149 | 8; 150 | #X text 55 37 <<< Set how many parameters in a preset.; 151 | #X floatatom 25 175 5 0 0 1 - - -; 152 | #X obj 25 125 t b f; 153 | #X text 64 175 <<< Table size in total; 154 | #X text 54 104 <<< An extra index for the preset selecter.; 155 | #X connect 0 0 2 0; 156 | #X connect 0 1 1 0; 157 | #X connect 1 0 0 0; 158 | #X connect 3 0 24 0; 159 | #X connect 6 0 15 0; 160 | #X connect 7 0 5 0; 161 | #X connect 8 0 7 0; 162 | #X connect 8 1 5 1; 163 | #X connect 11 0 7 1; 164 | #X connect 12 0 8 0; 165 | #X connect 13 0 11 1; 166 | #X connect 14 0 15 1; 167 | #X connect 15 0 11 0; 168 | #X connect 16 0 25 0; 169 | #X connect 20 0 28 0; 170 | #X connect 24 0 4 0; 171 | #X connect 24 0 16 0; 172 | #X connect 25 0 29 0; 173 | #X connect 29 0 20 0; 174 | #X connect 29 1 20 0; 175 | #X restore 16 14 pd savestate; 176 | #X obj 158 173 nbx 5 14 -1e+37 1e+37 0 0 \$0-s-1-param \$0-r-1-param 177 | empty 0 -8 0 10 -262144 -1 -1 7 256; 178 | #X obj 158 156 hradio 12 1 0 8 \$0-s-0-param \$0-r-0-param Preset 2 179 | 6 0 10 -262144 -261689 -1 0; 180 | #X obj 242 173 bng 12 250 50 0 \$0-save empty S 4 7 0 8 -262144 -1 181 | -1; 182 | #X obj 158 106 loadbang; 183 | #X obj 242 190 bng 12 250 50 0 \$0-copy empty C 4 7 0 8 -262144 -1 184 | -1; 185 | #X obj 158 127 del 50; 186 | #X text 563 72 \$0-s-0-param; 187 | #X text 563 92 \$0-r-0-param; 188 | #X obj 158 191 nbx 5 14 -1e+37 1e+37 0 0 \$0-s-2-param \$0-r-2-param 189 | empty 0 -8 0 10 -262144 -1 -1 47 256; 190 | #X obj 158 209 nbx 5 14 -1e+37 1e+37 0 0 \$0-s-3-param \$0-r-3-param 191 | empty 0 -8 0 10 -262144 -1 -1 87 256; 192 | #X obj 158 227 nbx 5 14 -1e+37 1e+37 0 0 \$0-s-4-param \$0-r-4-param 193 | empty 0 -8 0 10 -262144 -1 -1 241 256; 194 | #X floatatom 25 550 5 0 0 0 - - -; 195 | #X floatatom 125 550 5 0 0 0 - - -; 196 | #X floatatom 225 550 5 0 0 0 - - -; 197 | #X floatatom 325 550 5 0 0 0 - - -; 198 | #X obj 25 529 r \$0-s-1-param; 199 | #X obj 125 529 r \$0-s-2-param; 200 | #X obj 225 529 r \$0-s-3-param; 201 | #X obj 325 529 r \$0-s-4-param; 202 | #X text 503 72 Send; 203 | #X text 503 92 Receive; 204 | #X text 503 122 Send; 205 | #X text 503 142 Receive; 206 | #X text 563 122 \$0-s-1-param; 207 | #X text 563 142 \$0-r-1-param; 208 | #X text 503 172 Send; 209 | #X text 503 192 Receive; 210 | #X text 563 172 \$0-s-2-param; 211 | #X text 563 192 \$0-r-2-param; 212 | #N canvas 782 111 486 381 parameters 0; 213 | #X text 54 26 Parameter handling abstractions:; 214 | #X obj 57 129 param-savestate \$0 1; 215 | #X obj 57 149 param-savestate \$0 2; 216 | #X obj 57 169 param-savestate \$0 3; 217 | #X obj 57 189 param-savestate \$0 4; 218 | #X text 187 130 Param 1; 219 | #X text 187 150 Param 2; 220 | #X text 187 170 Param 3; 221 | #X text 187 190 Param 4; 222 | #X text 187 110 Param 0; 223 | #X text 247 110 Preset - Fixed parameter; 224 | #X text 247 130 None; 225 | #X text 247 150 None; 226 | #X text 247 170 None; 227 | #X text 247 190 None; 228 | #X obj 57 209 param-savestate \$0 5; 229 | #X obj 57 229 param-savestate \$0 6; 230 | #X obj 57 249 param-savestate \$0 7; 231 | #X obj 57 269 param-savestate \$0 8; 232 | #X text 247 210 None; 233 | #X text 247 230 None; 234 | #X text 247 250 None; 235 | #X text 247 270 None; 236 | #X text 187 210 Param 5; 237 | #X text 187 230 Param 6; 238 | #X text 187 250 Param 7; 239 | #X text 187 270 Param 8; 240 | #N canvas 0 23 627 390 preset-indexxxx-0 0; 241 | #X obj 159 249 tabread \$0-test; 242 | #X obj 159 111 loadbang; 243 | #X msg 159 226 0; 244 | #X obj 286 242 tabwrite \$0-test; 245 | #X obj 286 210 spigot; 246 | #X msg 319 147 1; 247 | #X obj 286 180 r \$0-s-0-param; 248 | #X obj 159 279 s \$0-r-0-param; 249 | #X text 157 61 Preset select is fixed to index 0 and does not use the 250 | preset system \, its a fixed parameter. Its just recalled on startup. 251 | ; 252 | #X obj 319 127 del 25; 253 | #X text 23 225 Index for preset radio; 254 | #X text 157 301 Recall the stored preset from savestate/table., f 255 | 17; 256 | #X text 391 126 Do not let the preset radio set a value to the table 257 | before the preset radio value has actually been set from savestate. 258 | It wont work \, hence the spigot and delay., f 33; 259 | #X text 287 262 Save the preset to savestate/table., f 19; 260 | #X connect 0 0 7 0; 261 | #X connect 1 0 2 0; 262 | #X connect 1 0 9 0; 263 | #X connect 2 0 0 0; 264 | #X connect 2 0 3 1; 265 | #X connect 4 0 3 0; 266 | #X connect 5 0 4 1; 267 | #X connect 6 0 4 0; 268 | #X connect 9 0 5 0; 269 | #X restore 57 109 pd preset-indexxxx-0; 270 | #X text 54 46 - Create one for each param \, with the right index nr. 271 | Argument 1 is parent unique id for the array/table \, argument 2 is 272 | the index/parameter number to which the parameter is stored. All parameters 273 | needs their own index!, f 65; 274 | #X restore 16 34 pd parameters; 275 | #X floatatom 25 600 5 0 0 0 - - -; 276 | #X floatatom 125 600 5 0 0 0 - - -; 277 | #X floatatom 225 600 5 0 0 0 - - -; 278 | #X floatatom 325 600 5 0 0 0 - - -; 279 | #X obj 25 579 r \$0-s-5-param; 280 | #X obj 125 579 r \$0-s-6-param; 281 | #X obj 225 579 r \$0-s-7-param; 282 | #X obj 325 579 r \$0-s-8-param; 283 | #X text 105 14 <<< Load and save presets from savestate into a table. 284 | ; 285 | #X text 503 222 So if you want to add more parameters you need to do 286 | this:, f 42; 287 | #X obj 158 245 tgl 12 0 \$0-s-5-param \$0-r-5-param empty 17 7 0 10 288 | -262144 -1 -1 0 1; 289 | #X obj 178 245 tgl 12 0 \$0-s-6-param \$0-r-6-param empty 17 7 0 10 290 | -262144 -1 -1 0 1; 291 | #X obj 161 261 hsl 91 12 0 127 0 0 \$0-s-7-param \$0-r-7-param empty 292 | -2 -8 0 10 -262144 -1 -1 0 1; 293 | #X text 118 173 1 >; 294 | #X text 118 191 2 >; 295 | #X text 118 209 3 >; 296 | #X text 118 226 4 >; 297 | #X text 106 243 5+6 >; 298 | #X text 118 260 7 >; 299 | #X obj 158 277 hradio 12 1 0 8 \$0-s-8-param \$0-r-8-param empty 0 300 | -8 0 10 -262144 -1 -1 1; 301 | #X text 118 274 8 >; 302 | #X text 265 172 < Save; 303 | #X text 265 189 < Copy; 304 | #X text 503 262 1 Decide how many parameters you need and set that 305 | number in the message box in the "savestate" abstraction. In this example 306 | I used 8 parameters., f 42; 307 | #X text 503 42 The parameters send and receives are formatted like 308 | this:, f 42; 309 | #X text 503 362 So thats the basic setup up for the load/save part 310 | of the system., f 42; 311 | #X text 503 412 Next is setting up the parameters:, f 42; 312 | #X text 503 432 3 Create any parameter you like \, toggle \, fader 313 | \, radio etc., f 42; 314 | #X text 503 612 Send, f 7; 315 | #X text 503 632 Receive; 316 | #X text 563 612 \$0-s-4-param; 317 | #X text 563 632 \$0-r-4-param; 318 | #X text 22 493 Parameter receivers. Receives parameter values from 319 | the parameters \, so you can set the values in you algorithm:, f 67 320 | ; 321 | #X text 155 76 Load preset after everything has been set., f 24; 322 | #X text 503 652 (See one of the already existing parameter \, by right 323 | clicking the parameter and select properties), f 42; 324 | #X text 503 312 2 In the "savestate" abstraction you also set how many 325 | presets you want in the multiply object. In this example I used 8 presets. 326 | , f 42; 327 | #X text 503 462 4 Then create a "param-savestate" abstraction in the 328 | "pd parameters" subpatch for every single parameter. You need to set 329 | the index number that the parameter data is stored in for each parameter. 330 | Every parameter needs its own index in the table!, f 42; 331 | #X text 503 552 5 Right click on the parameter(toggle \, fader \, etc.) 332 | and set the following to the send and receive fields. For parameter 333 | 4 you would put this in send and receive:, f 42; 334 | #X text 26 673 Made by Jakob Skouborg(Jaffasplaffa) \, August 2021 335 | ; 336 | #X text 503 13 HOW IT WORKS!, f 42; 337 | #X text 105 34 <<< Parameter communication with table.; 338 | #X connect 4 0 6 0; 339 | #X connect 6 0 2 0; 340 | #X connect 16 0 12 0; 341 | #X connect 17 0 13 0; 342 | #X connect 18 0 14 0; 343 | #X connect 19 0 15 0; 344 | #X connect 35 0 31 0; 345 | #X connect 36 0 32 0; 346 | #X connect 37 0 33 0; 347 | #X connect 38 0 34 0; 348 | #X coords 0 -1 1 1 110 145 2 150 150; 349 | -------------------------------------------------------------------------------- /Karlsen-Ladder-24-db/spectrum2.pd: -------------------------------------------------------------------------------- 1 | #N canvas 199 23 1081 755 10; 2 | #X obj 108 67 inlet~; 3 | #X obj 101 223 *~; 4 | #X obj 130 223 *~; 5 | #X obj 112 263 sqrt~; 6 | #X obj 632 67 inlet; 7 | #X obj 147 100 sig~ 1; 8 | #X obj 108 157 *~; 9 | #X obj 137 575 metro 100; 10 | #X obj 427 81 t b b; 11 | #N canvas 0 23 555 513 get.size 0; 12 | #X obj 196 223 t f f f; 13 | #X obj 240 277 ==; 14 | #X obj 161 339 spigot; 15 | #X obj 237 416 expr pow(2. \, $f1); 16 | #X obj 274 310 == 0; 17 | #X obj 243 338 spigot; 18 | #X obj 245 364 i; 19 | #X obj 257 253 i; 20 | #X obj 244 385 + 1; 21 | #X obj 193 170 expr log(size("$s1"))/log(2.); 22 | #X obj 197 55 inlet; 23 | #X obj 242 452 outlet; 24 | #X obj 283 19 r pd; 25 | #X obj 283 41 route dsp; 26 | #X obj 282 64 sel 1; 27 | #X obj 197 198 change -1; 28 | #X obj 351 71 r \$0-check.table.size; 29 | #X obj 350 92 sel 1; 30 | #X obj 192 130 symbol \$0-spectrum; 31 | #X connect 0 0 2 0; 32 | #X connect 0 0 5 0; 33 | #X connect 0 1 1 0; 34 | #X connect 0 2 7 0; 35 | #X connect 1 0 2 1; 36 | #X connect 1 0 4 0; 37 | #X connect 2 0 3 0; 38 | #X connect 3 0 11 0; 39 | #X connect 4 0 5 1; 40 | #X connect 5 0 6 0; 41 | #X connect 6 0 8 0; 42 | #X connect 7 0 1 1; 43 | #X connect 8 0 3 0; 44 | #X connect 9 0 15 0; 45 | #X connect 10 0 18 0; 46 | #X connect 12 0 13 0; 47 | #X connect 13 0 14 0; 48 | #X connect 14 0 18 0; 49 | #X connect 15 0 0 0; 50 | #X connect 16 0 17 0; 51 | #X connect 17 0 18 0; 52 | #X connect 18 0 9 0; 53 | #X restore 440 127 pd get.size; 54 | #X obj 379 197 * 2; 55 | #X obj 435 203 s \$1; 56 | #X msg 452 283 set \$1 1 1; 57 | #X obj 551 209 r pd; 58 | #X obj 551 235 route dsp; 59 | #X obj 632 296 * 1; 60 | #X obj 484 361 switch~ 2048; 61 | #X msg 195 99 12; 62 | #N canvas 0 23 450 300 \$0-reset 0; 63 | #X restore 721 438 pd \$0-reset; 64 | #X obj 721 359 sel 1; 65 | #X obj 721 414 s pd-\$0-reset; 66 | #X msg 721 388 obj 100 100 +~ \, clear; 67 | #X msg 187 267 3.88227 \$1; 68 | #X obj 187 288 /; 69 | #X obj 112 309 *~ 0.00189564; 70 | #X obj 147 129 windowing/kaiser~; 71 | #X obj 632 146 i; 72 | #X obj 632 167 clip 0 1; 73 | #X obj 632 346 s \$0-plot; 74 | #X obj 137 522 r \$0-plot; 75 | #X obj 188 549 r \$0-refresh; 76 | #X obj 681 141 s \$0-refresh; 77 | #N canvas 712 197 568 496 ampscale 0; 78 | #X obj 58 52 inlet~; 79 | #X obj 179 82 r \$0-linamp; 80 | #X obj 146 115 == 0; 81 | #X obj 185 115 != 0; 82 | #N canvas 89 44 681 600 logscale 0; 83 | #X obj 82 68 inlet~; 84 | #X obj 82 118 rmstodb~; 85 | #X obj 175 100 unpack f f; 86 | #X obj 144 243 swap; 87 | #X obj 145 268 -; 88 | #X obj 82 406 outlet~; 89 | #X obj 144 145 + 100; 90 | #X obj 144 175 max 0; 91 | #X obj 217 143 + 100; 92 | #X obj 82 226 -~ 0; 93 | #X obj 82 312 /~ 1; 94 | #X obj 82 363 clip~ 0 1; 95 | #X obj 175 78 r \$0-dbrange; 96 | #X obj 322 68 inlet; 97 | #X obj 322 102 switch~; 98 | #X connect 0 0 1 0; 99 | #X connect 1 0 9 0; 100 | #X connect 2 0 6 0; 101 | #X connect 2 1 8 0; 102 | #X connect 3 0 4 0; 103 | #X connect 3 1 4 1; 104 | #X connect 4 0 10 1; 105 | #X connect 6 0 7 0; 106 | #X connect 7 0 3 0; 107 | #X connect 7 0 9 1; 108 | #X connect 8 0 3 1; 109 | #X connect 9 0 10 0; 110 | #X connect 10 0 11 0; 111 | #X connect 11 0 5 0; 112 | #X connect 12 0 2 0; 113 | #X connect 13 0 14 0; 114 | #X restore 58 195 pd logscale; 115 | #X obj 58 252 outlet~; 116 | #N canvas 406 22 575 491 linscale 0; 117 | #X obj 115 79 inlet~; 118 | #X obj 306 79 inlet; 119 | #X obj 306 125 switch~; 120 | #X obj 201 162 r \$0-amprange; 121 | #X obj 201 195 unpack f f; 122 | #X obj 115 270 -~ 0; 123 | #X obj 201 222 max 0; 124 | #X obj 201 277 swap; 125 | #X obj 203 307 -; 126 | #X obj 115 344 /~ 1; 127 | #X obj 115 381 clip~ 0 1; 128 | #X obj 115 416 outlet~; 129 | #X connect 0 0 5 0; 130 | #X connect 1 0 2 0; 131 | #X connect 3 0 4 0; 132 | #X connect 4 0 6 0; 133 | #X connect 4 1 7 1; 134 | #X connect 5 0 9 0; 135 | #X connect 6 0 5 1; 136 | #X connect 6 0 7 0; 137 | #X connect 7 0 8 0; 138 | #X connect 7 1 8 1; 139 | #X connect 8 0 9 1; 140 | #X connect 9 0 10 0; 141 | #X connect 10 0 11 0; 142 | #X restore 148 195 pd linscale; 143 | #X connect 0 0 4 0; 144 | #X connect 0 0 6 0; 145 | #X connect 1 0 2 0; 146 | #X connect 1 0 3 0; 147 | #X connect 2 0 4 1; 148 | #X connect 3 0 6 1; 149 | #X connect 4 0 5 0; 150 | #X connect 6 0 5 0; 151 | #X restore 112 362 pd ampscale; 152 | #X obj 730 167 s \$0-linamp; 153 | #X obj 777 141 s \$0-dbrange; 154 | #X obj 559 12 loadbang; 155 | #X msg 435 179 resize \$1 \, bounds 0 1 \$1 0; 156 | #X obj 831 170 s \$0-amprange; 157 | #N canvas 0 22 450 300 freqscale 0; 158 | #X obj 101 45 inlet~; 159 | #X obj 206 74 r \$0-logfreq; 160 | #X obj 173 106 == 0; 161 | #N canvas 0 22 450 300 linfreq 0; 162 | #X obj 119 59 inlet~; 163 | #X obj 119 158 outlet~; 164 | #X obj 199 108 switch~; 165 | #X obj 199 59 inlet; 166 | #X connect 0 0 1 0; 167 | #X connect 3 0 2 0; 168 | #X restore 101 169 pd linfreq; 169 | #X obj 233 106 != 0; 170 | #X obj 101 218 outlet~; 171 | #N canvas 621 22 819 684 logfreq 0; 172 | #X obj 119 59 inlet~; 173 | #X obj 273 613 outlet~; 174 | #X obj 339 108 switch~; 175 | #X obj 339 59 inlet; 176 | #X obj 520 50 r \$0-table.size; 177 | #X obj 119 122 tabsend~ \$0-tab.linfreq; 178 | #X obj 515 204 table \$0-tab.linfreq 512; 179 | #X obj 520 123 s \$0-tab.linfreq; 180 | #X msg 520 102 resize \$1; 181 | #X obj 515 226 table \$0-tab.logscale 512; 182 | #N canvas 682 22 758 715 logscale 0; 183 | #X obj 121 42 inlet; 184 | #X obj 121 74 change; 185 | #X obj 261 164 s \$0-tab.logscale; 186 | #X msg 261 142 resize \$1; 187 | #X obj 117 312 until; 188 | #X obj 117 358 f 0; 189 | #X obj 147 359 + 1; 190 | #X msg 132 337 0; 191 | #X obj 122 100 t f f; 192 | #X obj 313 242 swap; 193 | #X obj 124 155 i; 194 | #X obj 124 180 t f f; 195 | #X obj 313 268 -; 196 | #X obj 313 323 until; 197 | #X obj 313 369 f 0; 198 | #X obj 343 370 + 1; 199 | #X msg 328 348 0; 200 | #X obj 313 400 t f f; 201 | #X obj 340 429 s \$0-logscale.index; 202 | #X obj 313 456 /; 203 | #X obj 313 517 * 21.8268; 204 | #X obj 313 586 *; 205 | #X obj 313 548 / 22050; 206 | #X obj 196 657 tabwrite \$0-tab.logscale; 207 | #X obj 337 627 r \$0-logscale.index; 208 | #X msg 193 362 119.766 \$1; 209 | #X obj 117 281 t f b f; 210 | #X obj 193 388 /; 211 | #X obj 117 393 t f f; 212 | #X obj 195 438 +; 213 | #X obj 117 426 + 1; 214 | #X obj 117 458 *; 215 | #X obj 117 515 mtof; 216 | #X obj 117 540 / 22050; 217 | #X obj 117 575 *; 218 | #X obj 313 293 t f b f; 219 | #X obj 168 472 s \$0-logscale.index; 220 | #X obj 117 488 + 17; 221 | #X obj 124 132 * 0.97; 222 | #X obj 313 485 expr pow($f1 \, .4); 223 | #X connect 0 0 1 0; 224 | #X connect 1 0 8 0; 225 | #X connect 3 0 2 0; 226 | #X connect 4 0 5 0; 227 | #X connect 5 0 6 0; 228 | #X connect 5 0 28 0; 229 | #X connect 6 0 5 1; 230 | #X connect 7 0 5 1; 231 | #X connect 8 0 38 0; 232 | #X connect 8 1 3 0; 233 | #X connect 8 1 9 1; 234 | #X connect 8 1 21 1; 235 | #X connect 8 1 34 1; 236 | #X connect 9 0 12 0; 237 | #X connect 9 1 12 1; 238 | #X connect 10 0 11 0; 239 | #X connect 11 0 26 0; 240 | #X connect 11 1 9 0; 241 | #X connect 12 0 29 1; 242 | #X connect 12 0 35 0; 243 | #X connect 13 0 14 0; 244 | #X connect 14 0 15 0; 245 | #X connect 14 0 17 0; 246 | #X connect 15 0 14 1; 247 | #X connect 16 0 14 1; 248 | #X connect 17 0 19 0; 249 | #X connect 17 1 18 0; 250 | #X connect 19 0 39 0; 251 | #X connect 20 0 22 0; 252 | #X connect 21 0 23 0; 253 | #X connect 22 0 21 0; 254 | #X connect 24 0 23 1; 255 | #X connect 25 0 27 0; 256 | #X connect 26 0 4 0; 257 | #X connect 26 1 7 0; 258 | #X connect 26 2 25 0; 259 | #X connect 27 0 31 1; 260 | #X connect 28 0 30 0; 261 | #X connect 28 1 29 0; 262 | #X connect 29 0 36 0; 263 | #X connect 30 0 31 0; 264 | #X connect 31 0 37 0; 265 | #X connect 32 0 33 0; 266 | #X connect 33 0 34 0; 267 | #X connect 34 0 23 0; 268 | #X connect 35 0 13 0; 269 | #X connect 35 1 16 0; 270 | #X connect 35 2 19 1; 271 | #X connect 37 0 32 0; 272 | #X connect 38 0 10 0; 273 | #X connect 39 0 20 0; 274 | #X restore 600 84 pd logscale; 275 | #X obj 379 246 * 2; 276 | #X obj 273 287 count~ 0 1024 1 1; 277 | #X obj 337 164 r \$0-full; 278 | #X obj 361 195 t b f; 279 | #X obj 316 247 + 1; 280 | #X obj 315 222 == 1; 281 | #X obj 273 367 *~ 1; 282 | #X obj 273 338 tabread~ \$0-tab.logscale; 283 | #X obj 273 477 tabread~ \$0-tab.linfreq; 284 | #X obj 273 417 expr~ int($v1) \; modf($v1); 285 | #X obj 355 538 tabread~ \$0-tab.linfreq; 286 | #X obj 355 516 +~ 1; 287 | #X obj 273 580 *~; 288 | #X obj 289 522 sig~ 1; 289 | #X obj 290 548 -~; 290 | #X obj 386 569 *~; 291 | #X connect 0 0 5 0; 292 | #X connect 3 0 2 0; 293 | #X connect 4 0 8 0; 294 | #X connect 4 0 10 0; 295 | #X connect 4 0 11 0; 296 | #X connect 8 0 7 0; 297 | #X connect 11 0 12 1; 298 | #X connect 12 0 18 0; 299 | #X connect 13 0 14 0; 300 | #X connect 13 0 16 0; 301 | #X connect 14 0 11 0; 302 | #X connect 14 1 11 1; 303 | #X connect 15 0 17 1; 304 | #X connect 16 0 15 0; 305 | #X connect 17 0 20 0; 306 | #X connect 18 0 17 0; 307 | #X connect 19 0 23 0; 308 | #X connect 20 0 19 0; 309 | #X connect 20 0 22 0; 310 | #X connect 20 1 25 1; 311 | #X connect 20 1 26 1; 312 | #X connect 21 0 26 0; 313 | #X connect 22 0 21 0; 314 | #X connect 23 0 1 0; 315 | #X connect 24 0 25 0; 316 | #X connect 25 0 23 1; 317 | #X connect 26 0 1 0; 318 | #X restore 201 169 pd logfreq; 319 | #X connect 0 0 3 0; 320 | #X connect 0 0 6 0; 321 | #X connect 1 0 2 0; 322 | #X connect 1 0 4 0; 323 | #X connect 2 0 3 1; 324 | #X connect 3 0 5 0; 325 | #X connect 4 0 6 1; 326 | #X connect 6 0 5 0; 327 | #X restore 112 442 pd freqscale; 328 | #X obj 461 154 s \$0-table.size; 329 | #X obj 879 143 s \$0-logfreq; 330 | #X obj 112 484 clip~ 0 1; 331 | #X obj 560 34 t b b; 332 | #X text 862 391 I don't know why \, but this needs to be done. I think 333 | switch~ throws the window out of sync \, and a little dynamic patching 334 | seems to fix it.; 335 | #X obj 108 186 fft~; 336 | #X obj 632 118 route plot refresh linamp dbrange amprange logfreq full 337 | ; 338 | #X msg 689 79 plot 1 \, refresh 100 \, linamp 0 \, dbrange -90 0 \, 339 | amprange 0 1 \, logfreq 0 \, full 0; 340 | #X obj 938 287 s \$0-full; 341 | #X obj 320 116 r \$0-full; 342 | #X obj 935 184 i; 343 | #X obj 933 210 clip 0 1; 344 | #X obj 939 264 + 1; 345 | #X obj 344 147 t b f; 346 | #X obj 936 235 == 0; 347 | #X obj 676 255 s \$0-check.table.size; 348 | #X obj 632 216 t f f; 349 | #X obj 551 255 t b f; 350 | #N canvas 0 22 450 300 (subpatch) 0; 351 | #X array \$0-spectrum 512 float 0; 352 | #X coords 0 1 512 0 300 140 2 0 1; 353 | #X restore 300 400 graph; 354 | #X obj 112 613 tabwrite~ \$0-spectrum; 355 | #X obj 437 550 cnv 5 5 5 empty empty 12000 0 4 0 10 -262144 -66577 356 | 0; 357 | #X obj 449 543 cnv 2 2 5 empty empty empty 0 4 0 10 -66577 -66577 0 358 | ; 359 | #X obj 339 550 cnv 5 5 5 empty empty 4000 0 4 0 10 -262144 -66577 0 360 | ; 361 | #X obj 349 543 cnv 2 2 5 empty empty empty 0 4 0 10 -66577 -66577 0 362 | ; 363 | #X obj 314 550 cnv 5 5 5 empty empty 2000 0 4 0 10 -262144 -66577 0 364 | ; 365 | #X obj 324 543 cnv 2 2 5 empty empty empty 0 4 0 10 -66577 -66577 0 366 | ; 367 | #X obj 364 550 cnv 5 5 5 empty empty 6000 0 4 0 10 -262144 -66577 0 368 | ; 369 | #X obj 374 543 cnv 2 2 5 empty empty empty 0 4 0 10 -66577 -66577 0 370 | ; 371 | #X obj 389 550 cnv 5 5 5 empty empty 8000 0 4 0 10 -262144 -66577 0 372 | ; 373 | #X obj 399 543 cnv 2 2 5 empty empty empty 0 4 0 10 -66577 -66577 0 374 | ; 375 | #X obj 412 550 cnv 5 5 5 empty empty 10000 0 4 0 10 -262144 -66577 376 | 0; 377 | #X obj 424 543 cnv 2 2 5 empty empty empty 0 4 0 10 -66577 -66577 0 378 | ; 379 | #X connect 0 0 6 0; 380 | #X connect 1 0 3 0; 381 | #X connect 2 0 3 0; 382 | #X connect 3 0 24 0; 383 | #X connect 4 0 45 0; 384 | #X connect 5 0 25 0; 385 | #X connect 6 0 44 0; 386 | #X connect 7 0 58 0; 387 | #X connect 8 0 17 0; 388 | #X connect 8 1 9 0; 389 | #X connect 9 0 10 0; 390 | #X connect 9 0 36 0; 391 | #X connect 9 0 39 0; 392 | #X connect 10 0 12 0; 393 | #X connect 10 0 22 0; 394 | #X connect 12 0 16 0; 395 | #X connect 13 0 14 0; 396 | #X connect 14 0 56 0; 397 | #X connect 15 0 16 0; 398 | #X connect 15 0 19 0; 399 | #X connect 15 0 28 0; 400 | #X connect 17 0 25 0; 401 | #X connect 19 0 21 0; 402 | #X connect 21 0 20 0; 403 | #X connect 22 0 23 0; 404 | #X connect 23 0 24 1; 405 | #X connect 24 0 32 0; 406 | #X connect 25 0 6 1; 407 | #X connect 26 0 27 0; 408 | #X connect 27 0 55 0; 409 | #X connect 29 0 7 0; 410 | #X connect 30 0 7 1; 411 | #X connect 32 0 38 0; 412 | #X connect 35 0 42 0; 413 | #X connect 36 0 11 0; 414 | #X connect 38 0 41 0; 415 | #X connect 41 0 58 0; 416 | #X connect 42 0 46 0; 417 | #X connect 42 1 8 0; 418 | #X connect 44 0 1 0; 419 | #X connect 44 0 1 1; 420 | #X connect 44 1 2 0; 421 | #X connect 44 1 2 1; 422 | #X connect 45 0 26 0; 423 | #X connect 45 1 31 0; 424 | #X connect 45 2 33 0; 425 | #X connect 45 3 34 0; 426 | #X connect 45 4 37 0; 427 | #X connect 45 5 40 0; 428 | #X connect 45 6 49 0; 429 | #X connect 46 0 45 0; 430 | #X connect 48 0 52 0; 431 | #X connect 49 0 50 0; 432 | #X connect 50 0 53 0; 433 | #X connect 51 0 47 0; 434 | #X connect 52 0 10 0; 435 | #X connect 52 1 10 1; 436 | #X connect 53 0 51 0; 437 | #X connect 55 0 15 0; 438 | #X connect 55 1 54 0; 439 | #X connect 56 0 15 0; 440 | #X connect 56 1 15 1; 441 | #X coords 0 -1 1 1 300 160 2 300 400; 442 | -------------------------------------------------------------------------------- /Karlsen-Ladder-24-db/Karlsen-Ladder-24-db.pd: -------------------------------------------------------------------------------- 1 | #N canvas 6 148 731 587 10; 2 | #X obj 116 214 *~ 2; 3 | #X obj 116 235 -~ 1; 4 | #X obj 116 193 phasor~; 5 | #X obj 116 172 mtof; 6 | #X obj 175 83 nbx 3 14 1.27 127 1 1 empty empty CutOff 0 -8 0 10 -262144 7 | -1 -1 59.6594 256; 8 | #X obj 272 83 nbx 3 14 0 800 0 1 empty empty Resonance 0 -8 0 10 -262144 9 | -1 -1 295 256; 10 | #X text 103 15 Karlsen 24 fast ladder; 11 | #N canvas 0 23 450 300 cpu 0; 12 | #X obj 180 174 cputime; 13 | #X obj 180 34 loadbang; 14 | #X obj 180 118 metro 1000; 15 | #X msg 180 62 1; 16 | #X floatatom 180 90 0 0 0 0 - - -; 17 | #X obj 180 146 t b b; 18 | #X obj 180 234 * 0.1; 19 | #X obj 180 203 int; 20 | #X text 225 90 <-- on/off; 21 | #X obj 180 258 outlet; 22 | #X connect 0 0 7 0; 23 | #X connect 1 0 3 0; 24 | #X connect 2 0 5 0; 25 | #X connect 3 0 4 0; 26 | #X connect 4 0 2 0; 27 | #X connect 5 0 0 0; 28 | #X connect 5 1 0 1; 29 | #X connect 6 0 9 0; 30 | #X connect 7 0 6 0; 31 | #X restore 8 11 pd cpu; 32 | #X floatatom 8 32 5 0 0 0 - - -; 33 | #X obj 369 102 s \$0-filter-os-factor; 34 | #N canvas 363 23 815 731 ladder-filter 0; 35 | #X obj 117 95 inlet~; 36 | #X obj 122 550 outlet~; 37 | #X obj 172 183 *~; 38 | #X obj 627 135 sig~; 39 | #X obj 19 447 +~; 40 | #X obj 19 126 +~; 41 | #X obj 627 99 * 0.01; 42 | #X obj 19 477 clip~ -1 1; 43 | #X obj 157 228 -~; 44 | #X obj 394 236 line~; 45 | #X obj 394 215 pack 0 100; 46 | #X obj 394 103 * 0.01; 47 | #X obj 394 361 clip~ 0.0001 0.8; 48 | #X obj 210 548 block~; 49 | #X obj 627 167 *~ 1; 50 | #X obj 394 269 *~ 1; 51 | #N canvas 0 23 478 300 oversampling 0; 52 | #N canvas 0 23 823 680 butterworthandallpassfiltering 0; 53 | #X obj 177 392 *~ 0.125; 54 | #X obj 177 411 rzero~ -1; 55 | #X obj 177 430 rzero~ -1; 56 | #X obj 177 449 rzero~ -1; 57 | #N canvas 0 22 954 605 buttercoef3 0; 58 | #X obj 63 51 inlet; 59 | #X floatatom 522 134 5 0 0 0 - - -; 60 | #X obj 101 153 t f f; 61 | #X msg 101 108 0.667; 62 | #X msg 80 283 0; 63 | #X obj 517 270 loadbang; 64 | #X obj 528 298 inlet; 65 | #X obj 517 322 f; 66 | #X obj 517 346 expr 1 - 2*$f1; 67 | #X obj 63 79 t b b b f; 68 | #X obj 205 228 * -1; 69 | #X obj 163 228 t f f; 70 | #X obj 63 391 f; 71 | #X obj 30 463 outlet; 72 | #X text 515 237 1 to normalize at Nyquist; 73 | #X text 59 30 characteristic frequency \, 0(DC) to 1(Nyquist); 74 | #X obj 283 470 outlet; 75 | #X obj 439 472 outlet; 76 | #X text 439 494 imag2a; 77 | #X text 283 492 real1; 78 | #X text 374 494 real2; 79 | #X obj 500 473 outlet; 80 | #X text 500 495 imag2b; 81 | #X obj 373 470 outlet; 82 | #X text 27 485 normalizer1; 83 | #X obj 173 470 outlet; 84 | #X text 170 492 normalizer2; 85 | #X obj 156 436 expr (($f2-$f1)*($f2-$f1)+$f3*$f3); 86 | #X obj 63 412 t f f; 87 | #X obj 101 176 expr (1 - $f2*$f2) / (1 + $f2*$f2 + 2*$f2*cos($f1)) 88 | ; 89 | #X obj 163 205 expr 2*$f2*sin($f1) / (1 + $f2*$f2 + 2*$f2*cos($f1)) 90 | ; 91 | #X obj 80 307 expr (1 - $f2*$f2) / (1 + $f2*$f2 + 2*$f2*cos($f1)); 92 | #X obj 522 89 clip 0 1; 93 | #X obj 522 111 expr tan($f1*1.57); 94 | #X obj 101 131 expr $f1*1.5708; 95 | #X text 515 251 0 to normalize at DC; 96 | #X text 119 4 3-pole (or zero) Butterworth filter coefficient calculator 97 | ; 98 | #X text 145 109 "theta" in units of pi/2; 99 | #X text 211 138 conjugate pair of pole/zero locations:; 100 | #X text 197 155 real part: (1-r*r)/(1+r*r-2rcos(th)); 101 | #X text 245 226 imaginary part: 2rsin(th)/(...); 102 | #X text 270 282 real-valued one \, theta=0; 103 | #X obj 30 439 expr abs($f1-$f2); 104 | #X connect 0 0 9 0; 105 | #X connect 1 0 29 1; 106 | #X connect 1 0 30 1; 107 | #X connect 1 0 31 1; 108 | #X connect 2 0 29 0; 109 | #X connect 2 1 30 0; 110 | #X connect 3 0 34 0; 111 | #X connect 4 0 31 0; 112 | #X connect 5 0 7 0; 113 | #X connect 6 0 7 0; 114 | #X connect 7 0 8 0; 115 | #X connect 8 0 12 1; 116 | #X connect 9 0 12 0; 117 | #X connect 9 1 4 0; 118 | #X connect 9 2 3 0; 119 | #X connect 9 3 32 0; 120 | #X connect 10 0 21 0; 121 | #X connect 11 0 17 0; 122 | #X connect 11 0 27 2; 123 | #X connect 11 1 10 0; 124 | #X connect 12 0 28 0; 125 | #X connect 27 0 25 0; 126 | #X connect 28 0 42 0; 127 | #X connect 28 1 27 0; 128 | #X connect 29 0 23 0; 129 | #X connect 29 0 27 1; 130 | #X connect 30 0 11 0; 131 | #X connect 31 0 16 0; 132 | #X connect 31 0 42 1; 133 | #X connect 32 0 33 0; 134 | #X connect 33 0 1 0; 135 | #X connect 34 0 2 0; 136 | #X connect 42 0 13 0; 137 | #X restore 267 260 pd buttercoef3; 138 | #X obj 267 343 nbx 14 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 139 | 10 -262144 -1 -1 0.574024 256; 140 | #X obj 267 327 nbx 14 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 141 | 10 -262144 -1 -1 -0.0920592 256; 142 | #X obj 267 311 nbx 14 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 143 | 10 -262144 -1 -1 -0.0691335 256; 144 | #X obj 267 295 nbx 14 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 145 | 10 -262144 -1 -1 1.5221 256; 146 | #X obj 267 279 nbx 14 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 147 | 10 -262144 -1 -1 1.06913 256; 148 | #X obj 267 359 nbx 14 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 149 | 10 -262144 -1 -1 -0.574024 256; 150 | #X text 399 162 Here is how to calculate the filter coefficients:; 151 | #X text 167 293 A; 152 | #X text 257 294 B; 153 | #X text 167 332 B; 154 | #X text 257 311 C; 155 | #X text 167 312 C; 156 | #X text 257 279 A; 157 | #X text 257 326 D; 158 | #X text 257 343 E; 159 | #X text 149 350 D \, E; 160 | #X text 149 373 D \, F; 161 | #X text 257 359 F; 162 | #X text 399 214 << Divide by nyquist frequency(half of samplerate) 163 | of this subpatch \, which is 22050*16 because of the 16-times oversampling. 164 | , f 65; 165 | #X text 399 242 << Set X times oversampling; 166 | #X obj 177 293 *~; 167 | #X obj 177 312 rpole~; 168 | #X obj 177 331 *~; 169 | #X obj 177 373 cpole~; 170 | #X obj 177 350 cpole~; 171 | #X text 399 180 << Set desired cutoff frequency for the oversampling 172 | (push to reload too); 173 | #X obj 267 219 / 22050; 174 | #X msg 267 182 12000; 175 | #X text 264 379 http://write.flossmanuals.net/pure-data/antialiasing/ 176 | ; 177 | #X text 399 278 A Normalizer for cpole~; 178 | #X text 399 294 B Normalizer for rpole~; 179 | #X text 399 311 C Coef for rpole~; 180 | #X text 399 327 D Coef for cpole~ real part; 181 | #X text 398 344 E (Same \, other cpole~); 182 | #X text 398 359 F Coef for cpole~ imag part; 183 | #X obj 267 239 /; 184 | #X msg 267 161 set \$1; 185 | #X obj 177 471 outlet~; 186 | #X obj 202 165 inlet; 187 | #X obj 282 82 inlet; 188 | #X obj 177 205 inlet~; 189 | #X text 264 15 These objects make a 3-pole \, 3-zero Butterworth low-pass 190 | filter with cutoff at 15kHz (assuming 16x44100 sample rate). The filter 191 | was designed using the "buttercoef3" abstraction introduced in patch 192 | H13.butterworth.pd in this series.; 193 | #X obj 343 145 inlet; 194 | #X obj 267 424 samplerate~; 195 | #X obj 267 404 t b; 196 | #X obj 267 446 outlet; 197 | #X connect 0 0 1 0; 198 | #X connect 1 0 2 0; 199 | #X connect 2 0 3 0; 200 | #X connect 3 0 42 0; 201 | #X connect 4 0 9 0; 202 | #X connect 4 1 8 0; 203 | #X connect 4 2 7 0; 204 | #X connect 4 3 6 0; 205 | #X connect 4 4 5 0; 206 | #X connect 4 5 10 0; 207 | #X connect 5 0 29 3; 208 | #X connect 6 0 29 2; 209 | #X connect 6 0 28 2; 210 | #X connect 7 0 26 1; 211 | #X connect 8 0 27 1; 212 | #X connect 9 0 25 1; 213 | #X connect 10 0 28 3; 214 | #X connect 25 0 26 0; 215 | #X connect 26 0 27 0; 216 | #X connect 27 0 29 0; 217 | #X connect 28 0 0 0; 218 | #X connect 29 0 28 0; 219 | #X connect 29 1 28 1; 220 | #X connect 31 0 40 0; 221 | #X connect 32 0 31 0; 222 | #X connect 40 0 4 0; 223 | #X connect 40 0 49 0; 224 | #X connect 41 0 32 0; 225 | #X connect 43 0 32 0; 226 | #X connect 44 0 40 1; 227 | #X connect 45 0 25 0; 228 | #X connect 47 0 41 0; 229 | #X connect 48 0 50 0; 230 | #X connect 49 0 48 0; 231 | #X restore 88 205 pd butterworthandallpassfiltering; 232 | #N canvas 651 266 629 475 OSSelector 0; 233 | #X obj 201 85 sel 0 1 2 3; 234 | #X obj 201 3 inlet; 235 | #X obj 287 187 outlet; 236 | #X msg 287 266 set 1 1 1; 237 | #X obj 287 221 t f b; 238 | #X obj 248 238 del 1; 239 | #X obj 297 288 outlet; 240 | #X obj 248 318 outlet; 241 | #X text 21 95 Remember to change third argument to same as " X times 242 | oversampling " !!!, f 18; 243 | #X text 22 15 block~ 1024 1 16; 244 | #X text 22 31 block~ 512 1 8; 245 | #X text 22 47 block~ 256 1 4; 246 | #X text 22 62 block~ 128 1 2; 247 | #X text 22 76 block~ 64 1 1; 248 | #X text 21 155 I think you also need to change 64 yo something else 249 | look above for inspiration., f 18; 250 | #X msg 287 244 set set 1 1 \$1; 251 | #X msg 287 102 1; 252 | #X msg 287 122 2; 253 | #X msg 287 142 4; 254 | #X msg 287 162 8; 255 | #X connect 0 0 16 0; 256 | #X connect 0 1 17 0; 257 | #X connect 0 2 18 0; 258 | #X connect 0 3 19 0; 259 | #X connect 1 0 0 0; 260 | #X connect 3 0 6 0; 261 | #X connect 4 0 15 0; 262 | #X connect 4 1 5 0; 263 | #X connect 5 0 3 0; 264 | #X connect 5 0 7 0; 265 | #X connect 15 0 3 0; 266 | #X connect 16 0 2 0; 267 | #X connect 16 0 4 0; 268 | #X connect 17 0 2 0; 269 | #X connect 17 0 4 0; 270 | #X connect 18 0 2 0; 271 | #X connect 18 0 4 0; 272 | #X connect 19 0 2 0; 273 | #X connect 19 0 4 0; 274 | #X restore 153 143 pd OSSelector; 275 | #X obj 283 183 nbx 7 15 0 1e+37 0 1 empty empty Freq 44 8 0 10 -262144 276 | -1 -1 12000 256; 277 | #X floatatom 201 91 5 0 0 0 - - -; 278 | #X obj 394 159 outlet; 279 | #X obj 88 168 inlet~; 280 | #X obj 88 226 outlet~; 281 | #X obj 186 110 outlet; 282 | #N canvas 0 23 450 300 oversample-multiplier 0; 283 | #X obj 189 60 inlet; 284 | #X obj 189 81 sel 0 1 2 3; 285 | #X msg 189 102 1; 286 | #X obj 178 217 outlet; 287 | #X msg 204 122 0.5; 288 | #X msg 220 142 0.25; 289 | #X msg 236 162 0.125; 290 | #X connect 0 0 1 0; 291 | #X connect 1 0 2 0; 292 | #X connect 1 1 4 0; 293 | #X connect 1 2 5 0; 294 | #X connect 1 3 6 0; 295 | #X connect 2 0 3 0; 296 | #X connect 4 0 3 0; 297 | #X connect 5 0 3 0; 298 | #X connect 6 0 3 0; 299 | #X restore 186 68 pd oversample-multiplier; 300 | #X text 85 255 J07.oversampling; 301 | #X obj 283 264 outlet; 302 | #X obj 153 30 r \$0-filter-os-factor; 303 | #X connect 0 0 6 0; 304 | #X connect 0 1 10 0; 305 | #X connect 1 0 0 1; 306 | #X connect 1 1 0 2; 307 | #X connect 1 2 4 0; 308 | #X connect 2 0 0 3; 309 | #X connect 5 0 0 0; 310 | #X connect 8 0 3 0; 311 | #X connect 8 0 7 0; 312 | #X connect 11 0 8 0; 313 | #X connect 11 0 1 0; 314 | #X restore 122 525 pd oversampling; 315 | #X text 254 549 Block for oversampling; 316 | #X floatatom 180 578 10 0 0 0 New_Samplerate - -; 317 | #X floatatom 199 502 5 0 0 0 - - -; 318 | #X obj 179 481 r \$0-s-29-param; 319 | #X text 115 481 Filtermode; 320 | #X obj 394 40 r \$0-s-35-param; 321 | #X floatatom 404 61 5 0 0 0 - - -; 322 | #X text 354 40 Cutoff; 323 | #X floatatom 637 79 5 0 0 0 - - -; 324 | #X obj 627 58 r \$0-s-36-param; 325 | #X text 575 58 Emphasis; 326 | #N canvas 515 366 396 291 spigot~ 0; 327 | #X obj 52 40 inlet~; 328 | #X obj 332 62 inlet; 329 | #X obj 146 185 outlet~; 330 | #X obj 52 102 *~; 331 | #X obj 67 78 == 0; 332 | #X obj 112 40 inlet~; 333 | #X obj 112 102 *~; 334 | #X obj 127 78 == 1; 335 | #X connect 0 0 3 0; 336 | #X connect 1 0 4 0; 337 | #X connect 1 0 7 0; 338 | #X connect 3 0 2 0; 339 | #X connect 4 0 3 1; 340 | #X connect 5 0 6 0; 341 | #X connect 6 0 2 0; 342 | #X connect 7 0 6 1; 343 | #X restore 122 500 pd spigot~; 344 | #N canvas 0 23 450 300 hipass 0; 345 | #X obj 109 95 -~; 346 | #X obj 234 95 *~; 347 | #X obj 109 118 -~; 348 | #X text 261 97 Res; 349 | #X text 189 94 Lopass; 350 | #X text 133 95 Lopass; 351 | #X text 93 95 In; 352 | #X obj 109 57 inlet~; 353 | #X obj 179 57 inlet~ lopass; 354 | #X obj 269 57 inlet~ reso; 355 | #X obj 109 179 outlet~; 356 | #X obj 109 139 *~ 0.25; 357 | #X connect 0 0 2 0; 358 | #X connect 1 0 2 1; 359 | #X connect 2 0 11 0; 360 | #X connect 7 0 0 0; 361 | #X connect 8 0 0 1; 362 | #X connect 8 0 1 0; 363 | #X connect 9 0 1 1; 364 | #X connect 11 0 10 0; 365 | #X restore 117 456 pd hipass; 366 | #X obj 627 440 +~; 367 | #X floatatom 404 124 5 0 0 0 - - -; 368 | #X obj 394 84 * 0.5; 369 | #X obj 172 142 delwrite~ \$0-res 0; 370 | #X obj 172 162 delread~ \$0-res; 371 | #N canvas 40 379 450 300 feed-clip 0; 372 | #X obj 116 90 clip~ -1 1; 373 | #N canvas 515 366 396 291 muxerrrrrrrr~ 0; 374 | #X obj 52 40 inlet~; 375 | #X obj 332 62 inlet; 376 | #X obj 146 185 outlet~; 377 | #X obj 52 102 *~; 378 | #X obj 67 78 == 0; 379 | #X obj 112 40 inlet~; 380 | #X obj 112 102 *~; 381 | #X obj 172 40 inlet~; 382 | #X obj 172 102 *~; 383 | #X obj 127 78 == 1; 384 | #X obj 187 78 == 2; 385 | #X connect 0 0 3 0; 386 | #X connect 1 0 4 0; 387 | #X connect 1 0 9 0; 388 | #X connect 1 0 10 0; 389 | #X connect 3 0 2 0; 390 | #X connect 4 0 3 1; 391 | #X connect 5 0 6 0; 392 | #X connect 6 0 2 0; 393 | #X connect 7 0 8 0; 394 | #X connect 8 0 2 0; 395 | #X connect 9 0 6 1; 396 | #X connect 10 0 8 1; 397 | #X restore 85 142 pd muxerrrrrrrr~; 398 | #X obj 147 118 tanh~; 399 | #X obj 247 126 r feedclip; 400 | #X obj 85 64 inlet~; 401 | #X obj 85 163 outlet~; 402 | #X connect 0 0 1 1; 403 | #X connect 1 0 5 0; 404 | #X connect 2 0 1 2; 405 | #X connect 3 0 1 3; 406 | #X connect 4 0 1 0; 407 | #X connect 4 0 2 0; 408 | #X connect 4 0 0 0; 409 | #X restore 172 207 pd feed-clip; 410 | #X obj 142 431 +~; 411 | #N canvas 0 23 463 495 4X1-pole 0; 412 | #X obj 120 85 inlet~; 413 | #X obj 303 85 inlet~; 414 | #X obj 120 353 outlet~; 415 | #X obj 120 118 fexpr~ (($x1 - $y1)* $x2) + $y1; 416 | #X obj 120 148 fexpr~ (($x1 - $y1)* $x2) + $y1; 417 | #X obj 120 178 fexpr~ (($x1 - $y1)* $x2) + $y1; 418 | #X obj 120 208 fexpr~ (($x1 - $y1)* $x2) + $y1; 419 | #X connect 0 0 3 0; 420 | #X connect 1 0 3 1; 421 | #X connect 1 0 6 1; 422 | #X connect 1 0 5 1; 423 | #X connect 1 0 4 1; 424 | #X connect 3 0 4 0; 425 | #X connect 4 0 5 0; 426 | #X connect 5 0 6 0; 427 | #X connect 6 0 2 0; 428 | #X restore 157 377 pd 4X1-pole; 429 | #X connect 0 0 8 0; 430 | #X connect 0 0 29 0; 431 | #X connect 2 0 35 0; 432 | #X connect 3 0 14 0; 433 | #X connect 3 0 30 0; 434 | #X connect 4 0 7 0; 435 | #X connect 5 0 33 0; 436 | #X connect 6 0 3 0; 437 | #X connect 7 0 5 0; 438 | #X connect 8 0 37 0; 439 | #X connect 9 0 15 0; 440 | #X connect 10 0 9 0; 441 | #X connect 11 0 10 0; 442 | #X connect 11 0 31 0; 443 | #X connect 12 0 37 1; 444 | #X connect 14 0 2 1; 445 | #X connect 15 0 12 0; 446 | #X connect 16 0 1 0; 447 | #X connect 16 2 18 0; 448 | #X connect 16 3 13 0; 449 | #X connect 20 0 19 0; 450 | #X connect 20 0 28 2; 451 | #X connect 22 0 23 0; 452 | #X connect 22 0 32 0; 453 | #X connect 26 0 25 0; 454 | #X connect 26 0 6 0; 455 | #X connect 28 0 16 0; 456 | #X connect 29 0 28 1; 457 | #X connect 30 0 29 2; 458 | #X connect 32 0 11 0; 459 | #X connect 34 0 2 0; 460 | #X connect 35 0 8 1; 461 | #X connect 36 0 4 0; 462 | #X connect 36 0 28 0; 463 | #X connect 36 0 29 1; 464 | #X connect 37 0 36 1; 465 | #X restore 116 320 pd ladder-filter; 466 | #X obj 175 102 s \$0-s-35-param; 467 | #X obj 272 102 s \$0-s-36-param; 468 | #X obj 369 83 hradio 15 1 1 4 empty empty empty 0 -8 0 10 -262144 -1 469 | -1 0; 470 | #X obj 116 147 nbx 3 14 0 127 0 1 empty empty empty 0 -8 0 10 -262144 471 | -1 -1 45 256; 472 | #X obj 503 102 s \$0-s-29-param; 473 | #X obj 503 83 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 474 | 1; 475 | #X obj 116 353 *~ 0.5; 476 | #X text 520 83 Lp/Hp; 477 | #X obj 108 52 vradio 15 1 1 3 empty empty empty 0 -8 0 10 -262144 -1 478 | -1 0; 479 | #X obj 108 102 s feedclip; 480 | #X text 86 53 Non; 481 | #X text 74 66 Clip~; 482 | #X text 74 82 Tanh~; 483 | #X obj 105 382 dac~; 484 | #X obj 278 336 spectrum2; 485 | #X connect 0 0 1 0; 486 | #X connect 1 0 10 0; 487 | #X connect 2 0 0 0; 488 | #X connect 3 0 2 0; 489 | #X connect 4 0 11 0; 490 | #X connect 5 0 12 0; 491 | #X connect 7 0 8 0; 492 | #X connect 10 0 17 0; 493 | #X connect 10 0 25 0; 494 | #X connect 13 0 9 0; 495 | #X connect 14 0 3 0; 496 | #X connect 16 0 15 0; 497 | #X connect 17 0 24 0; 498 | #X connect 17 0 24 1; 499 | #X connect 19 0 20 0; 500 | -------------------------------------------------------------------------------- /Granular21/main.pd: -------------------------------------------------------------------------------- 1 | #N canvas 396 23 795 547 10; 2 | #X obj 11 18 hsl 195 8 0 1 0 0 empty r-grain-1 empty -2 -8 0 10 -262144 3 | -1 -1 327 1; 4 | #X obj 675 111 bng 14 250 50 0 empty empty Ph 3 8 0 8 -262144 -1 -1 5 | ; 6 | #X obj 744 111 nbx 4 14 0 100 0 1 empty empty Ph 26 8 0 8 -262144 -1 7 | -1 0 256; 8 | #N canvas 14 86 447 598 phasor-main 0; 9 | #X obj 97 369 phasor~; 10 | #X floatatom 248 84 5 0 0 0 - - -; 11 | #X obj 201 13 r speed-in-hz; 12 | #X obj 201 52 t b f; 13 | #X obj 136 350 r retrig; 14 | #X text 148 369 <<< Use same phasor for all grains; 15 | #X obj 97 490 *~; 16 | #X obj 253 420 nbx 4 14 0 100 0 1 empty empty empty 0 -8 0 10 -262144 17 | -1 -1 0 256; 18 | #X obj 253 436 * 0.01; 19 | #X obj 253 474 vline~; 20 | #X obj 253 455 pack 0 500; 21 | #X text 304 419 Main Phasor multiplyer; 22 | #X obj 97 52 inlet; 23 | #X obj 253 397 inlet; 24 | #N canvas 0 23 450 300 sine/cos 0; 25 | #X obj 127 53 inlet~; 26 | #X obj 128 123 cos~; 27 | #X obj 127 102 wrap~; 28 | #X obj 128 149 *~ 0.5; 29 | #X obj 128 171 +~ 0.5; 30 | #X obj 128 193 outlet~; 31 | #X obj 127 81 +~ 0; 32 | #X connect 0 0 6 0; 33 | #X connect 1 0 3 0; 34 | #X connect 2 0 1 0; 35 | #X connect 3 0 4 0; 36 | #X connect 4 0 5 0; 37 | #X connect 6 0 2 0; 38 | #X restore 125 406 pd sine/cos; 39 | #X obj 51 388 inlet; 40 | #X floatatom 51 410 5 0 0 0 - - -; 41 | #X obj 97 539 s~ phasor-main; 42 | #X obj 377 465 * 0.01; 43 | #X obj 377 503 vline~; 44 | #X text 325 464 Position; 45 | #X obj 97 519 +~; 46 | #X obj 377 446 inlet; 47 | #X obj 173 68 +; 48 | #X obj 201 33 ftom; 49 | #X obj 173 90 mtof; 50 | #X floatatom 248 106 10 0 0 0 - - -; 51 | #X obj 134 294 * -1; 52 | #X floatatom 144 312 5 0 0 0 - - -; 53 | #X obj 134 271 sel 0 1; 54 | #X obj 97 287 f; 55 | #X obj 134 252 t f f; 56 | #X obj 193 236 inlet reverse; 57 | #X obj 97 71 != -64; 58 | #X obj 97 90 t f f; 59 | #X obj 173 125 f; 60 | #X obj 97 109 sel 0 1; 61 | #X msg 97 128 0; 62 | #X text 51 286 Reverse; 63 | #X text 90 145 Stop = -64; 64 | #X obj 377 484 pack 0 10; 65 | #N canvas 515 366 396 291 spigot~ 0; 66 | #X obj 52 40 inlet~; 67 | #X obj 332 62 inlet; 68 | #X obj 146 185 outlet~; 69 | #X obj 52 102 *~; 70 | #X obj 67 78 == 0; 71 | #X obj 112 40 inlet~; 72 | #X obj 112 102 *~; 73 | #X obj 127 78 == 1; 74 | #X connect 0 0 3 0; 75 | #X connect 1 0 4 0; 76 | #X connect 1 0 7 0; 77 | #X connect 3 0 2 0; 78 | #X connect 4 0 3 1; 79 | #X connect 5 0 6 0; 80 | #X connect 6 0 2 0; 81 | #X connect 7 0 6 1; 82 | #X restore 97 458 pd spigot~; 83 | #N canvas 0 23 450 300 mux-spigot 0; 84 | #X obj 126 82 inlet; 85 | #X obj 126 143 spigot; 86 | #X obj 159 119 == 0; 87 | #X obj 206 82 inlet; 88 | #X obj 206 143 spigot; 89 | #X obj 239 119 == 1; 90 | #X obj 276 103 inlet; 91 | #X obj 179 189 outlet; 92 | #X connect 0 0 1 0; 93 | #X connect 1 0 7 0; 94 | #X connect 2 0 1 1; 95 | #X connect 3 0 4 0; 96 | #X connect 4 0 7 0; 97 | #X connect 5 0 4 1; 98 | #X connect 6 0 5 0; 99 | #X connect 6 0 2 0; 100 | #X restore 97 331 pd mux-spigot; 101 | #X floatatom 193 257 5 0 0 0 - - -; 102 | #N canvas 0 23 450 300 mux-spigot 0; 103 | #X obj 126 82 inlet; 104 | #X obj 126 143 spigot; 105 | #X obj 159 119 == 0; 106 | #X obj 206 82 inlet; 107 | #X obj 206 143 spigot; 108 | #X obj 239 119 == 1; 109 | #X obj 276 103 inlet; 110 | #X obj 179 189 outlet; 111 | #X connect 0 0 1 0; 112 | #X connect 1 0 7 0; 113 | #X connect 2 0 1 1; 114 | #X connect 3 0 4 0; 115 | #X connect 4 0 7 0; 116 | #X connect 5 0 4 1; 117 | #X connect 6 0 5 0; 118 | #X connect 6 0 2 0; 119 | #X restore 97 188 pd mux-spigot; 120 | #X connect 0 0 14 0; 121 | #X connect 0 0 41 0; 122 | #X connect 2 0 24 0; 123 | #X connect 3 0 23 0; 124 | #X connect 3 1 23 1; 125 | #X connect 4 0 0 1; 126 | #X connect 6 0 21 0; 127 | #X connect 7 0 8 0; 128 | #X connect 8 0 10 0; 129 | #X connect 9 0 6 1; 130 | #X connect 10 0 9 0; 131 | #X connect 12 0 23 0; 132 | #X connect 12 0 33 0; 133 | #X connect 13 0 8 0; 134 | #X connect 14 0 41 1; 135 | #X connect 15 0 16 0; 136 | #X connect 15 0 41 2; 137 | #X connect 18 0 40 0; 138 | #X connect 19 0 21 1; 139 | #X connect 21 0 17 0; 140 | #X connect 22 0 18 0; 141 | #X connect 23 0 25 0; 142 | #X connect 23 0 1 0; 143 | #X connect 24 0 3 0; 144 | #X connect 25 0 26 0; 145 | #X connect 25 0 35 0; 146 | #X connect 27 0 28 0; 147 | #X connect 27 0 42 1; 148 | #X connect 29 0 30 0; 149 | #X connect 29 1 27 0; 150 | #X connect 30 0 42 0; 151 | #X connect 31 0 29 0; 152 | #X connect 31 1 42 2; 153 | #X connect 32 0 31 0; 154 | #X connect 32 0 43 0; 155 | #X connect 33 0 34 0; 156 | #X connect 34 0 36 0; 157 | #X connect 34 1 44 2; 158 | #X connect 35 0 44 1; 159 | #X connect 36 0 37 0; 160 | #X connect 36 1 35 0; 161 | #X connect 37 0 44 0; 162 | #X connect 40 0 19 0; 163 | #X connect 41 0 6 0; 164 | #X connect 42 0 0 0; 165 | #X connect 44 0 27 0; 166 | #X connect 44 0 30 0; 167 | #X restore 362 122 pd phasor-main; 168 | #X obj 462 108 nbx 4 14 -64 128 0 1 empty empty Speed 0 -8 0 10 -262144 169 | -1 -1 0 256; 170 | #X obj 509 108 nbx 4 14 0 100 0 1 empty empty Multiply 0 -8 0 10 -262144 171 | -1 -1 100 256; 172 | #N canvas 0 23 450 300 phase-rst 0; 173 | #X obj 133 79 t b; 174 | #X obj 133 130 s retrig; 175 | #X msg 133 111 0; 176 | #X msg 167 94 set \$1; 177 | #X obj 167 75 * 0.01; 178 | #X obj 216 94 loadbang; 179 | #X obj 133 22 inlet; 180 | #X obj 167 43 inlet; 181 | #X connect 0 0 2 0; 182 | #X connect 2 0 1 0; 183 | #X connect 3 0 2 0; 184 | #X connect 4 0 3 0; 185 | #X connect 5 0 2 0; 186 | #X connect 6 0 0 0; 187 | #X connect 7 0 4 0; 188 | #X restore 675 127 pd phase-rst; 189 | #N canvas 0 22 450 300 select-wave 0; 190 | #X obj 100 100 hradio 14 1 1 2 empty empty Saw 2 8 0 10 -262144 -261234 191 | -1 0; 192 | #X obj 100 119 outlet; 193 | #N canvas 0 22 450 300 select 0; 194 | #X obj 126 67 inlet; 195 | #X obj 126 89 sel 0 1; 196 | #X obj 126 156 outlet; 197 | #X msg 126 111 label Saw; 198 | #X msg 145 133 label Sin; 199 | #X connect 0 0 1 0; 200 | #X connect 1 0 3 0; 201 | #X connect 1 1 4 0; 202 | #X connect 3 0 2 0; 203 | #X connect 4 0 2 0; 204 | #X restore 100 73 pd select; 205 | #X connect 0 0 1 0; 206 | #X connect 0 0 2 0; 207 | #X connect 2 0 0 0; 208 | #X coords 0 -1 1 1 28 14 2 100 100; 209 | #X restore 431 108 pd select-wave; 210 | #X obj 560 108 nbx 4 14 0 100 0 1 empty empty Phase 0 -8 0 10 -262144 211 | -1 -1 9 256; 212 | #X msg 462 72 0; 213 | #X obj 608 108 tgl 14 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 214 | 1; 215 | #X obj 362 228 s note-pitch; 216 | #X obj 11 26 hsl 195 8 0 1 0 0 empty r-grain-2 empty -2 -8 0 10 -262144 217 | -1 -1 297 1; 218 | #X obj 572 149 nbx 3 14 0 100 0 1 empty empty empty 0 -8 0 10 -262144 219 | -1 -1 0 256; 220 | #X obj 572 166 s random-position; 221 | #X obj 11 34 hsl 195 8 0 1 0 0 empty r-grain-3 empty -2 -8 0 10 -262144 222 | -1 -1 310 1; 223 | #X obj 11 42 hsl 195 8 0 1 0 0 empty r-grain-4 empty -2 -8 0 10 -262144 224 | -1 -1 296 1; 225 | #X obj 11 50 hsl 195 8 0 1 0 0 empty r-grain-5 empty -2 -8 0 10 -262144 226 | -1 -1 289 1; 227 | #X obj 11 58 hsl 195 8 0 1 0 0 empty r-grain-6 empty -2 -8 0 10 -262144 228 | -1 -1 292 1; 229 | #X obj 11 66 hsl 195 8 0 1 0 0 empty r-grain-7 empty -2 -8 0 10 -262144 230 | -1 -1 305 1; 231 | #X obj 11 74 hsl 195 8 0 1 0 0 empty r-grain-8 empty -2 -8 0 10 -262144 232 | -1 -1 291 1; 233 | #X obj 11 82 hsl 195 8 0 1 0 0 empty r-grain-9 empty -2 -8 0 10 -262144 234 | -1 -1 318 1; 235 | #X obj 11 90 hsl 195 8 0 1 0 0 empty r-grain-10 empty -2 -8 0 10 -262144 236 | -1 -1 292 1; 237 | #X obj 362 166 s grain-on; 238 | #X obj 11 98 hsl 195 8 0 1 0 0 empty r-grain-11 empty -2 -8 0 10 -262144 239 | -1 -1 306 1; 240 | #X obj 11 106 hsl 195 8 0 1 0 0 empty r-grain-12 empty -2 -8 0 10 -262144 241 | -1 -1 326 1; 242 | #X obj 11 114 hsl 195 8 0 1 0 0 empty r-grain-13 empty -2 -8 0 10 -262144 243 | -1 -1 317 1; 244 | #X obj 11 122 hsl 195 8 0 1 0 0 empty r-grain-14 empty -2 -8 0 10 -262144 245 | -1 -1 331 1; 246 | #X obj 11 130 hsl 195 8 0 1 0 0 empty r-grain-15 empty -2 -8 0 10 -262144 247 | -1 -1 304 1; 248 | #X obj 11 138 hsl 195 8 0 1 0 0 empty r-grain-16 empty -2 -8 0 10 -262144 249 | -1 -1 296 1; 250 | #X obj 362 150 nbx 3 14 1 64 0 1 empty empty empty 0 -8 0 10 -262144 251 | -1 -1 64 256; 252 | #X obj 362 194 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 253 | -262144 -1 -1 -64 256; 254 | #X obj 608 127 s reverse; 255 | #X obj 11 146 hsl 195 8 0 1 0 0 empty r-grain-17 empty -2 -8 0 10 -262144 256 | -1 -1 331 1; 257 | #X obj 11 154 hsl 195 8 0 1 0 0 empty r-grain-18 empty -2 -8 0 10 -262144 258 | -1 -1 309 1; 259 | #X obj 11 162 hsl 195 8 0 1 0 0 empty r-grain-19 empty -2 -8 0 10 -262144 260 | -1 -1 305 1; 261 | #X obj 11 170 hsl 195 8 0 1 0 0 empty r-grain-20 empty -2 -8 0 10 -262144 262 | -1 -1 308 1; 263 | #X obj 11 178 hsl 195 8 0 1 0 0 empty r-grain-21 empty -2 -8 0 10 -262144 264 | -1 -1 333 1; 265 | #X obj 11 186 hsl 195 8 0 1 0 0 empty r-grain-22 empty -2 -8 0 10 -262144 266 | -1 -1 334 1; 267 | #X obj 11 194 hsl 195 8 0 1 0 0 empty r-grain-23 empty -2 -8 0 10 -262144 268 | -1 -1 322 1; 269 | #X obj 11 202 hsl 195 8 0 1 0 0 empty r-grain-24 empty -2 -8 0 10 -262144 270 | -1 -1 328 1; 271 | #X obj 11 210 hsl 195 8 0 1 0 0 empty r-grain-25 empty -2 -8 0 10 -262144 272 | -1 -1 334 1; 273 | #X obj 11 218 hsl 195 8 0 1 0 0 empty r-grain-26 empty -2 -8 0 10 -262144 274 | -1 -1 330 1; 275 | #X obj 11 226 hsl 195 8 0 1 0 0 empty r-grain-27 empty -2 -8 0 10 -262144 276 | -1 -1 286 1; 277 | #X obj 11 234 hsl 195 8 0 1 0 0 empty r-grain-28 empty -2 -8 0 10 -262144 278 | -1 -1 308 1; 279 | #X obj 11 242 hsl 195 8 0 1 0 0 empty r-grain-29 empty -2 -8 0 10 -262144 280 | -1 -1 302 1; 281 | #X obj 11 250 hsl 195 8 0 1 0 0 empty r-grain-30 empty -2 -8 0 10 -262144 282 | -1 -1 326 1; 283 | #X obj 11 258 hsl 195 8 0 1 0 0 empty r-grain-31 empty -2 -8 0 10 -262144 284 | -1 -1 291 1; 285 | #X obj 11 266 hsl 195 8 0 1 0 0 empty r-grain-32 empty -2 -8 0 10 -262144 286 | -1 -1 293 1; 287 | #X obj 428 150 hradio 14 1 1 2 empty empty empty 0 -8 0 10 -262144 288 | -1 -1 0; 289 | #X obj 428 166 s saw/sine; 290 | #X obj 494 166 s grain-size; 291 | #X obj 494 150 nbx 3 14 1 2048 0 1 empty empty empty 0 -8 0 10 -262144 292 | -1 -1 25 256; 293 | #X obj 11 274 hsl 195 8 0 1 0 0 empty r-grain-33 empty -2 -8 0 10 -262144 294 | -1 -1 308 1; 295 | #X obj 11 282 hsl 195 8 0 1 0 0 empty r-grain-34 empty -2 -8 0 10 -262144 296 | -1 -1 322 1; 297 | #X obj 11 290 hsl 195 8 0 1 0 0 empty r-grain-35 empty -2 -8 0 10 -262144 298 | -1 -1 321 1; 299 | #X obj 11 298 hsl 195 8 0 1 0 0 empty r-grain-36 empty -2 -8 0 10 -262144 300 | -1 -1 287 1; 301 | #X obj 11 306 hsl 195 8 0 1 0 0 empty r-grain-37 empty -2 -8 0 10 -262144 302 | -1 -1 335 1; 303 | #X obj 11 314 hsl 195 8 0 1 0 0 empty r-grain-38 empty -2 -8 0 10 -262144 304 | -1 -1 288 1; 305 | #X obj 11 322 hsl 195 8 0 1 0 0 empty r-grain-39 empty -2 -8 0 10 -262144 306 | -1 -1 292 1; 307 | #X obj 11 330 hsl 195 8 0 1 0 0 empty r-grain-40 empty -2 -8 0 10 -262144 308 | -1 -1 301 1; 309 | #X obj 11 338 hsl 195 8 0 1 0 0 empty r-grain-41 empty -2 -8 0 10 -262144 310 | -1 -1 314 1; 311 | #X obj 11 346 hsl 195 8 0 1 0 0 empty r-grain-42 empty -2 -8 0 10 -262144 312 | -1 -1 295 1; 313 | #X obj 11 354 hsl 195 8 0 1 0 0 empty r-grain-43 empty -2 -8 0 10 -262144 314 | -1 -1 323 1; 315 | #X obj 11 362 hsl 195 8 0 1 0 0 empty r-grain-44 empty -2 -8 0 10 -262144 316 | -1 -1 305 1; 317 | #X obj 11 370 hsl 195 8 0 1 0 0 empty r-grain-45 empty -2 -8 0 10 -262144 318 | -1 -1 315 1; 319 | #X obj 11 378 hsl 195 8 0 1 0 0 empty r-grain-46 empty -2 -8 0 10 -262144 320 | -1 -1 328 1; 321 | #X obj 11 386 hsl 195 8 0 1 0 0 empty r-grain-47 empty -2 -8 0 10 -262144 322 | -1 -1 329 1; 323 | #X obj 11 394 hsl 195 8 0 1 0 0 empty r-grain-48 empty -2 -8 0 10 -262144 324 | -1 -1 333 1; 325 | #X obj 11 402 hsl 195 8 0 1 0 0 empty r-grain-49 empty -2 -8 0 10 -262144 326 | -1 -1 319 1; 327 | #X obj 11 410 hsl 195 8 0 1 0 0 empty r-grain-50 empty -2 -8 0 10 -262144 328 | -1 -1 307 1; 329 | #X obj 11 418 hsl 195 8 0 1 0 0 empty r-grain-51 empty -2 -8 0 10 -262144 330 | -1 -1 330 1; 331 | #X obj 11 426 hsl 195 8 0 1 0 0 empty r-grain-52 empty -2 -8 0 10 -262144 332 | -1 -1 307 1; 333 | #X obj 11 434 hsl 195 8 0 1 0 0 empty r-grain-53 empty -2 -8 0 10 -262144 334 | -1 -1 330 1; 335 | #X obj 11 442 hsl 195 8 0 1 0 0 empty r-grain-54 empty -2 -8 0 10 -262144 336 | -1 -1 327 0; 337 | #X obj 11 450 hsl 195 8 0 1 0 0 empty r-grain-55 empty -2 -8 0 10 -262144 338 | -1 -1 324 1; 339 | #X obj 11 458 hsl 195 8 0 1 0 0 empty r-grain-56 empty -2 -8 0 10 -262144 340 | -1 -1 296 1; 341 | #X obj 11 466 hsl 195 8 0 1 0 0 empty r-grain-57 empty -2 -8 0 10 -262144 342 | -1 -1 331 1; 343 | #X obj 11 474 hsl 195 8 0 1 0 0 empty r-grain-58 empty -2 -8 0 10 -262144 344 | -1 -1 324 1; 345 | #X obj 11 482 hsl 195 8 0 1 0 0 empty r-grain-59 empty -2 -8 0 10 -262144 346 | -1 -1 311 1; 347 | #X obj 11 490 hsl 195 8 0 1 0 0 empty r-grain-60 empty -2 -8 0 10 -262144 348 | -1 -1 302 1; 349 | #X obj 11 498 hsl 195 8 0 1 0 0 empty r-grain-61 empty -2 -8 0 10 -262144 350 | -1 -1 304 1; 351 | #X obj 11 506 hsl 195 8 0 1 0 0 empty r-grain-62 empty -2 -8 0 10 -262144 352 | -1 -1 308 1; 353 | #X obj 11 514 hsl 195 8 0 1 0 0 empty r-grain-63 empty -2 -8 0 10 -262144 354 | -1 -1 306 1; 355 | #X obj 11 522 hsl 195 8 0 1 0 0 empty r-grain-64 empty -2 -8 0 10 -262144 356 | -1 -1 318 1; 357 | #N canvas 0 22 450 278 (subpatch) 0; 358 | #X array grain 1.2366e+06 float 0; 359 | #X coords 0 1 1.2366e+06 -1 200 512 1 0 0; 360 | #X restore 8 18 graph; 361 | #X obj 443 228 s ran-pitch-am; 362 | #X obj 443 194 nbx 3 14 0 400 0 1 empty empty empty 0 -8 0 10 -262144 363 | -1 -1 0 256; 364 | #X obj 540 228 s env-am; 365 | #X obj 595 194 nbx 5 14 1 100 1 1 empty empty empty 0 -8 0 10 -262144 366 | -1 -1 100 256; 367 | #X obj 595 228 s env-time; 368 | #X obj 540 194 nbx 4 14 0 1000 0 1 empty empty empty 0 -8 0 10 -262144 369 | -1 -1 0 256; 370 | #X obj 540 210 * 0.01; 371 | #X obj 595 210 * 0.01; 372 | #X obj 669 194 nbx 5 14 0 100 0 1 empty empty empty 0 -8 0 10 -262144 373 | -1 -1 100 256; 374 | #X obj 669 228 s p-env-prob; 375 | #N canvas 352 78 508 652 window-functions 0; 376 | #X obj 182 337 phasor~ 1; 377 | #X obj 329 186 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 378 | 1; 379 | #X obj 264 220 metro 1000; 380 | #X obj 182 385 expr~ abs((abs($v1-0.5)*2)-1); 381 | #X obj 201 425 expr~ min($v1*2 \, 1); 382 | #X obj 220 525 expr~ pow($v1 \, 8); 383 | #X obj 264 242 +; 384 | #X obj 228 226 + 1; 385 | #X obj 264 261 sel 1; 386 | #X msg 264 280 0; 387 | #X obj 220 505 expr~ abs($v1-0.5)*2; 388 | #X obj 220 545 expr~ abs($v1-1); 389 | #X msg 71 205 normalize 1; 390 | #X obj 210 445 expr~ abs($v1-0.5)*2; 391 | #X obj 210 485 expr~ abs($v1-1); 392 | #X obj 210 465 expr~ pow($v1 \, 0.5); 393 | #X obj 329 154 loadbang; 394 | #X text 130 385 Triangle; 395 | #X text 169 405 Cos; 396 | #N canvas 0 23 450 300 cosinus 0; 397 | #X obj 173 85 inlet~; 398 | #X obj 173 147 cos~; 399 | #X obj 173 166 *~ 0.5; 400 | #X obj 173 185 +~ 0.5; 401 | #X obj 173 128 wrap~; 402 | #X obj 173 109 +~ 0.5; 403 | #X obj 173 207 outlet~; 404 | #X connect 0 0 5 0; 405 | #X connect 1 0 2 0; 406 | #X connect 2 0 3 0; 407 | #X connect 3 0 6 0; 408 | #X connect 4 0 1 0; 409 | #X connect 5 0 4 0; 410 | #X restore 191 405 pd cosinus; 411 | #X text 131 425 Trapazoid 1; 412 | #X text 140 445 Trapazoid 2; 413 | #X text 150 505 Trapazoid 3; 414 | #X obj 200 170 t b b f; 415 | #X obj 182 591 tabwrite~ Window; 416 | #X obj 71 224 s Window; 417 | #X obj 200 100 hradio 14 1 1 5 empty empty Trapazoid-3 2 8 0 10 -262144 418 | -261234 -1 4; 419 | #N canvas 0 22 450 300 label 0; 420 | #X obj 129 48 inlet; 421 | #X obj 129 70 sel 0 1 2 3 4; 422 | #X msg 129 92 label Triangle; 423 | #X obj 129 189 outlet; 424 | #X msg 144 112 label Cosinus; 425 | #X msg 159 132 label Trapazoid-1; 426 | #X msg 174 152 label Trapazoid-2; 427 | #X msg 189 172 label Trapazoid-3; 428 | #X connect 0 0 1 0; 429 | #X connect 1 0 2 0; 430 | #X connect 1 1 4 0; 431 | #X connect 1 2 5 0; 432 | #X connect 1 3 6 0; 433 | #X connect 1 4 7 0; 434 | #X connect 2 0 3 0; 435 | #X connect 4 0 3 0; 436 | #X connect 5 0 3 0; 437 | #X connect 6 0 3 0; 438 | #X connect 7 0 3 0; 439 | #X restore 200 70 pd label; 440 | #X obj 71 186 del 1001; 441 | #N canvas 515 366 592 291 spigot~ 0; 442 | #X obj 52 40 inlet~; 443 | #X obj 432 62 inlet; 444 | #X obj 432 118 outlet~; 445 | #X obj 52 102 *~; 446 | #X obj 67 78 == 0; 447 | #X obj 112 40 inlet~; 448 | #X obj 112 102 *~; 449 | #X obj 172 40 inlet~; 450 | #X obj 172 102 *~; 451 | #X obj 232 40 inlet~; 452 | #X obj 232 102 *~; 453 | #X obj 127 78 == 1; 454 | #X obj 187 78 == 2; 455 | #X obj 247 78 == 3; 456 | #X obj 292 40 inlet~; 457 | #X obj 292 102 *~; 458 | #X obj 352 40 inlet~; 459 | #X obj 352 102 *~; 460 | #X obj 307 78 == 4; 461 | #X obj 367 78 == 5; 462 | #X connect 0 0 3 0; 463 | #X connect 1 0 4 0; 464 | #X connect 1 0 11 0; 465 | #X connect 1 0 13 0; 466 | #X connect 1 0 12 0; 467 | #X connect 1 0 18 0; 468 | #X connect 1 0 19 0; 469 | #X connect 3 0 2 0; 470 | #X connect 4 0 3 1; 471 | #X connect 5 0 6 0; 472 | #X connect 6 0 2 0; 473 | #X connect 7 0 8 0; 474 | #X connect 8 0 2 0; 475 | #X connect 9 0 10 0; 476 | #X connect 10 0 2 0; 477 | #X connect 11 0 6 1; 478 | #X connect 12 0 8 1; 479 | #X connect 13 0 10 1; 480 | #X connect 14 0 15 0; 481 | #X connect 15 0 2 0; 482 | #X connect 16 0 17 0; 483 | #X connect 17 0 2 0; 484 | #X connect 18 0 15 1; 485 | #X connect 19 0 17 1; 486 | #X restore 182 566 pd spigot~; 487 | #X obj 315 575 sel 1; 488 | #X obj 315 595 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 489 | -1 -1; 490 | #X obj 264 201 t f f f f; 491 | #X obj 298 300 sel 1; 492 | #X msg 298 321 0; 493 | #X text 112 337 1hz = 1 sec; 494 | #X connect 0 0 3 0; 495 | #X connect 0 0 10 0; 496 | #X connect 0 0 13 0; 497 | #X connect 0 0 19 0; 498 | #X connect 1 0 32 0; 499 | #X connect 2 0 6 0; 500 | #X connect 3 0 4 0; 501 | #X connect 3 0 29 0; 502 | #X connect 4 0 29 2; 503 | #X connect 5 0 11 0; 504 | #X connect 6 0 7 0; 505 | #X connect 6 0 8 0; 506 | #X connect 7 0 6 1; 507 | #X connect 8 0 9 0; 508 | #X connect 9 0 1 0; 509 | #X connect 10 0 5 0; 510 | #X connect 11 0 29 4; 511 | #X connect 12 0 25 0; 512 | #X connect 13 0 15 0; 513 | #X connect 14 0 29 3; 514 | #X connect 15 0 14 0; 515 | #X connect 16 0 1 0; 516 | #X connect 19 0 29 1; 517 | #X connect 23 0 28 0; 518 | #X connect 23 1 1 0; 519 | #X connect 23 2 29 6; 520 | #X connect 26 0 27 0; 521 | #X connect 26 0 23 0; 522 | #X connect 27 0 26 0; 523 | #X connect 28 0 12 0; 524 | #X connect 29 0 24 0; 525 | #X connect 30 0 31 0; 526 | #X connect 30 0 24 0; 527 | #X connect 32 0 2 0; 528 | #X connect 32 1 6 1; 529 | #X connect 32 2 33 0; 530 | #X connect 32 3 30 0; 531 | #X connect 33 0 34 0; 532 | #X connect 34 0 0 1; 533 | #X coords 0 -1 1 1 70 14 2 200 100; 534 | #X restore 215 169 pd window-functions; 535 | #N canvas 0 50 450 250 (subpatch) 0; 536 | #X array Window 48000 float 4; 537 | #X coords 0 1 47999 0 70 50 1 0 0; 538 | #X restore 215 117 graph; 539 | #N canvas 0 23 450 300 test-prev 0; 540 | #X obj 135 157 r~ preview-audio; 541 | #X obj 60 242 outlet~; 542 | #X obj 27 180 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 543 | 1; 544 | #N canvas 146 334 310 265 crossfade~ 0; 545 | #X obj 139 157 *~; 546 | #X obj 209 157 *~; 547 | #X obj 88 118 *~ -1; 548 | #X obj 88 140 +~ 1; 549 | #X obj 88 83 +~; 550 | #X obj 183 193 outlet~; 551 | #X obj 139 103 inlet~; 552 | #X obj 209 103 inlet~; 553 | #X obj 88 59 vline~; 554 | #X obj 88 15 inlet; 555 | #X obj 88 37 pack 0 100; 556 | #X connect 0 0 5 0; 557 | #X connect 1 0 5 0; 558 | #X connect 2 0 3 0; 559 | #X connect 3 0 0 1; 560 | #X connect 4 0 2 0; 561 | #X connect 4 0 1 1; 562 | #X connect 6 0 0 0; 563 | #X connect 7 0 1 0; 564 | #X connect 8 0 4 0; 565 | #X connect 9 0 10 0; 566 | #X connect 10 0 8 0; 567 | #X restore 60 195 pd crossfade~; 568 | #X obj 97 95 inlet~; 569 | #X obj 27 73 r preview-auto; 570 | #X connect 0 0 3 2; 571 | #X connect 2 0 3 0; 572 | #X connect 3 0 1 0; 573 | #X connect 4 0 3 1; 574 | #X connect 5 0 2 0; 575 | #X restore 450 355 pd test-prev; 576 | #N canvas 0 23 450 300 out 0; 577 | #X obj 95 136 *~; 578 | #X obj 160 136 *~; 579 | #X obj 203 100 hsl 100 15 0 1 0 1 empty empty Volume 2 8 0 10 -262144 580 | -1 -1 9900 1; 581 | #X obj 200 120 sig~; 582 | #X obj 95 57 inlet~; 583 | #X obj 95 157 outlet~; 584 | #X obj 160 157 outlet~; 585 | #X connect 0 0 5 0; 586 | #X connect 1 0 6 0; 587 | #X connect 2 0 3 0; 588 | #X connect 3 0 0 1; 589 | #X connect 3 0 1 1; 590 | #X connect 4 0 0 0; 591 | #X connect 4 0 1 0; 592 | #X coords 0 -1 1 1 105 15 2 200 100; 593 | #X restore 450 375 pd out; 594 | #X obj 215 34 nbx 5 14 1 30 0 1 empty empty Wav-File 0 -8 0 10 -262144 595 | -1 -1 1 256; 596 | #N canvas 221 23 433 373 tablemath 0; 597 | #X obj 65 67 soundfiler; 598 | #X obj 65 124 /; 599 | #X obj 139 83 s size-in-samples; 600 | #X obj 65 86 t b f; 601 | #X obj 65 105 samplerate~; 602 | #X obj 139 140 s speed-in-hz; 603 | #X obj 65 25 inlet; 604 | #X obj 14 83 outlet; 605 | #X obj 65 146 outlet; 606 | #X floatatom 14 121 6 0 0 0 - - -; 607 | #X obj 198 245 tabplay~ grain; 608 | #X obj 188 186 inlet; 609 | #X obj 198 293 s~ preview-audio; 610 | #X msg 188 312 1; 611 | #X msg 310 312 0; 612 | #X obj 188 338 s preview-auto; 613 | #X obj 198 267 *~ 2; 614 | #X obj 310 176 inlet; 615 | #X obj 139 121 s sample-rate; 616 | #X obj 198 217 delay 500; 617 | #X obj 310 261 delay 500; 618 | #X msg 65 48 read -resize +Sounds+/Audio\$1.wav grain; 619 | #X connect 0 0 2 0; 620 | #X connect 0 0 3 0; 621 | #X connect 0 0 7 0; 622 | #X connect 1 0 5 0; 623 | #X connect 1 0 8 0; 624 | #X connect 3 0 4 0; 625 | #X connect 3 1 1 1; 626 | #X connect 4 0 1 0; 627 | #X connect 4 0 9 0; 628 | #X connect 4 0 18 0; 629 | #X connect 6 0 21 0; 630 | #X connect 10 0 16 0; 631 | #X connect 10 1 20 0; 632 | #X connect 11 0 13 0; 633 | #X connect 11 0 19 0; 634 | #X connect 13 0 15 0; 635 | #X connect 14 0 15 0; 636 | #X connect 16 0 12 0; 637 | #X connect 17 0 20 0; 638 | #X connect 19 0 10 0; 639 | #X connect 20 0 14 0; 640 | #X connect 21 0 0 0; 641 | #X restore 215 50 pd tablemath; 642 | #X floatatom 215 69 10 0 0 3 Samples - -; 643 | #X floatatom 284 69 10 0 0 3 Hertz - -; 644 | #X obj 294 36 bng 14 250 50 0 empty empty Pr 3 8 0 8 -262144 -1 -1 645 | ; 646 | #X obj 314 36 bng 14 250 50 0 empty empty St 3 8 0 8 -262144 -1 -1 647 | ; 648 | #X text 343 33 Pr - Preview the clean sound \, unchanged and mute granular 649 | player., f 65; 650 | #X text 343 45 St - Stop the preview and go back to granular player. 651 | ; 652 | #N canvas 0 23 450 300 patchstate 0; 653 | #X obj 118 168 cputime; 654 | #X obj 118 28 loadbang; 655 | #X obj 118 112 metro 1000; 656 | #X msg 118 56 1; 657 | #X floatatom 118 84 0 0 0 0 - - -; 658 | #X obj 118 140 t b b; 659 | #X obj 118 228 * 0.1; 660 | #X obj 118 197 int; 661 | #X text 163 84 <-- on/off; 662 | #X obj 118 250 outlet; 663 | #X obj 258 207 samplerate~; 664 | #X obj 258 187 r pd-dsp-started; 665 | #X floatatom 209 223 7 0 0 0 - - -; 666 | #X obj 258 250 outlet; 667 | #X connect 0 0 7 0; 668 | #X connect 1 0 3 0; 669 | #X connect 2 0 5 0; 670 | #X connect 3 0 4 0; 671 | #X connect 4 0 2 0; 672 | #X connect 5 0 0 0; 673 | #X connect 5 1 0 1; 674 | #X connect 6 0 9 0; 675 | #X connect 7 0 6 0; 676 | #X connect 10 0 12 0; 677 | #X connect 10 0 13 0; 678 | #X connect 11 0 10 0; 679 | #X restore 215 198 pd patchstate; 680 | #X floatatom 215 216 5 0 0 3 Cpu-% - -; 681 | #X floatatom 290 216 5 0 0 3 S-Rate - -; 682 | #X obj 450 335 *~ 0.25; 683 | #N canvas 0 23 518 322 info 0; 684 | #X text 23 68 I run the patch at 48khz \, but you should be able to 685 | run it at any sample rate., f 73; 686 | #X text 23 98 The sample that comes with the patch in the ´+Sounds+ 687 | folder is 48khz!!!!, f 73; 688 | #X text 23 118 So if you want to run it at 44.1khz \, you need to convert 689 | the sample!!!!, f 73; 690 | #X text 23 28 Granular21 patch by Jakob Skouborg 3.2.21, f 73; 691 | #X restore 215 514 pd info; 692 | #X obj 472 405 dac~ 1 2; 693 | #X obj 450 315 clone grain 64; 694 | #X connect 1 0 6 0; 695 | #X connect 2 0 6 1; 696 | #X connect 4 0 3 1; 697 | #X connect 5 0 3 3; 698 | #X connect 7 0 3 0; 699 | #X connect 8 0 3 4; 700 | #X connect 9 0 4 0; 701 | #X connect 10 0 3 2; 702 | #X connect 10 0 32 0; 703 | #X connect 13 0 14 0; 704 | #X connect 30 0 23 0; 705 | #X connect 31 0 11 0; 706 | #X connect 49 0 50 0; 707 | #X connect 52 0 51 0; 708 | #X connect 87 0 86 0; 709 | #X connect 89 0 93 0; 710 | #X connect 91 0 92 0; 711 | #X connect 92 0 88 0; 712 | #X connect 93 0 90 0; 713 | #X connect 94 0 95 0; 714 | #X connect 98 0 99 0; 715 | #X connect 99 0 113 0; 716 | #X connect 99 1 113 1; 717 | #X connect 100 0 101 0; 718 | #X connect 101 0 102 0; 719 | #X connect 101 1 103 0; 720 | #X connect 104 0 101 1; 721 | #X connect 105 0 101 2; 722 | #X connect 108 0 109 0; 723 | #X connect 108 1 110 0; 724 | #X connect 111 0 98 0; 725 | #X connect 114 0 111 0; 726 | -------------------------------------------------------------------------------- /Granular21-VCV-Prototype/PD/Granular21-Prototype.pd: -------------------------------------------------------------------------------- 1 | #N canvas 479 142 869 479 10; 2 | #X obj 625 181 bng 14 250 50 0 empty empty Ph 3 8 0 8 #fcfcfc #000000 3 | #000000; 4 | #X obj 694 181 nbx 4 14 0 100 0 1 empty empty Ph 26 8 0 8 #fcfcfc #000000 5 | #000000 0 256; 6 | #N canvas 14 86 447 598 phasor-main 0; 7 | #X obj 97 369 phasor~; 8 | #X floatatom 248 84 5 0 0 0 - - - 0; 9 | #X obj 201 13 r speed-in-hz; 10 | #X obj 201 52 t b f; 11 | #X obj 136 350 r retrig; 12 | #X text 148 369 <<< Use same phasor for all grains; 13 | #X obj 97 490 *~; 14 | #X obj 253 420 nbx 4 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc 15 | #000000 #000000 0 256; 16 | #X obj 253 436 * 0.01; 17 | #X obj 253 474 vline~; 18 | #X obj 253 455 pack 0 500; 19 | #X text 304 419 Main Phasor multiplyer; 20 | #X obj 97 52 inlet; 21 | #X obj 253 397 inlet; 22 | #N canvas 0 23 450 300 sine/cos 0; 23 | #X obj 127 53 inlet~; 24 | #X obj 128 123 cos~; 25 | #X obj 127 102 wrap~; 26 | #X obj 128 149 *~ 0.5; 27 | #X obj 128 171 +~ 0.5; 28 | #X obj 128 193 outlet~; 29 | #X obj 127 81 +~ 0; 30 | #X connect 0 0 6 0; 31 | #X connect 1 0 3 0; 32 | #X connect 2 0 1 0; 33 | #X connect 3 0 4 0; 34 | #X connect 4 0 5 0; 35 | #X connect 6 0 2 0; 36 | #X restore 125 406 pd sine/cos; 37 | #X obj 51 388 inlet; 38 | #X floatatom 51 410 5 0 0 0 - - - 0; 39 | #X obj 97 539 s~ phasor-main; 40 | #X obj 377 465 * 0.01; 41 | #X obj 377 503 vline~; 42 | #X text 325 464 Position; 43 | #X obj 97 519 +~; 44 | #X obj 377 446 inlet; 45 | #X obj 173 68 +; 46 | #X obj 201 33 ftom; 47 | #X obj 173 90 mtof; 48 | #X floatatom 248 106 10 0 0 0 - - - 0; 49 | #X obj 134 294 * -1; 50 | #X floatatom 144 312 5 0 0 0 - - - 0; 51 | #X obj 134 271 sel 0 1; 52 | #X obj 97 287 f; 53 | #X obj 134 252 t f f; 54 | #X obj 193 236 inlet reverse; 55 | #X obj 97 71 != -64; 56 | #X obj 97 90 t f f; 57 | #X obj 173 125 f; 58 | #X obj 97 109 sel 0 1; 59 | #X msg 97 128 0; 60 | #X text 51 286 Reverse; 61 | #X text 90 145 Stop = -64; 62 | #X obj 377 484 pack 0 10; 63 | #N canvas 515 366 396 291 spigot~ 0; 64 | #X obj 52 40 inlet~; 65 | #X obj 332 62 inlet; 66 | #X obj 146 185 outlet~; 67 | #X obj 52 102 *~; 68 | #X obj 67 78 == 0; 69 | #X obj 112 40 inlet~; 70 | #X obj 112 102 *~; 71 | #X obj 127 78 == 1; 72 | #X connect 0 0 3 0; 73 | #X connect 1 0 4 0; 74 | #X connect 1 0 7 0; 75 | #X connect 3 0 2 0; 76 | #X connect 4 0 3 1; 77 | #X connect 5 0 6 0; 78 | #X connect 6 0 2 0; 79 | #X connect 7 0 6 1; 80 | #X restore 97 458 pd spigot~; 81 | #N canvas 0 23 450 300 mux-spigot 0; 82 | #X obj 126 82 inlet; 83 | #X obj 126 143 spigot; 84 | #X obj 159 119 == 0; 85 | #X obj 206 82 inlet; 86 | #X obj 206 143 spigot; 87 | #X obj 239 119 == 1; 88 | #X obj 276 103 inlet; 89 | #X obj 179 189 outlet; 90 | #X connect 0 0 1 0; 91 | #X connect 1 0 7 0; 92 | #X connect 2 0 1 1; 93 | #X connect 3 0 4 0; 94 | #X connect 4 0 7 0; 95 | #X connect 5 0 4 1; 96 | #X connect 6 0 5 0; 97 | #X connect 6 0 2 0; 98 | #X restore 97 331 pd mux-spigot; 99 | #X floatatom 193 257 5 0 0 0 - - - 0; 100 | #N canvas 0 23 450 300 mux-spigot 0; 101 | #X obj 126 82 inlet; 102 | #X obj 126 143 spigot; 103 | #X obj 159 119 == 0; 104 | #X obj 206 82 inlet; 105 | #X obj 206 143 spigot; 106 | #X obj 239 119 == 1; 107 | #X obj 276 103 inlet; 108 | #X obj 179 189 outlet; 109 | #X connect 0 0 1 0; 110 | #X connect 1 0 7 0; 111 | #X connect 2 0 1 1; 112 | #X connect 3 0 4 0; 113 | #X connect 4 0 7 0; 114 | #X connect 5 0 4 1; 115 | #X connect 6 0 5 0; 116 | #X connect 6 0 2 0; 117 | #X restore 97 188 pd mux-spigot; 118 | #X connect 0 0 14 0; 119 | #X connect 0 0 41 0; 120 | #X connect 2 0 24 0; 121 | #X connect 3 0 23 0; 122 | #X connect 3 1 23 1; 123 | #X connect 4 0 0 1; 124 | #X connect 6 0 21 0; 125 | #X connect 7 0 8 0; 126 | #X connect 8 0 10 0; 127 | #X connect 9 0 6 1; 128 | #X connect 10 0 9 0; 129 | #X connect 12 0 23 0; 130 | #X connect 12 0 33 0; 131 | #X connect 13 0 8 0; 132 | #X connect 14 0 41 1; 133 | #X connect 15 0 16 0; 134 | #X connect 15 0 41 2; 135 | #X connect 18 0 40 0; 136 | #X connect 19 0 21 1; 137 | #X connect 21 0 17 0; 138 | #X connect 22 0 18 0; 139 | #X connect 23 0 25 0; 140 | #X connect 23 0 1 0; 141 | #X connect 24 0 3 0; 142 | #X connect 25 0 26 0; 143 | #X connect 25 0 35 0; 144 | #X connect 27 0 28 0; 145 | #X connect 27 0 42 1; 146 | #X connect 29 0 30 0; 147 | #X connect 29 1 27 0; 148 | #X connect 30 0 42 0; 149 | #X connect 31 0 29 0; 150 | #X connect 31 1 42 2; 151 | #X connect 32 0 31 0; 152 | #X connect 32 0 43 0; 153 | #X connect 33 0 34 0; 154 | #X connect 34 0 36 0; 155 | #X connect 34 1 44 2; 156 | #X connect 35 0 44 1; 157 | #X connect 36 0 37 0; 158 | #X connect 36 1 35 0; 159 | #X connect 37 0 44 0; 160 | #X connect 40 0 19 0; 161 | #X connect 41 0 6 0; 162 | #X connect 42 0 0 0; 163 | #X connect 44 0 27 0; 164 | #X connect 44 0 30 0; 165 | #X restore 312 192 pd phasor-main; 166 | #X obj 412 178 nbx 4 14 -64 128 0 1 empty empty Speed 0 -8 0 10 #fcfcfc 167 | #000000 #000000 0 256; 168 | #X obj 459 178 nbx 4 14 0 100 0 1 empty empty Multiply 0 -8 0 10 #fcfcfc 169 | #000000 #000000 100 256; 170 | #N canvas 0 23 450 300 phase-rst 0; 171 | #X obj 133 79 t b; 172 | #X obj 133 130 s retrig; 173 | #X msg 133 111 0; 174 | #X msg 167 94 set \$1; 175 | #X obj 167 75 * 0.01; 176 | #X obj 216 94 loadbang; 177 | #X obj 133 22 inlet; 178 | #X obj 167 43 inlet; 179 | #X connect 0 0 2 0; 180 | #X connect 2 0 1 0; 181 | #X connect 3 0 2 0; 182 | #X connect 4 0 3 0; 183 | #X connect 5 0 2 0; 184 | #X connect 6 0 0 0; 185 | #X connect 7 0 4 0; 186 | #X restore 625 197 pd phase-rst; 187 | #N canvas 0 22 450 300 select-wave 0; 188 | #X obj 100 100 hradio 14 1 1 2 empty empty Saw 2 8 0 10 #fcfcfc #fcc4c4 189 | #000000 0; 190 | #X obj 100 119 outlet; 191 | #N canvas 0 22 450 300 select 0; 192 | #X obj 126 67 inlet; 193 | #X obj 126 89 sel 0 1; 194 | #X obj 126 156 outlet; 195 | #X msg 126 111 label Saw; 196 | #X msg 145 133 label Sin; 197 | #X connect 0 0 1 0; 198 | #X connect 1 0 3 0; 199 | #X connect 1 1 4 0; 200 | #X connect 3 0 2 0; 201 | #X connect 4 0 2 0; 202 | #X restore 100 73 pd select; 203 | #X connect 0 0 1 0; 204 | #X connect 0 0 2 0; 205 | #X connect 2 0 0 0; 206 | #X coords 0 -1 1 1 28 14 2 100 100; 207 | #X restore 381 178 pd select-wave; 208 | #X obj 510 178 nbx 4 14 0 100 0 1 empty empty Phase 0 -8 0 10 #fcfcfc 209 | #000000 #000000 0 256; 210 | #X obj 558 178 tgl 14 1 empty empty empty 17 7 0 10 #fcfcfc #000000 211 | #000000 0 1; 212 | #X obj 495 358 s note-pitch; 213 | #X obj 522 249 nbx 3 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc 214 | #000000 #000000 1 256; 215 | #X obj 522 266 s random-position; 216 | #X obj 312 266 s grain-on; 217 | #X obj 312 250 nbx 3 14 1 64 0 1 empty empty empty 0 -8 0 10 #fcfcfc 218 | #000000 #000000 64 256; 219 | #X obj 495 324 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10 220 | #fcfcfc #000000 #000000 0 256; 221 | #X obj 558 197 s reverse; 222 | #X obj 378 250 hradio 14 1 1 2 empty empty empty 0 -8 0 10 #fcfcfc 223 | #000000 #000000 0; 224 | #X obj 378 266 s saw/sine; 225 | #X obj 444 266 s grain-size; 226 | #X obj 444 250 nbx 3 14 1 2048 0 1 empty empty empty 0 -8 0 10 #fcfcfc 227 | #000000 #000000 50 256; 228 | #N canvas 0 22 450 278 (subpatch) 0; 229 | #X array grain 1.2366e+06 float 0; 230 | #X coords 0 1 1.2366e+06 -1 200 100 1 0 0; 231 | #X restore 8 18 graph; 232 | #X obj 396 358 s ran-pitch-am; 233 | #X obj 396 324 nbx 3 14 0 400 0 1 empty empty empty 0 -8 0 10 #fcfcfc 234 | #000000 #000000 0 256; 235 | #X obj 580 358 s env-am; 236 | #X obj 635 324 nbx 5 14 1 100 1 1 empty empty empty 0 -8 0 10 #fcfcfc 237 | #000000 #000000 100 256; 238 | #X obj 635 358 s env-time; 239 | #X obj 580 324 nbx 4 14 0 1000 0 1 empty empty empty 0 -8 0 10 #fcfcfc 240 | #000000 #000000 0 256; 241 | #X obj 580 340 * 0.01; 242 | #X obj 635 340 * 0.01; 243 | #X obj 312 324 nbx 5 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc 244 | #000000 #000000 100 256; 245 | #X obj 312 358 s p-env-prob; 246 | #N canvas 352 78 508 652 window-functions 0; 247 | #X obj 182 337 phasor~ 1; 248 | #X obj 329 186 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 249 | #000000 0 1; 250 | #X obj 264 220 metro 1000; 251 | #X obj 182 385 expr~ abs((abs($v1-0.5)*2)-1); 252 | #X obj 201 425 expr~ min($v1*2 \, 1); 253 | #X obj 220 525 expr~ pow($v1 \, 8); 254 | #X obj 264 242 +; 255 | #X obj 228 226 + 1; 256 | #X obj 264 261 sel 1; 257 | #X msg 264 280 0; 258 | #X obj 220 505 expr~ abs($v1-0.5)*2; 259 | #X obj 220 545 expr~ abs($v1-1); 260 | #X msg 71 205 normalize 1; 261 | #X obj 210 445 expr~ abs($v1-0.5)*2; 262 | #X obj 210 485 expr~ abs($v1-1); 263 | #X obj 210 465 expr~ pow($v1 \, 0.5); 264 | #X obj 329 154 loadbang; 265 | #X text 130 385 Triangle; 266 | #X text 169 405 Cos; 267 | #N canvas 0 23 450 300 cosinus 0; 268 | #X obj 173 85 inlet~; 269 | #X obj 173 147 cos~; 270 | #X obj 173 166 *~ 0.5; 271 | #X obj 173 185 +~ 0.5; 272 | #X obj 173 128 wrap~; 273 | #X obj 173 109 +~ 0.5; 274 | #X obj 173 207 outlet~; 275 | #X connect 0 0 5 0; 276 | #X connect 1 0 2 0; 277 | #X connect 2 0 3 0; 278 | #X connect 3 0 6 0; 279 | #X connect 4 0 1 0; 280 | #X connect 5 0 4 0; 281 | #X restore 191 405 pd cosinus; 282 | #X text 131 425 Trapazoid 1; 283 | #X text 140 445 Trapazoid 2; 284 | #X text 150 505 Trapazoid 3; 285 | #X obj 200 170 t b b f; 286 | #X obj 182 591 tabwrite~ Window; 287 | #X obj 71 224 s Window; 288 | #X obj 200 100 hradio 14 1 1 5 empty empty Trapazoid-3 2 8 0 10 #fcfcfc 289 | #fcc4c4 #000000 4; 290 | #N canvas 0 22 450 300 label 0; 291 | #X obj 129 48 inlet; 292 | #X obj 129 70 sel 0 1 2 3 4; 293 | #X msg 129 92 label Triangle; 294 | #X obj 129 189 outlet; 295 | #X msg 144 112 label Cosinus; 296 | #X msg 159 132 label Trapazoid-1; 297 | #X msg 174 152 label Trapazoid-2; 298 | #X msg 189 172 label Trapazoid-3; 299 | #X connect 0 0 1 0; 300 | #X connect 1 0 2 0; 301 | #X connect 1 1 4 0; 302 | #X connect 1 2 5 0; 303 | #X connect 1 3 6 0; 304 | #X connect 1 4 7 0; 305 | #X connect 2 0 3 0; 306 | #X connect 4 0 3 0; 307 | #X connect 5 0 3 0; 308 | #X connect 6 0 3 0; 309 | #X connect 7 0 3 0; 310 | #X restore 200 70 pd label; 311 | #X obj 71 186 del 1001; 312 | #N canvas 515 366 592 291 spigot~ 0; 313 | #X obj 52 40 inlet~; 314 | #X obj 432 62 inlet; 315 | #X obj 432 118 outlet~; 316 | #X obj 52 102 *~; 317 | #X obj 67 78 == 0; 318 | #X obj 112 40 inlet~; 319 | #X obj 112 102 *~; 320 | #X obj 172 40 inlet~; 321 | #X obj 172 102 *~; 322 | #X obj 232 40 inlet~; 323 | #X obj 232 102 *~; 324 | #X obj 127 78 == 1; 325 | #X obj 187 78 == 2; 326 | #X obj 247 78 == 3; 327 | #X obj 292 40 inlet~; 328 | #X obj 292 102 *~; 329 | #X obj 352 40 inlet~; 330 | #X obj 352 102 *~; 331 | #X obj 307 78 == 4; 332 | #X obj 367 78 == 5; 333 | #X connect 0 0 3 0; 334 | #X connect 1 0 4 0; 335 | #X connect 1 0 11 0; 336 | #X connect 1 0 13 0; 337 | #X connect 1 0 12 0; 338 | #X connect 1 0 18 0; 339 | #X connect 1 0 19 0; 340 | #X connect 3 0 2 0; 341 | #X connect 4 0 3 1; 342 | #X connect 5 0 6 0; 343 | #X connect 6 0 2 0; 344 | #X connect 7 0 8 0; 345 | #X connect 8 0 2 0; 346 | #X connect 9 0 10 0; 347 | #X connect 10 0 2 0; 348 | #X connect 11 0 6 1; 349 | #X connect 12 0 8 1; 350 | #X connect 13 0 10 1; 351 | #X connect 14 0 15 0; 352 | #X connect 15 0 2 0; 353 | #X connect 16 0 17 0; 354 | #X connect 17 0 2 0; 355 | #X connect 18 0 15 1; 356 | #X connect 19 0 17 1; 357 | #X restore 182 566 pd spigot~; 358 | #X obj 315 575 sel 1; 359 | #X obj 315 595 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc 360 | #000000 #000000; 361 | #X obj 264 201 t f f f f; 362 | #X obj 298 300 sel 1; 363 | #X msg 298 321 0; 364 | #X text 112 337 1hz = 1 sec; 365 | #X connect 0 0 3 0; 366 | #X connect 0 0 10 0; 367 | #X connect 0 0 13 0; 368 | #X connect 0 0 19 0; 369 | #X connect 1 0 32 0; 370 | #X connect 2 0 6 0; 371 | #X connect 3 0 4 0; 372 | #X connect 3 0 29 0; 373 | #X connect 4 0 29 2; 374 | #X connect 5 0 11 0; 375 | #X connect 6 0 7 0; 376 | #X connect 6 0 8 0; 377 | #X connect 7 0 6 1; 378 | #X connect 8 0 9 0; 379 | #X connect 9 0 1 0; 380 | #X connect 10 0 5 0; 381 | #X connect 11 0 29 4; 382 | #X connect 12 0 25 0; 383 | #X connect 13 0 15 0; 384 | #X connect 14 0 29 3; 385 | #X connect 15 0 14 0; 386 | #X connect 16 0 1 0; 387 | #X connect 19 0 29 1; 388 | #X connect 23 0 28 0; 389 | #X connect 23 1 1 0; 390 | #X connect 23 2 29 6; 391 | #X connect 26 0 27 0; 392 | #X connect 26 0 23 0; 393 | #X connect 27 0 26 0; 394 | #X connect 28 0 12 0; 395 | #X connect 29 0 24 0; 396 | #X connect 30 0 31 0; 397 | #X connect 30 0 24 0; 398 | #X connect 32 0 2 0; 399 | #X connect 32 1 6 1; 400 | #X connect 32 2 33 0; 401 | #X connect 32 3 30 0; 402 | #X connect 33 0 34 0; 403 | #X connect 34 0 0 1; 404 | #X coords 0 -1 1 1 70 14 2 200 100; 405 | #X restore 8 185 pd window-functions; 406 | #N canvas 0 50 450 250 (subpatch) 0; 407 | #X array Window 48000 float 4; 408 | #X coords 0 1 47999 0 70 50 1 0 0; 409 | #X restore 8 133 graph; 410 | #N canvas 0 23 450 300 test-prev 0; 411 | #X obj 135 157 r~ preview-audio; 412 | #X obj 60 242 outlet~; 413 | #X obj 27 180 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 414 | #000000 0 1; 415 | #N canvas 146 334 310 265 crossfade~ 0; 416 | #X obj 139 157 *~; 417 | #X obj 209 157 *~; 418 | #X obj 88 118 *~ -1; 419 | #X obj 88 140 +~ 1; 420 | #X obj 88 83 +~; 421 | #X obj 183 193 outlet~; 422 | #X obj 139 103 inlet~; 423 | #X obj 209 103 inlet~; 424 | #X obj 88 59 vline~; 425 | #X obj 88 15 inlet; 426 | #X obj 88 37 pack 0 100; 427 | #X connect 0 0 5 0; 428 | #X connect 1 0 5 0; 429 | #X connect 2 0 3 0; 430 | #X connect 3 0 0 1; 431 | #X connect 4 0 2 0; 432 | #X connect 4 0 1 1; 433 | #X connect 6 0 0 0; 434 | #X connect 7 0 1 0; 435 | #X connect 8 0 4 0; 436 | #X connect 9 0 10 0; 437 | #X connect 10 0 8 0; 438 | #X restore 60 195 pd crossfade~; 439 | #X obj 97 95 inlet~; 440 | #X obj 27 73 r preview-auto; 441 | #X connect 0 0 3 2; 442 | #X connect 2 0 3 0; 443 | #X connect 3 0 1 0; 444 | #X connect 4 0 3 1; 445 | #X connect 5 0 2 0; 446 | #X restore 34 333 pd test-prev; 447 | #N canvas 0 23 450 300 out 0; 448 | #X obj 95 136 *~; 449 | #X obj 160 136 *~; 450 | #X obj 203 100 hsl 100 15 0 1 0 1 empty empty Volume 2 8 0 10 #fcfcfc 451 | #000000 #000000 9900 1; 452 | #X obj 200 120 sig~; 453 | #X obj 95 57 inlet~; 454 | #X obj 95 157 outlet~; 455 | #X obj 160 157 outlet~; 456 | #X connect 0 0 5 0; 457 | #X connect 1 0 6 0; 458 | #X connect 2 0 3 0; 459 | #X connect 3 0 0 1; 460 | #X connect 3 0 1 1; 461 | #X connect 4 0 0 0; 462 | #X connect 4 0 1 0; 463 | #X coords 0 -1 1 1 105 15 2 200 100; 464 | #X restore 34 351 pd out; 465 | #X obj 312 54 nbx 5 14 1 30 0 1 empty empty Wav-File 0 -8 0 10 #fcfcfc 466 | #000000 #000000 2 256; 467 | #N canvas 221 25 627 548 tablemath 0; 468 | #X obj 65 67 soundfiler; 469 | #X obj 65 124 /; 470 | #X obj 139 83 s size-in-samples; 471 | #X obj 65 86 t b f; 472 | #X obj 65 105 samplerate~; 473 | #X obj 139 140 s speed-in-hz; 474 | #X obj 65 25 inlet; 475 | #X obj 14 83 outlet; 476 | #X obj 65 146 outlet; 477 | #X floatatom 14 121 6 0 0 0 - - - 0; 478 | #X obj 216 375 tabplay~ grain; 479 | #X obj 206 316 inlet; 480 | #X obj 216 423 s~ preview-audio; 481 | #X msg 206 442 1; 482 | #X msg 328 442 0; 483 | #X obj 206 468 s preview-auto; 484 | #X obj 216 397 *~ 2; 485 | #X obj 328 306 inlet; 486 | #X obj 139 121 s sample-rate; 487 | #X obj 216 347 delay 500; 488 | #X obj 328 391 delay 500; 489 | #X obj 135 280 r \$0-preview-sample; 490 | #X obj 135 301 sel 1; 491 | #X obj 391 337 sel 1; 492 | #X obj 391 316 r \$0-stop-preview-sample; 493 | #X msg 65 48 read -resize ../+Sounds+/Audio\$1.wav grain; 494 | #X connect 0 0 2 0; 495 | #X connect 0 0 3 0; 496 | #X connect 0 0 7 0; 497 | #X connect 1 0 5 0; 498 | #X connect 1 0 8 0; 499 | #X connect 3 0 4 0; 500 | #X connect 3 1 1 1; 501 | #X connect 4 0 1 0; 502 | #X connect 4 0 9 0; 503 | #X connect 4 0 18 0; 504 | #X connect 6 0 25 0; 505 | #X connect 10 0 16 0; 506 | #X connect 10 1 20 0; 507 | #X connect 11 0 13 0; 508 | #X connect 11 0 19 0; 509 | #X connect 13 0 15 0; 510 | #X connect 14 0 15 0; 511 | #X connect 16 0 12 0; 512 | #X connect 17 0 20 0; 513 | #X connect 19 0 10 0; 514 | #X connect 20 0 14 0; 515 | #X connect 21 0 22 0; 516 | #X connect 22 0 19 0; 517 | #X connect 22 0 13 0; 518 | #X connect 23 0 20 0; 519 | #X connect 24 0 23 0; 520 | #X connect 25 0 0 0; 521 | #X restore 312 70 pd tablemath; 522 | #X floatatom 312 89 10 0 0 3 Samples - - 0; 523 | #X floatatom 381 89 10 0 0 3 Hertz - - 0; 524 | #X obj 391 56 bng 14 250 50 0 empty empty Pr 3 8 0 8 #fcfcfc #000000 525 | #000000; 526 | #X obj 411 56 bng 14 250 50 0 empty empty St 3 8 0 8 #fcfcfc #000000 527 | #000000; 528 | #X text 440 53 Pr - Preview the clean sound \, unchanged and mute granular 529 | player., f 65; 530 | #X text 440 65 St - Stop the preview and go back to granular player. 531 | ; 532 | #N canvas 0 23 450 300 patchstate 0; 533 | #X obj 118 168 cputime; 534 | #X obj 118 28 loadbang; 535 | #X obj 118 112 metro 1000; 536 | #X msg 118 56 1; 537 | #X floatatom 118 84 0 0 0 0 - - - 0; 538 | #X obj 118 140 t b b; 539 | #X obj 118 228 * 0.1; 540 | #X obj 118 197 int; 541 | #X text 163 84 <-- on/off; 542 | #X obj 118 250 outlet; 543 | #X obj 258 207 samplerate~; 544 | #X obj 258 187 r pd-dsp-started; 545 | #X floatatom 209 223 7 0 0 0 - - - 0; 546 | #X obj 258 250 outlet; 547 | #X connect 0 0 7 0; 548 | #X connect 1 0 3 0; 549 | #X connect 2 0 5 0; 550 | #X connect 3 0 4 0; 551 | #X connect 4 0 2 0; 552 | #X connect 5 0 0 0; 553 | #X connect 5 1 0 1; 554 | #X connect 6 0 9 0; 555 | #X connect 7 0 6 0; 556 | #X connect 10 0 12 0; 557 | #X connect 10 0 13 0; 558 | #X connect 11 0 10 0; 559 | #X restore 8 204 pd patchstate; 560 | #X floatatom 8 222 5 0 0 3 Cpu-% - - 0; 561 | #X floatatom 83 222 5 0 0 3 S-Rate - - 0; 562 | #X obj 34 313 *~ 0.25; 563 | #N canvas 0 25 518 322 info 0; 564 | #X text 23 68 I run the patch at 48khz \, but you should be able to 565 | run it at any sample rate., f 73; 566 | #X text 23 98 The sample that comes with the patch in the ´+Sounds+ 567 | folder is 48khz!!!!, f 73; 568 | #X text 23 118 So if you want to run it at 44.1khz \, you need to convert 569 | the sample!!!!, f 73; 570 | #X text 23 28 Patch by Jakob Skouborg 16.11.21, f 73; 571 | #X text 23 138 Samples are mono!, f 73; 572 | #X restore 216 58 pd info; 573 | #X obj 313 431 s phase-new; 574 | #X obj 313 392 nbx 4 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc 575 | #000000 #000000 0 256; 576 | #X obj 313 410 * 0.01; 577 | #X obj 34 293 clone grain 64; 578 | #X msg 457 328 0; 579 | #X obj 412 140 r \$0-speed-semitones; 580 | #N canvas 430 53 733 819 from-rack 1; 581 | #X obj 79 58 route K1 K2 K3 K4 K5 K6; 582 | #X obj 214 80 route S1 S2 S3 S4 S5 S6; 583 | #X obj 79 36 r fromRack; 584 | #X obj 101 211 i; 585 | #X obj 101 169 * 128; 586 | #X obj 101 190 - 64; 587 | #X obj 101 232 s \$0-speed-semitones; 588 | #X obj 79 79 * 30; 589 | #X obj 79 100 i; 590 | #X obj 79 141 s \$0-sample-select; 591 | #X obj 79 121 change; 592 | #X obj 124 316 i; 593 | #X obj 124 337 s \$0-transpose; 594 | #X obj 124 274 * 128; 595 | #X obj 124 295 - 128; 596 | #X obj 146 406 i; 597 | #X obj 146 385 f; 598 | #X obj 146 427 s \$0-transpose-ran-am; 599 | #X obj 146 364 * 128; 600 | #X obj 169 496 i; 601 | #X obj 169 475 f; 602 | #X obj 169 454 * 100; 603 | #X obj 169 517 s \$0-pos-ran-am; 604 | #X obj 191 604 i; 605 | #X obj 191 583 f; 606 | #X obj 191 625 s \$0-p-env-am; 607 | #X obj 191 562 * 300; 608 | #X obj 214 121 s \$0-preview-sample; 609 | #X obj 214 101 change; 610 | #X obj 236 141 change; 611 | #X obj 236 161 s \$0-stop-preview-sample; 612 | #X obj 259 185 change; 613 | #X obj 259 270 s \$0-reverse; 614 | #X obj 259 206 sel 1; 615 | #X obj 259 230 +; 616 | #X obj 308 214 + 1; 617 | #X obj 259 250 % 2; 618 | #X obj 355 214 loadbang; 619 | #X connect 0 0 7 0; 620 | #X connect 0 1 4 0; 621 | #X connect 0 2 13 0; 622 | #X connect 0 3 18 0; 623 | #X connect 0 4 21 0; 624 | #X connect 0 5 26 0; 625 | #X connect 0 6 1 0; 626 | #X connect 1 0 28 0; 627 | #X connect 1 1 29 0; 628 | #X connect 1 2 31 0; 629 | #X connect 2 0 0 0; 630 | #X connect 3 0 6 0; 631 | #X connect 4 0 5 0; 632 | #X connect 5 0 3 0; 633 | #X connect 7 0 8 0; 634 | #X connect 8 0 10 0; 635 | #X connect 10 0 9 0; 636 | #X connect 11 0 12 0; 637 | #X connect 13 0 14 0; 638 | #X connect 14 0 11 0; 639 | #X connect 15 0 17 0; 640 | #X connect 16 0 15 0; 641 | #X connect 18 0 16 0; 642 | #X connect 19 0 22 0; 643 | #X connect 20 0 19 0; 644 | #X connect 21 0 20 0; 645 | #X connect 23 0 25 0; 646 | #X connect 24 0 23 0; 647 | #X connect 26 0 24 0; 648 | #X connect 28 0 27 0; 649 | #X connect 29 0 30 0; 650 | #X connect 31 0 33 0; 651 | #X connect 33 0 34 0; 652 | #X connect 34 0 35 0; 653 | #X connect 34 0 36 0; 654 | #X connect 35 0 34 1; 655 | #X connect 36 0 32 0; 656 | #X connect 37 0 34 0; 657 | #X restore 216 18 pd from-rack; 658 | #N canvas 144 143 1255 679 to-rack 0; 659 | #X obj 123 246 print toRack; 660 | #X obj 123 21 r \$0-sample-select; 661 | #X obj 146 44 r \$0-speed-semitones; 662 | #X obj 146 65 t b f; 663 | #X obj 156 139 t b f; 664 | #X obj 156 88 r \$0-transpose; 665 | #X obj 156 109 + 64; 666 | #X obj 410 106 r \$0-pos-ran-am; 667 | #X obj 410 127 t b f; 668 | #X obj 267 114 t b f; 669 | #X obj 267 93 r \$0-transpose-ran-am; 670 | #X obj 525 166 r \$0-p-env-am; 671 | #X obj 525 187 t b f; 672 | #X obj 123 188 pack f f f f f f; 673 | #X msg 123 207 display K1-Sample-\$1 K2-Sp-\$2 K3-Transp-\$3 K4-Tr-R-Am-\$4 674 | K5-Pos-R-Am-\$5 K6-P-Env-Am-\$6; 675 | #X msg 622 230 L1 \$1 \$2 \$3; 676 | #X obj 622 201 pack f f f; 677 | #X obj 637 173 t b f; 678 | #X obj 679 174 t b f; 679 | #X obj 622 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #fc0400 680 | #000000 #000000 400 1; 681 | #X obj 637 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #00fc04 682 | #000000 #000000 2200 1; 683 | #X obj 652 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #0400fc 684 | #000000 #000000 3400 1; 685 | #X obj 784 177 sel 0 1; 686 | #X msg 784 201 0 0 0; 687 | #X obj 784 151 r \$0-preview-sample; 688 | #X obj 912 201 pack f f f; 689 | #X obj 927 173 t b f; 690 | #X obj 969 174 t b f; 691 | #X obj 912 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #fc0400 692 | #000000 #000000 400 1; 693 | #X obj 927 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #00fc04 694 | #000000 #000000 2200 1; 695 | #X obj 942 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #0400fc 696 | #000000 #000000 3400 1; 697 | #X obj 1074 177 sel 0 1; 698 | #X msg 1074 201 0 0 0; 699 | #X msg 912 230 L2 \$1 \$2 \$3; 700 | #X obj 1074 151 r \$0-stop-preview-sample; 701 | #X obj 502 462 pack f f f; 702 | #X obj 517 434 t b f; 703 | #X obj 559 435 t b f; 704 | #X obj 502 359 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #fc0400 705 | #000000 #000000 400 1; 706 | #X obj 517 359 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #00fc04 707 | #000000 #000000 2200 1; 708 | #X obj 532 359 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #0400fc 709 | #000000 #000000 3400 1; 710 | #X obj 664 438 sel 0 1; 711 | #X msg 664 462 0 0 0; 712 | #X msg 502 491 L3 \$1 \$2 \$3; 713 | #X obj 664 341 r \$0-reverse; 714 | #X connect 1 0 13 0; 715 | #X connect 2 0 3 0; 716 | #X connect 3 0 13 0; 717 | #X connect 3 1 13 1; 718 | #X connect 4 0 13 0; 719 | #X connect 4 1 13 2; 720 | #X connect 5 0 6 0; 721 | #X connect 6 0 4 0; 722 | #X connect 7 0 8 0; 723 | #X connect 8 0 13 0; 724 | #X connect 8 1 13 4; 725 | #X connect 9 0 13 0; 726 | #X connect 9 1 13 3; 727 | #X connect 10 0 9 0; 728 | #X connect 11 0 12 0; 729 | #X connect 12 0 13 0; 730 | #X connect 12 1 13 5; 731 | #X connect 13 0 14 0; 732 | #X connect 14 0 0 0; 733 | #X connect 15 0 0 0; 734 | #X connect 16 0 15 0; 735 | #X connect 17 0 16 0; 736 | #X connect 17 1 16 1; 737 | #X connect 18 0 16 0; 738 | #X connect 18 1 16 2; 739 | #X connect 19 0 16 0; 740 | #X connect 20 0 17 0; 741 | #X connect 21 0 18 0; 742 | #X connect 22 0 23 0; 743 | #X connect 22 1 20 0; 744 | #X connect 22 1 21 0; 745 | #X connect 22 1 19 0; 746 | #X connect 23 0 15 0; 747 | #X connect 24 0 22 0; 748 | #X connect 25 0 33 0; 749 | #X connect 26 0 25 0; 750 | #X connect 26 1 25 1; 751 | #X connect 27 0 25 0; 752 | #X connect 27 1 25 2; 753 | #X connect 28 0 25 0; 754 | #X connect 29 0 26 0; 755 | #X connect 30 0 27 0; 756 | #X connect 31 0 32 0; 757 | #X connect 31 1 29 0; 758 | #X connect 31 1 30 0; 759 | #X connect 31 1 28 0; 760 | #X connect 32 0 33 0; 761 | #X connect 33 0 0 0; 762 | #X connect 34 0 31 0; 763 | #X connect 35 0 43 0; 764 | #X connect 36 0 35 0; 765 | #X connect 36 1 35 1; 766 | #X connect 37 0 35 0; 767 | #X connect 37 1 35 2; 768 | #X connect 38 0 35 0; 769 | #X connect 39 0 36 0; 770 | #X connect 40 0 37 0; 771 | #X connect 41 0 42 0; 772 | #X connect 41 1 39 0; 773 | #X connect 41 1 40 0; 774 | #X connect 41 1 38 0; 775 | #X connect 42 0 43 0; 776 | #X connect 43 0 0 0; 777 | #X connect 44 0 41 0; 778 | #X restore 216 38 pd to-rack; 779 | #X obj 312 18 r \$0-sample-select; 780 | #X obj 495 304 r \$0-transpose; 781 | #X obj 495 340 f; 782 | #X obj 339 290 r \$0-transpose-ran-am; 783 | #X obj 522 228 r \$0-pos-ran-am; 784 | #X obj 599 295 r \$0-p-env-am; 785 | #X obj 558 155 r \$0-reverse; 786 | #X obj 153 352 line~; 787 | #X msg 153 327 0 \, 1 2000; 788 | #X obj 153 306 loadbang; 789 | #X obj 55 389 *~; 790 | #X obj 55 413 dac~ 1 2; 791 | #X obj 100 389 *~; 792 | #X obj 153 373 *~; 793 | #X connect 0 0 5 0; 794 | #X connect 1 0 5 1; 795 | #X connect 3 0 2 1; 796 | #X connect 4 0 2 3; 797 | #X connect 6 0 2 0; 798 | #X connect 7 0 2 4; 799 | #X connect 8 0 2 2; 800 | #X connect 8 0 15 0; 801 | #X connect 10 0 11 0; 802 | #X connect 13 0 12 0; 803 | #X connect 14 0 58 0; 804 | #X connect 16 0 17 0; 805 | #X connect 19 0 18 0; 806 | #X connect 22 0 21 0; 807 | #X connect 24 0 28 0; 808 | #X connect 26 0 27 0; 809 | #X connect 27 0 23 0; 810 | #X connect 28 0 25 0; 811 | #X connect 29 0 30 0; 812 | #X connect 33 0 34 0; 813 | #X connect 34 0 66 0; 814 | #X connect 34 1 68 0; 815 | #X connect 35 0 36 0; 816 | #X connect 36 0 37 0; 817 | #X connect 36 1 38 0; 818 | #X connect 39 0 36 1; 819 | #X connect 40 0 36 2; 820 | #X connect 43 0 44 0; 821 | #X connect 43 1 45 0; 822 | #X connect 46 0 33 0; 823 | #X connect 49 0 50 0; 824 | #X connect 50 0 48 0; 825 | #X connect 51 0 46 0; 826 | #X connect 52 0 14 0; 827 | #X connect 53 0 3 0; 828 | #X connect 56 0 35 0; 829 | #X connect 57 0 14 0; 830 | #X connect 58 0 9 0; 831 | #X connect 59 0 21 0; 832 | #X connect 60 0 10 0; 833 | #X connect 61 0 26 0; 834 | #X connect 62 0 8 0; 835 | #X connect 63 0 69 0; 836 | #X connect 63 0 69 1; 837 | #X connect 64 0 63 0; 838 | #X connect 65 0 64 0; 839 | #X connect 66 0 67 0; 840 | #X connect 68 0 67 1; 841 | #X connect 69 0 66 1; 842 | #X connect 69 0 68 1; 843 | -------------------------------------------------------------------------------- /Granular21-VCV-Prototype/Prototype PD Grain .vcv: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.1.6", 3 | "modules": [ 4 | { 5 | "id": 1, 6 | "plugin": "Core", 7 | "version": "1.1.6", 8 | "model": "AudioInterface", 9 | "params": [], 10 | "leftModuleId": 538, 11 | "data": { 12 | "audio": { 13 | "driver": 5, 14 | "deviceName": "Apple Inc.: MacBook Pro Speakers", 15 | "offset": 0, 16 | "maxChannels": 8, 17 | "sampleRate": 44100, 18 | "blockSize": 256 19 | } 20 | }, 21 | "pos": [ 22 | 48, 23 | 0 24 | ] 25 | }, 26 | { 27 | "id": 2, 28 | "plugin": "Fundamental", 29 | "version": "1.4.0", 30 | "model": "VCMixer", 31 | "params": [ 32 | { 33 | "id": 0, 34 | "value": 2.0 35 | }, 36 | { 37 | "id": 1, 38 | "value": 1.0 39 | }, 40 | { 41 | "id": 2, 42 | "value": 1.0 43 | }, 44 | { 45 | "id": 3, 46 | "value": 1.0 47 | }, 48 | { 49 | "id": 4, 50 | "value": 1.0 51 | } 52 | ], 53 | "leftModuleId": 7, 54 | "rightModuleId": 538, 55 | "pos": [ 56 | 28, 57 | 0 58 | ] 59 | }, 60 | { 61 | "id": 7, 62 | "plugin": "Fundamental", 63 | "version": "1.4.0", 64 | "model": "Scope", 65 | "params": [ 66 | { 67 | "id": 0, 68 | "value": 0.0 69 | }, 70 | { 71 | "id": 1, 72 | "value": 0.0 73 | }, 74 | { 75 | "id": 2, 76 | "value": 0.0 77 | }, 78 | { 79 | "id": 3, 80 | "value": 0.0 81 | }, 82 | { 83 | "id": 4, 84 | "value": 14.0 85 | }, 86 | { 87 | "id": 5, 88 | "value": 0.0 89 | }, 90 | { 91 | "id": 6, 92 | "value": 0.0 93 | }, 94 | { 95 | "id": 7, 96 | "value": 0.0 97 | } 98 | ], 99 | "leftModuleId": 394, 100 | "rightModuleId": 2, 101 | "data": { 102 | "lissajous": 0, 103 | "external": 0 104 | }, 105 | "pos": [ 106 | 15, 107 | 0 108 | ] 109 | }, 110 | { 111 | "id": 394, 112 | "plugin": "VCV-Prototype", 113 | "version": "1.3.0", 114 | "model": "Prototype", 115 | "params": [ 116 | { 117 | "id": 0, 118 | "value": 0.102000922 119 | }, 120 | { 121 | "id": 1, 122 | "value": 0.5 123 | }, 124 | { 125 | "id": 2, 126 | "value": 0.5 127 | }, 128 | { 129 | "id": 3, 130 | "value": 0.0 131 | }, 132 | { 133 | "id": 4, 134 | "value": 0.587999821 135 | }, 136 | { 137 | "id": 5, 138 | "value": 0.166499957 139 | }, 140 | { 141 | "id": 6, 142 | "value": 0.0 143 | }, 144 | { 145 | "id": 7, 146 | "value": 0.0 147 | }, 148 | { 149 | "id": 8, 150 | "value": 0.0 151 | }, 152 | { 153 | "id": 9, 154 | "value": 0.0 155 | }, 156 | { 157 | "id": 10, 158 | "value": 0.0 159 | }, 160 | { 161 | "id": 11, 162 | "value": 0.0 163 | } 164 | ], 165 | "rightModuleId": 7, 166 | "data": { 167 | "path": "/Users/jakobskouborg/Documents/Rack/patches/PrototypePd2 Grain/Prototype Grain Community/PD/Granular21-Prototype.pd", 168 | "script": "#N canvas 479 142 869 479 10;\n#X obj 625 181 bng 14 250 50 0 empty empty Ph 3 8 0 8 #fcfcfc #000000\n#000000;\n#X obj 694 181 nbx 4 14 0 100 0 1 empty empty Ph 26 8 0 8 #fcfcfc #000000\n#000000 0 256;\n#N canvas 14 86 447 598 phasor-main 0;\n#X obj 97 369 phasor~;\n#X floatatom 248 84 5 0 0 0 - - - 0;\n#X obj 201 13 r speed-in-hz;\n#X obj 201 52 t b f;\n#X obj 136 350 r retrig;\n#X text 148 369 <<< Use same phasor for all grains;\n#X obj 97 490 *~;\n#X obj 253 420 nbx 4 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 0 256;\n#X obj 253 436 * 0.01;\n#X obj 253 474 vline~;\n#X obj 253 455 pack 0 500;\n#X text 304 419 Main Phasor multiplyer;\n#X obj 97 52 inlet;\n#X obj 253 397 inlet;\n#N canvas 0 23 450 300 sine/cos 0;\n#X obj 127 53 inlet~;\n#X obj 128 123 cos~;\n#X obj 127 102 wrap~;\n#X obj 128 149 *~ 0.5;\n#X obj 128 171 +~ 0.5;\n#X obj 128 193 outlet~;\n#X obj 127 81 +~ 0;\n#X connect 0 0 6 0;\n#X connect 1 0 3 0;\n#X connect 2 0 1 0;\n#X connect 3 0 4 0;\n#X connect 4 0 5 0;\n#X connect 6 0 2 0;\n#X restore 125 406 pd sine/cos;\n#X obj 51 388 inlet;\n#X floatatom 51 410 5 0 0 0 - - - 0;\n#X obj 97 539 s~ phasor-main;\n#X obj 377 465 * 0.01;\n#X obj 377 503 vline~;\n#X text 325 464 Position;\n#X obj 97 519 +~;\n#X obj 377 446 inlet;\n#X obj 173 68 +;\n#X obj 201 33 ftom;\n#X obj 173 90 mtof;\n#X floatatom 248 106 10 0 0 0 - - - 0;\n#X obj 134 294 * -1;\n#X floatatom 144 312 5 0 0 0 - - - 0;\n#X obj 134 271 sel 0 1;\n#X obj 97 287 f;\n#X obj 134 252 t f f;\n#X obj 193 236 inlet reverse;\n#X obj 97 71 != -64;\n#X obj 97 90 t f f;\n#X obj 173 125 f;\n#X obj 97 109 sel 0 1;\n#X msg 97 128 0;\n#X text 51 286 Reverse;\n#X text 90 145 Stop = -64;\n#X obj 377 484 pack 0 10;\n#N canvas 515 366 396 291 spigot~ 0;\n#X obj 52 40 inlet~;\n#X obj 332 62 inlet;\n#X obj 146 185 outlet~;\n#X obj 52 102 *~;\n#X obj 67 78 == 0;\n#X obj 112 40 inlet~;\n#X obj 112 102 *~;\n#X obj 127 78 == 1;\n#X connect 0 0 3 0;\n#X connect 1 0 4 0;\n#X connect 1 0 7 0;\n#X connect 3 0 2 0;\n#X connect 4 0 3 1;\n#X connect 5 0 6 0;\n#X connect 6 0 2 0;\n#X connect 7 0 6 1;\n#X restore 97 458 pd spigot~;\n#N canvas 0 23 450 300 mux-spigot 0;\n#X obj 126 82 inlet;\n#X obj 126 143 spigot;\n#X obj 159 119 == 0;\n#X obj 206 82 inlet;\n#X obj 206 143 spigot;\n#X obj 239 119 == 1;\n#X obj 276 103 inlet;\n#X obj 179 189 outlet;\n#X connect 0 0 1 0;\n#X connect 1 0 7 0;\n#X connect 2 0 1 1;\n#X connect 3 0 4 0;\n#X connect 4 0 7 0;\n#X connect 5 0 4 1;\n#X connect 6 0 5 0;\n#X connect 6 0 2 0;\n#X restore 97 331 pd mux-spigot;\n#X floatatom 193 257 5 0 0 0 - - - 0;\n#N canvas 0 23 450 300 mux-spigot 0;\n#X obj 126 82 inlet;\n#X obj 126 143 spigot;\n#X obj 159 119 == 0;\n#X obj 206 82 inlet;\n#X obj 206 143 spigot;\n#X obj 239 119 == 1;\n#X obj 276 103 inlet;\n#X obj 179 189 outlet;\n#X connect 0 0 1 0;\n#X connect 1 0 7 0;\n#X connect 2 0 1 1;\n#X connect 3 0 4 0;\n#X connect 4 0 7 0;\n#X connect 5 0 4 1;\n#X connect 6 0 5 0;\n#X connect 6 0 2 0;\n#X restore 97 188 pd mux-spigot;\n#X connect 0 0 14 0;\n#X connect 0 0 41 0;\n#X connect 2 0 24 0;\n#X connect 3 0 23 0;\n#X connect 3 1 23 1;\n#X connect 4 0 0 1;\n#X connect 6 0 21 0;\n#X connect 7 0 8 0;\n#X connect 8 0 10 0;\n#X connect 9 0 6 1;\n#X connect 10 0 9 0;\n#X connect 12 0 23 0;\n#X connect 12 0 33 0;\n#X connect 13 0 8 0;\n#X connect 14 0 41 1;\n#X connect 15 0 16 0;\n#X connect 15 0 41 2;\n#X connect 18 0 40 0;\n#X connect 19 0 21 1;\n#X connect 21 0 17 0;\n#X connect 22 0 18 0;\n#X connect 23 0 25 0;\n#X connect 23 0 1 0;\n#X connect 24 0 3 0;\n#X connect 25 0 26 0;\n#X connect 25 0 35 0;\n#X connect 27 0 28 0;\n#X connect 27 0 42 1;\n#X connect 29 0 30 0;\n#X connect 29 1 27 0;\n#X connect 30 0 42 0;\n#X connect 31 0 29 0;\n#X connect 31 1 42 2;\n#X connect 32 0 31 0;\n#X connect 32 0 43 0;\n#X connect 33 0 34 0;\n#X connect 34 0 36 0;\n#X connect 34 1 44 2;\n#X connect 35 0 44 1;\n#X connect 36 0 37 0;\n#X connect 36 1 35 0;\n#X connect 37 0 44 0;\n#X connect 40 0 19 0;\n#X connect 41 0 6 0;\n#X connect 42 0 0 0;\n#X connect 44 0 27 0;\n#X connect 44 0 30 0;\n#X restore 312 192 pd phasor-main;\n#X obj 412 178 nbx 4 14 -64 128 0 1 empty empty Speed 0 -8 0 10 #fcfcfc\n#000000 #000000 0 256;\n#X obj 459 178 nbx 4 14 0 100 0 1 empty empty Multiply 0 -8 0 10 #fcfcfc\n#000000 #000000 100 256;\n#N canvas 0 23 450 300 phase-rst 0;\n#X obj 133 79 t b;\n#X obj 133 130 s retrig;\n#X msg 133 111 0;\n#X msg 167 94 set \\$1;\n#X obj 167 75 * 0.01;\n#X obj 216 94 loadbang;\n#X obj 133 22 inlet;\n#X obj 167 43 inlet;\n#X connect 0 0 2 0;\n#X connect 2 0 1 0;\n#X connect 3 0 2 0;\n#X connect 4 0 3 0;\n#X connect 5 0 2 0;\n#X connect 6 0 0 0;\n#X connect 7 0 4 0;\n#X restore 625 197 pd phase-rst;\n#N canvas 0 22 450 300 select-wave 0;\n#X obj 100 100 hradio 14 1 1 2 empty empty Saw 2 8 0 10 #fcfcfc #fcc4c4\n#000000 0;\n#X obj 100 119 outlet;\n#N canvas 0 22 450 300 select 0;\n#X obj 126 67 inlet;\n#X obj 126 89 sel 0 1;\n#X obj 126 156 outlet;\n#X msg 126 111 label Saw;\n#X msg 145 133 label Sin;\n#X connect 0 0 1 0;\n#X connect 1 0 3 0;\n#X connect 1 1 4 0;\n#X connect 3 0 2 0;\n#X connect 4 0 2 0;\n#X restore 100 73 pd select;\n#X connect 0 0 1 0;\n#X connect 0 0 2 0;\n#X connect 2 0 0 0;\n#X coords 0 -1 1 1 28 14 2 100 100;\n#X restore 381 178 pd select-wave;\n#X obj 510 178 nbx 4 14 0 100 0 1 empty empty Phase 0 -8 0 10 #fcfcfc\n#000000 #000000 0 256;\n#X obj 558 178 tgl 14 1 empty empty empty 17 7 0 10 #fcfcfc #000000\n#000000 0 1;\n#X obj 495 358 s note-pitch;\n#X obj 522 249 nbx 3 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 1 256;\n#X obj 522 266 s random-position;\n#X obj 312 266 s grain-on;\n#X obj 312 250 nbx 3 14 1 64 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 64 256;\n#X obj 495 324 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10\n#fcfcfc #000000 #000000 0 256;\n#X obj 558 197 s reverse;\n#X obj 378 250 hradio 14 1 1 2 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 0;\n#X obj 378 266 s saw/sine;\n#X obj 444 266 s grain-size;\n#X obj 444 250 nbx 3 14 1 2048 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 50 256;\n#N canvas 0 22 450 278 (subpatch) 0;\n#X array grain 1.2366e+06 float 0;\n#X coords 0 1 1.2366e+06 -1 200 100 1 0 0;\n#X restore 8 18 graph;\n#X obj 396 358 s ran-pitch-am;\n#X obj 396 324 nbx 3 14 0 400 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 0 256;\n#X obj 580 358 s env-am;\n#X obj 635 324 nbx 5 14 1 100 1 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 100 256;\n#X obj 635 358 s env-time;\n#X obj 580 324 nbx 4 14 0 1000 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 0 256;\n#X obj 580 340 * 0.01;\n#X obj 635 340 * 0.01;\n#X obj 312 324 nbx 5 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 100 256;\n#X obj 312 358 s p-env-prob;\n#N canvas 352 78 508 652 window-functions 0;\n#X obj 182 337 phasor~ 1;\n#X obj 329 186 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000\n#000000 0 1;\n#X obj 264 220 metro 1000;\n#X obj 182 385 expr~ abs((abs($v1-0.5)*2)-1);\n#X obj 201 425 expr~ min($v1*2 \\, 1);\n#X obj 220 525 expr~ pow($v1 \\, 8);\n#X obj 264 242 +;\n#X obj 228 226 + 1;\n#X obj 264 261 sel 1;\n#X msg 264 280 0;\n#X obj 220 505 expr~ abs($v1-0.5)*2;\n#X obj 220 545 expr~ abs($v1-1);\n#X msg 71 205 normalize 1;\n#X obj 210 445 expr~ abs($v1-0.5)*2;\n#X obj 210 485 expr~ abs($v1-1);\n#X obj 210 465 expr~ pow($v1 \\, 0.5);\n#X obj 329 154 loadbang;\n#X text 130 385 Triangle;\n#X text 169 405 Cos;\n#N canvas 0 23 450 300 cosinus 0;\n#X obj 173 85 inlet~;\n#X obj 173 147 cos~;\n#X obj 173 166 *~ 0.5;\n#X obj 173 185 +~ 0.5;\n#X obj 173 128 wrap~;\n#X obj 173 109 +~ 0.5;\n#X obj 173 207 outlet~;\n#X connect 0 0 5 0;\n#X connect 1 0 2 0;\n#X connect 2 0 3 0;\n#X connect 3 0 6 0;\n#X connect 4 0 1 0;\n#X connect 5 0 4 0;\n#X restore 191 405 pd cosinus;\n#X text 131 425 Trapazoid 1;\n#X text 140 445 Trapazoid 2;\n#X text 150 505 Trapazoid 3;\n#X obj 200 170 t b b f;\n#X obj 182 591 tabwrite~ Window;\n#X obj 71 224 s Window;\n#X obj 200 100 hradio 14 1 1 5 empty empty Trapazoid-3 2 8 0 10 #fcfcfc\n#fcc4c4 #000000 4;\n#N canvas 0 22 450 300 label 0;\n#X obj 129 48 inlet;\n#X obj 129 70 sel 0 1 2 3 4;\n#X msg 129 92 label Triangle;\n#X obj 129 189 outlet;\n#X msg 144 112 label Cosinus;\n#X msg 159 132 label Trapazoid-1;\n#X msg 174 152 label Trapazoid-2;\n#X msg 189 172 label Trapazoid-3;\n#X connect 0 0 1 0;\n#X connect 1 0 2 0;\n#X connect 1 1 4 0;\n#X connect 1 2 5 0;\n#X connect 1 3 6 0;\n#X connect 1 4 7 0;\n#X connect 2 0 3 0;\n#X connect 4 0 3 0;\n#X connect 5 0 3 0;\n#X connect 6 0 3 0;\n#X connect 7 0 3 0;\n#X restore 200 70 pd label;\n#X obj 71 186 del 1001;\n#N canvas 515 366 592 291 spigot~ 0;\n#X obj 52 40 inlet~;\n#X obj 432 62 inlet;\n#X obj 432 118 outlet~;\n#X obj 52 102 *~;\n#X obj 67 78 == 0;\n#X obj 112 40 inlet~;\n#X obj 112 102 *~;\n#X obj 172 40 inlet~;\n#X obj 172 102 *~;\n#X obj 232 40 inlet~;\n#X obj 232 102 *~;\n#X obj 127 78 == 1;\n#X obj 187 78 == 2;\n#X obj 247 78 == 3;\n#X obj 292 40 inlet~;\n#X obj 292 102 *~;\n#X obj 352 40 inlet~;\n#X obj 352 102 *~;\n#X obj 307 78 == 4;\n#X obj 367 78 == 5;\n#X connect 0 0 3 0;\n#X connect 1 0 4 0;\n#X connect 1 0 11 0;\n#X connect 1 0 13 0;\n#X connect 1 0 12 0;\n#X connect 1 0 18 0;\n#X connect 1 0 19 0;\n#X connect 3 0 2 0;\n#X connect 4 0 3 1;\n#X connect 5 0 6 0;\n#X connect 6 0 2 0;\n#X connect 7 0 8 0;\n#X connect 8 0 2 0;\n#X connect 9 0 10 0;\n#X connect 10 0 2 0;\n#X connect 11 0 6 1;\n#X connect 12 0 8 1;\n#X connect 13 0 10 1;\n#X connect 14 0 15 0;\n#X connect 15 0 2 0;\n#X connect 16 0 17 0;\n#X connect 17 0 2 0;\n#X connect 18 0 15 1;\n#X connect 19 0 17 1;\n#X restore 182 566 pd spigot~;\n#X obj 315 575 sel 1;\n#X obj 315 595 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc\n#000000 #000000;\n#X obj 264 201 t f f f f;\n#X obj 298 300 sel 1;\n#X msg 298 321 0;\n#X text 112 337 1hz = 1 sec;\n#X connect 0 0 3 0;\n#X connect 0 0 10 0;\n#X connect 0 0 13 0;\n#X connect 0 0 19 0;\n#X connect 1 0 32 0;\n#X connect 2 0 6 0;\n#X connect 3 0 4 0;\n#X connect 3 0 29 0;\n#X connect 4 0 29 2;\n#X connect 5 0 11 0;\n#X connect 6 0 7 0;\n#X connect 6 0 8 0;\n#X connect 7 0 6 1;\n#X connect 8 0 9 0;\n#X connect 9 0 1 0;\n#X connect 10 0 5 0;\n#X connect 11 0 29 4;\n#X connect 12 0 25 0;\n#X connect 13 0 15 0;\n#X connect 14 0 29 3;\n#X connect 15 0 14 0;\n#X connect 16 0 1 0;\n#X connect 19 0 29 1;\n#X connect 23 0 28 0;\n#X connect 23 1 1 0;\n#X connect 23 2 29 6;\n#X connect 26 0 27 0;\n#X connect 26 0 23 0;\n#X connect 27 0 26 0;\n#X connect 28 0 12 0;\n#X connect 29 0 24 0;\n#X connect 30 0 31 0;\n#X connect 30 0 24 0;\n#X connect 32 0 2 0;\n#X connect 32 1 6 1;\n#X connect 32 2 33 0;\n#X connect 32 3 30 0;\n#X connect 33 0 34 0;\n#X connect 34 0 0 1;\n#X coords 0 -1 1 1 70 14 2 200 100;\n#X restore 8 185 pd window-functions;\n#N canvas 0 50 450 250 (subpatch) 0;\n#X array Window 48000 float 4;\n#X coords 0 1 47999 0 70 50 1 0 0;\n#X restore 8 133 graph;\n#N canvas 0 23 450 300 test-prev 0;\n#X obj 135 157 r~ preview-audio;\n#X obj 60 242 outlet~;\n#X obj 27 180 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000\n#000000 0 1;\n#N canvas 146 334 310 265 crossfade~ 0;\n#X obj 139 157 *~;\n#X obj 209 157 *~;\n#X obj 88 118 *~ -1;\n#X obj 88 140 +~ 1;\n#X obj 88 83 +~;\n#X obj 183 193 outlet~;\n#X obj 139 103 inlet~;\n#X obj 209 103 inlet~;\n#X obj 88 59 vline~;\n#X obj 88 15 inlet;\n#X obj 88 37 pack 0 100;\n#X connect 0 0 5 0;\n#X connect 1 0 5 0;\n#X connect 2 0 3 0;\n#X connect 3 0 0 1;\n#X connect 4 0 2 0;\n#X connect 4 0 1 1;\n#X connect 6 0 0 0;\n#X connect 7 0 1 0;\n#X connect 8 0 4 0;\n#X connect 9 0 10 0;\n#X connect 10 0 8 0;\n#X restore 60 195 pd crossfade~;\n#X obj 97 95 inlet~;\n#X obj 27 73 r preview-auto;\n#X connect 0 0 3 2;\n#X connect 2 0 3 0;\n#X connect 3 0 1 0;\n#X connect 4 0 3 1;\n#X connect 5 0 2 0;\n#X restore 34 333 pd test-prev;\n#N canvas 0 23 450 300 out 0;\n#X obj 95 136 *~;\n#X obj 160 136 *~;\n#X obj 203 100 hsl 100 15 0 1 0 1 empty empty Volume 2 8 0 10 #fcfcfc\n#000000 #000000 9900 1;\n#X obj 200 120 sig~;\n#X obj 95 57 inlet~;\n#X obj 95 157 outlet~;\n#X obj 160 157 outlet~;\n#X connect 0 0 5 0;\n#X connect 1 0 6 0;\n#X connect 2 0 3 0;\n#X connect 3 0 0 1;\n#X connect 3 0 1 1;\n#X connect 4 0 0 0;\n#X connect 4 0 1 0;\n#X coords 0 -1 1 1 105 15 2 200 100;\n#X restore 34 351 pd out;\n#X obj 312 54 nbx 5 14 1 30 0 1 empty empty Wav-File 0 -8 0 10 #fcfcfc\n#000000 #000000 2 256;\n#N canvas 221 25 627 548 tablemath 0;\n#X obj 65 67 soundfiler;\n#X obj 65 124 /;\n#X obj 139 83 s size-in-samples;\n#X obj 65 86 t b f;\n#X obj 65 105 samplerate~;\n#X obj 139 140 s speed-in-hz;\n#X obj 65 25 inlet;\n#X obj 14 83 outlet;\n#X obj 65 146 outlet;\n#X floatatom 14 121 6 0 0 0 - - - 0;\n#X obj 216 375 tabplay~ grain;\n#X obj 206 316 inlet;\n#X obj 216 423 s~ preview-audio;\n#X msg 206 442 1;\n#X msg 328 442 0;\n#X obj 206 468 s preview-auto;\n#X obj 216 397 *~ 2;\n#X obj 328 306 inlet;\n#X obj 139 121 s sample-rate;\n#X obj 216 347 delay 500;\n#X obj 328 391 delay 500;\n#X obj 135 280 r \\$0-preview-sample;\n#X obj 135 301 sel 1;\n#X obj 391 337 sel 1;\n#X obj 391 316 r \\$0-stop-preview-sample;\n#X msg 65 48 read -resize ../+Sounds+/Audio\\$1.wav grain;\n#X connect 0 0 2 0;\n#X connect 0 0 3 0;\n#X connect 0 0 7 0;\n#X connect 1 0 5 0;\n#X connect 1 0 8 0;\n#X connect 3 0 4 0;\n#X connect 3 1 1 1;\n#X connect 4 0 1 0;\n#X connect 4 0 9 0;\n#X connect 4 0 18 0;\n#X connect 6 0 25 0;\n#X connect 10 0 16 0;\n#X connect 10 1 20 0;\n#X connect 11 0 13 0;\n#X connect 11 0 19 0;\n#X connect 13 0 15 0;\n#X connect 14 0 15 0;\n#X connect 16 0 12 0;\n#X connect 17 0 20 0;\n#X connect 19 0 10 0;\n#X connect 20 0 14 0;\n#X connect 21 0 22 0;\n#X connect 22 0 19 0;\n#X connect 22 0 13 0;\n#X connect 23 0 20 0;\n#X connect 24 0 23 0;\n#X connect 25 0 0 0;\n#X restore 312 70 pd tablemath;\n#X floatatom 312 89 10 0 0 3 Samples - - 0;\n#X floatatom 381 89 10 0 0 3 Hertz - - 0;\n#X obj 391 56 bng 14 250 50 0 empty empty Pr 3 8 0 8 #fcfcfc #000000\n#000000;\n#X obj 411 56 bng 14 250 50 0 empty empty St 3 8 0 8 #fcfcfc #000000\n#000000;\n#X text 440 53 Pr - Preview the clean sound \\, unchanged and mute granular\nplayer., f 65;\n#X text 440 65 St - Stop the preview and go back to granular player.\n;\n#N canvas 0 23 450 300 patchstate 0;\n#X obj 118 168 cputime;\n#X obj 118 28 loadbang;\n#X obj 118 112 metro 1000;\n#X msg 118 56 1;\n#X floatatom 118 84 0 0 0 0 - - - 0;\n#X obj 118 140 t b b;\n#X obj 118 228 * 0.1;\n#X obj 118 197 int;\n#X text 163 84 <-- on/off;\n#X obj 118 250 outlet;\n#X obj 258 207 samplerate~;\n#X obj 258 187 r pd-dsp-started;\n#X floatatom 209 223 7 0 0 0 - - - 0;\n#X obj 258 250 outlet;\n#X connect 0 0 7 0;\n#X connect 1 0 3 0;\n#X connect 2 0 5 0;\n#X connect 3 0 4 0;\n#X connect 4 0 2 0;\n#X connect 5 0 0 0;\n#X connect 5 1 0 1;\n#X connect 6 0 9 0;\n#X connect 7 0 6 0;\n#X connect 10 0 12 0;\n#X connect 10 0 13 0;\n#X connect 11 0 10 0;\n#X restore 8 204 pd patchstate;\n#X floatatom 8 222 5 0 0 3 Cpu-% - - 0;\n#X floatatom 83 222 5 0 0 3 S-Rate - - 0;\n#X obj 34 313 *~ 0.25;\n#N canvas 0 25 518 322 info 0;\n#X text 23 68 I run the patch at 48khz \\, but you should be able to\nrun it at any sample rate., f 73;\n#X text 23 98 The sample that comes with the patch in the ´+Sounds+\nfolder is 48khz!!!!, f 73;\n#X text 23 118 So if you want to run it at 44.1khz \\, you need to convert\nthe sample!!!!, f 73;\n#X text 23 28 Patch by Jakob Skouborg 16.11.21, f 73;\n#X text 23 138 Samples are mono!, f 73;\n#X restore 216 58 pd info;\n#X obj 313 431 s phase-new;\n#X obj 313 392 nbx 4 14 0 100 0 1 empty empty empty 0 -8 0 10 #fcfcfc\n#000000 #000000 0 256;\n#X obj 313 410 * 0.01;\n#X obj 34 293 clone grain 64;\n#X msg 457 328 0;\n#X obj 412 140 r \\$0-speed-semitones;\n#N canvas 430 53 733 819 from-rack 1;\n#X obj 79 58 route K1 K2 K3 K4 K5 K6;\n#X obj 214 80 route S1 S2 S3 S4 S5 S6;\n#X obj 79 36 r fromRack;\n#X obj 101 211 i;\n#X obj 101 169 * 128;\n#X obj 101 190 - 64;\n#X obj 101 232 s \\$0-speed-semitones;\n#X obj 79 79 * 30;\n#X obj 79 100 i;\n#X obj 79 141 s \\$0-sample-select;\n#X obj 79 121 change;\n#X obj 124 316 i;\n#X obj 124 337 s \\$0-transpose;\n#X obj 124 274 * 128;\n#X obj 124 295 - 128;\n#X obj 146 406 i;\n#X obj 146 385 f;\n#X obj 146 427 s \\$0-transpose-ran-am;\n#X obj 146 364 * 128;\n#X obj 169 496 i;\n#X obj 169 475 f;\n#X obj 169 454 * 100;\n#X obj 169 517 s \\$0-pos-ran-am;\n#X obj 191 604 i;\n#X obj 191 583 f;\n#X obj 191 625 s \\$0-p-env-am;\n#X obj 191 562 * 300;\n#X obj 214 121 s \\$0-preview-sample;\n#X obj 214 101 change;\n#X obj 236 141 change;\n#X obj 236 161 s \\$0-stop-preview-sample;\n#X obj 259 185 change;\n#X obj 259 270 s \\$0-reverse;\n#X obj 259 206 sel 1;\n#X obj 259 230 +;\n#X obj 308 214 + 1;\n#X obj 259 250 % 2;\n#X obj 355 214 loadbang;\n#X connect 0 0 7 0;\n#X connect 0 1 4 0;\n#X connect 0 2 13 0;\n#X connect 0 3 18 0;\n#X connect 0 4 21 0;\n#X connect 0 5 26 0;\n#X connect 0 6 1 0;\n#X connect 1 0 28 0;\n#X connect 1 1 29 0;\n#X connect 1 2 31 0;\n#X connect 2 0 0 0;\n#X connect 3 0 6 0;\n#X connect 4 0 5 0;\n#X connect 5 0 3 0;\n#X connect 7 0 8 0;\n#X connect 8 0 10 0;\n#X connect 10 0 9 0;\n#X connect 11 0 12 0;\n#X connect 13 0 14 0;\n#X connect 14 0 11 0;\n#X connect 15 0 17 0;\n#X connect 16 0 15 0;\n#X connect 18 0 16 0;\n#X connect 19 0 22 0;\n#X connect 20 0 19 0;\n#X connect 21 0 20 0;\n#X connect 23 0 25 0;\n#X connect 24 0 23 0;\n#X connect 26 0 24 0;\n#X connect 28 0 27 0;\n#X connect 29 0 30 0;\n#X connect 31 0 33 0;\n#X connect 33 0 34 0;\n#X connect 34 0 35 0;\n#X connect 34 0 36 0;\n#X connect 35 0 34 1;\n#X connect 36 0 32 0;\n#X connect 37 0 34 0;\n#X restore 216 18 pd from-rack;\n#N canvas 144 143 1255 679 to-rack 0;\n#X obj 123 246 print toRack;\n#X obj 123 21 r \\$0-sample-select;\n#X obj 146 44 r \\$0-speed-semitones;\n#X obj 146 65 t b f;\n#X obj 156 139 t b f;\n#X obj 156 88 r \\$0-transpose;\n#X obj 156 109 + 64;\n#X obj 410 106 r \\$0-pos-ran-am;\n#X obj 410 127 t b f;\n#X obj 267 114 t b f;\n#X obj 267 93 r \\$0-transpose-ran-am;\n#X obj 525 166 r \\$0-p-env-am;\n#X obj 525 187 t b f;\n#X obj 123 188 pack f f f f f f;\n#X msg 123 207 display K1-Sample-\\$1 K2-Sp-\\$2 K3-Transp-\\$3 K4-Tr-R-Am-\\$4\nK5-Pos-R-Am-\\$5 K6-P-Env-Am-\\$6;\n#X msg 622 230 L1 \\$1 \\$2 \\$3;\n#X obj 622 201 pack f f f;\n#X obj 637 173 t b f;\n#X obj 679 174 t b f;\n#X obj 622 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #fc0400\n#000000 #000000 400 1;\n#X obj 637 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #00fc04\n#000000 #000000 2200 1;\n#X obj 652 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #0400fc\n#000000 #000000 3400 1;\n#X obj 784 177 sel 0 1;\n#X msg 784 201 0 0 0;\n#X obj 784 151 r \\$0-preview-sample;\n#X obj 912 201 pack f f f;\n#X obj 927 173 t b f;\n#X obj 969 174 t b f;\n#X obj 912 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #fc0400\n#000000 #000000 400 1;\n#X obj 927 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #00fc04\n#000000 #000000 2200 1;\n#X obj 942 98 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #0400fc\n#000000 #000000 3400 1;\n#X obj 1074 177 sel 0 1;\n#X msg 1074 201 0 0 0;\n#X msg 912 230 L2 \\$1 \\$2 \\$3;\n#X obj 1074 151 r \\$0-stop-preview-sample;\n#X obj 502 462 pack f f f;\n#X obj 517 434 t b f;\n#X obj 559 435 t b f;\n#X obj 502 359 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #fc0400\n#000000 #000000 400 1;\n#X obj 517 359 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #00fc04\n#000000 #000000 2200 1;\n#X obj 532 359 vsl 15 50 0 1 0 1 empty empty empty 0 -9 0 10 #0400fc\n#000000 #000000 3400 1;\n#X obj 664 438 sel 0 1;\n#X msg 664 462 0 0 0;\n#X msg 502 491 L3 \\$1 \\$2 \\$3;\n#X obj 664 341 r \\$0-reverse;\n#X connect 1 0 13 0;\n#X connect 2 0 3 0;\n#X connect 3 0 13 0;\n#X connect 3 1 13 1;\n#X connect 4 0 13 0;\n#X connect 4 1 13 2;\n#X connect 5 0 6 0;\n#X connect 6 0 4 0;\n#X connect 7 0 8 0;\n#X connect 8 0 13 0;\n#X connect 8 1 13 4;\n#X connect 9 0 13 0;\n#X connect 9 1 13 3;\n#X connect 10 0 9 0;\n#X connect 11 0 12 0;\n#X connect 12 0 13 0;\n#X connect 12 1 13 5;\n#X connect 13 0 14 0;\n#X connect 14 0 0 0;\n#X connect 15 0 0 0;\n#X connect 16 0 15 0;\n#X connect 17 0 16 0;\n#X connect 17 1 16 1;\n#X connect 18 0 16 0;\n#X connect 18 1 16 2;\n#X connect 19 0 16 0;\n#X connect 20 0 17 0;\n#X connect 21 0 18 0;\n#X connect 22 0 23 0;\n#X connect 22 1 20 0;\n#X connect 22 1 21 0;\n#X connect 22 1 19 0;\n#X connect 23 0 15 0;\n#X connect 24 0 22 0;\n#X connect 25 0 33 0;\n#X connect 26 0 25 0;\n#X connect 26 1 25 1;\n#X connect 27 0 25 0;\n#X connect 27 1 25 2;\n#X connect 28 0 25 0;\n#X connect 29 0 26 0;\n#X connect 30 0 27 0;\n#X connect 31 0 32 0;\n#X connect 31 1 29 0;\n#X connect 31 1 30 0;\n#X connect 31 1 28 0;\n#X connect 32 0 33 0;\n#X connect 33 0 0 0;\n#X connect 34 0 31 0;\n#X connect 35 0 43 0;\n#X connect 36 0 35 0;\n#X connect 36 1 35 1;\n#X connect 37 0 35 0;\n#X connect 37 1 35 2;\n#X connect 38 0 35 0;\n#X connect 39 0 36 0;\n#X connect 40 0 37 0;\n#X connect 41 0 42 0;\n#X connect 41 1 39 0;\n#X connect 41 1 40 0;\n#X connect 41 1 38 0;\n#X connect 42 0 43 0;\n#X connect 43 0 0 0;\n#X connect 44 0 41 0;\n#X restore 216 38 pd to-rack;\n#X obj 312 18 r \\$0-sample-select;\n#X obj 495 304 r \\$0-transpose;\n#X obj 495 340 f;\n#X obj 339 290 r \\$0-transpose-ran-am;\n#X obj 522 228 r \\$0-pos-ran-am;\n#X obj 599 295 r \\$0-p-env-am;\n#X obj 558 155 r \\$0-reverse;\n#X obj 153 352 line~;\n#X msg 153 327 0 \\, 1 2000;\n#X obj 153 306 loadbang;\n#X obj 55 389 *~;\n#X obj 55 413 dac~ 1 2;\n#X obj 100 389 *~;\n#X obj 153 373 *~;\n#X connect 0 0 5 0;\n#X connect 1 0 5 1;\n#X connect 3 0 2 1;\n#X connect 4 0 2 3;\n#X connect 6 0 2 0;\n#X connect 7 0 2 4;\n#X connect 8 0 2 2;\n#X connect 8 0 15 0;\n#X connect 10 0 11 0;\n#X connect 13 0 12 0;\n#X connect 14 0 58 0;\n#X connect 16 0 17 0;\n#X connect 19 0 18 0;\n#X connect 22 0 21 0;\n#X connect 24 0 28 0;\n#X connect 26 0 27 0;\n#X connect 27 0 23 0;\n#X connect 28 0 25 0;\n#X connect 29 0 30 0;\n#X connect 33 0 34 0;\n#X connect 34 0 66 0;\n#X connect 34 1 68 0;\n#X connect 35 0 36 0;\n#X connect 36 0 37 0;\n#X connect 36 1 38 0;\n#X connect 39 0 36 1;\n#X connect 40 0 36 2;\n#X connect 43 0 44 0;\n#X connect 43 1 45 0;\n#X connect 46 0 33 0;\n#X connect 49 0 50 0;\n#X connect 50 0 48 0;\n#X connect 51 0 46 0;\n#X connect 52 0 14 0;\n#X connect 53 0 3 0;\n#X connect 56 0 35 0;\n#X connect 57 0 14 0;\n#X connect 58 0 9 0;\n#X connect 59 0 21 0;\n#X connect 60 0 10 0;\n#X connect 61 0 26 0;\n#X connect 62 0 8 0;\n#X connect 63 0 69 0;\n#X connect 63 0 69 1;\n#X connect 64 0 63 0;\n#X connect 65 0 64 0;\n#X connect 66 0 67 0;\n#X connect 68 0 67 1;\n#X connect 69 0 66 1;\n#X connect 69 0 68 1;\n" 169 | }, 170 | "pos": [ 171 | 0, 172 | 0 173 | ] 174 | }, 175 | { 176 | "id": 537, 177 | "plugin": "Core", 178 | "version": "1.1.6", 179 | "model": "Notes", 180 | "params": [], 181 | "rightModuleId": 539, 182 | "text": "Prototype - Pure Data based 64 voice granular sample player by Jakob Skouborg(Jaffasplaffa).\n\nThis is a bit simplified version of the original PD version that I made a while ago. Prototype only offers 6 knobs and 6 buttons, so had to stay within that limit, therefor a bit simpler. \n\nParameters:\nKnob1 - Sample select \nKnob2 - Speed in semitones \nKnob3 - Pitch in semitones \nKnob4 - Pitch Random \nKnob5 - Position Random \nKno65 - Pitch Envelope Amount\n\nButton1 - Preview original sound\nButton2 - Stop preview original\nButton3 - Reverse main\n\n ", 183 | "pos": [ 184 | 0, 185 | 1 186 | ] 187 | }, 188 | { 189 | "id": 538, 190 | "plugin": "Fundamental", 191 | "version": "1.4.0", 192 | "model": "VCMixer", 193 | "params": [ 194 | { 195 | "id": 0, 196 | "value": 2.0 197 | }, 198 | { 199 | "id": 1, 200 | "value": 1.0 201 | }, 202 | { 203 | "id": 2, 204 | "value": 1.0 205 | }, 206 | { 207 | "id": 3, 208 | "value": 1.0 209 | }, 210 | { 211 | "id": 4, 212 | "value": 1.0 213 | } 214 | ], 215 | "leftModuleId": 2, 216 | "rightModuleId": 1, 217 | "pos": [ 218 | 38, 219 | 0 220 | ] 221 | }, 222 | { 223 | "id": 539, 224 | "plugin": "Core", 225 | "version": "1.1.6", 226 | "model": "Notes", 227 | "params": [], 228 | "leftModuleId": 537, 229 | "text": "Sample select:\nSample select selects a MONO sample from the +Sounds+ folder in the VCV patch folder.\n\nAdd your own samples:\nYou can add your own samples, by renaming wav files to \"Audio1\", \"Audio2\", \"Audio3\" Etc. and then add them to the +Sounds+ folder.\n\n\nTher other parameters are pretty self explanatory,\n\nTo do:\nAdd Pan. Maybe just as on/off?\n\nAdd macros so you can have more parameters.\n\nAdd freeze\n", 230 | "pos": [ 231 | 16, 232 | 1 233 | ] 234 | } 235 | ], 236 | "cables": [ 237 | { 238 | "id": 805, 239 | "outputModuleId": 2, 240 | "outputId": 0, 241 | "inputModuleId": 1, 242 | "inputId": 0, 243 | "color": "#0986ad" 244 | }, 245 | { 246 | "id": 813, 247 | "outputModuleId": 394, 248 | "outputId": 0, 249 | "inputModuleId": 2, 250 | "inputId": 1, 251 | "color": "#c91847" 252 | }, 253 | { 254 | "id": 1134, 255 | "outputModuleId": 538, 256 | "outputId": 0, 257 | "inputModuleId": 1, 258 | "inputId": 1, 259 | "color": "#0c8e15" 260 | }, 261 | { 262 | "id": 1135, 263 | "outputModuleId": 394, 264 | "outputId": 1, 265 | "inputModuleId": 538, 266 | "inputId": 1, 267 | "color": "#c91847" 268 | }, 269 | { 270 | "id": 811, 271 | "outputModuleId": 2, 272 | "outputId": 1, 273 | "inputModuleId": 7, 274 | "inputId": 0, 275 | "color": "#c9b70e" 276 | }, 277 | { 278 | "id": 1136, 279 | "outputModuleId": 538, 280 | "outputId": 1, 281 | "inputModuleId": 7, 282 | "inputId": 1, 283 | "color": "#0986ad" 284 | } 285 | ] 286 | } --------------------------------------------------------------------------------