XML Feeds

.

[maxmsp] Re: FUZZ???

BenCello benjamin.n.levy at wanadoo.fr
Wed Feb 27 05:02:45 MST 2008


Hi !

I am using a distorsion on my (acoustic)cello (among other effects).

As the basic principle of this effect is a non-linear transformation ; instead of using only the clip~ or degrade~ objects, I programed a totaly non linear lookup table replacing the actual samples.

I am generating the lookup table either with some linear segments or with a polynom. To avoid DC output, every generated curve output 0 for 0 input. You may also shape your own curve "by hand".
You can also filter the output with a single-pole lowpass for a better sound and/or amplify the input before shaping it to increase the distorsion effect.

Here is the patch. It is to be included in a bpatcher.
Please let me know what you're thinking of it !

Cheers

BenCello


max v2;
#N vpatcher 1600 188 2379 805;
#P origin 0 -36;
#P user gain~ 36 299 31 31 158 0 1.071519 7.94321 10.;
#P user dial 56 4 40 40 58 1 100 0 142 270 1 1. 253 159 27 83 83 83 119 119 119 224 224 224 0 0 0 0 0 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 8 244 27 9109513 + 1;
#P newex 8 269 39 9109513 gate~ 2;
#P user led 33 6 17 17 3 150;
#P newex 141 86 75 9109513 prepend symbol;
#P message 33 165 32 9109513 move;
#P message 2 165 32 9109513 draw;
#P outlet 36 447 15 0;
#P inlet 37 244 15 0;
#P newex 242 77 45 9109513 loadbang;
#P message 141 109 44 9109513 mode \$1;
#P flonum 53 82 44 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 102 390 28 9109513 mtof;
#P user hslider 53 64 17 28 140 1 0 0;
#P newex 36 413 84 9109513 onepole~ 20000.;
#P flonum 66 166 29 9 0. 1. 3 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 142 129 55 9109513 vzoom \$1;
#P flonum 18 25 33 9 0. 1. 3 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 2 25 15 0;
#N vpatcher 1371 281 1665 797;
#P window setfont "Sans Serif" 9.;
#P newex 54 294 47 9109513 clip -1. 1.;
#P newex 18 344 27 9109513 * 1.;
#P newex 54 269 37 9109513 / 2048.;
#P newex 54 241 39 9109513 - 32766;
#P window linecount 1;
#P newex 130 294 44 9109513 clip 0. 1.;
#P newex 130 318 27 9109513 * -1.;
#P inlet 130 270 15 0;
#P newex 18 380 47 9109513 clip -1. 1.;
#P window linecount 0;
#P newex 81 151 37 9109513 - 1000.;
#P message 42 123 14 9109513 0;
#P newex 81 175 37 9109513 / 1000.;
#P window linecount 1;
#P newex 25 151 27 9109513 f 0;
#P newex 25 177 27 9109513 + 1.;
#P outlet 18 461 15 0;
#P inlet 18 31 15 0;
#P newex 18 431 37 9109513 zl rev;
#P newex 18 407 51 9109513 pack 0. 0;
#P window linecount 0;
#P newex 18 59 27 9109513 t b b;
#P newex 81 199 47 9109513 pack 0. 0;
#P window linecount 1;
#P newex 153 127 67 9109513 random 32768;
#P window linecount 0;
#P newex 18 233 27 9109513 bline;
#P newex 81 127 62 9109513 random 2000;
#P newex 18 95 47 9109513 uzi 65536;
#P connect 8 0 5 0;
#P connect 5 0 0 0;
#P connect 0 0 2 0;
#P connect 4 0 2 0;
#P connect 2 0 21 0;
#P connect 21 0 15 0;
#P connect 15 0 6 0;
#P connect 6 0 7 0;
#P connect 7 0 9 0;
#P connect 0 0 11 0;
#P connect 11 0 10 0;
#P connect 22 0 21 1;
#P connect 17 0 15 1;
#P connect 5 1 13 0;
#P fasten 10 0 11 1 30 203 47 145;
#P connect 13 0 11 1;
#P connect 0 2 19 0;
#P connect 19 0 20 0;
#P connect 20 0 22 0;
#P connect 18 0 15 2;
#P connect 10 0 6 1;
#P fasten 2 1 1 0 40 263 246 263 246 93 86 93;
#P connect 5 1 1 0;
#P connect 1 0 14 0;
#P connect 14 0 12 0;
#P connect 12 0 4 0;
#P connect 3 0 4 1;
#P connect 16 0 18 0;
#P connect 18 0 17 0;
#P fasten 2 1 3 0 40 263 246 263 246 93 158 93;
#P connect 5 1 3 0;
#P pop;
#P newobj 2 42 49 9109513 p linear;
#P flonum 19 62 32 9 0. 1. 3 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 92 265 74 9109513 peek~ $0disto;
#P button 2 62 15 0;
#N vpatcher 474 80 1178 568;
#P window setfont "Sans Serif" 9.;
#P window linecount 0;
#P newex 41 304 44 9109513 clip 0. 1.;
#P newex 41 328 27 9109513 * -1.;
#P inlet 41 285 15 0;
#P outlet 23 430 15 0;
#P inlet 23 27 15 0;
#P window linecount 1;
#P newex 597 158 45 9109513 - 5000.;
#P newex 597 180 88 9109513 / 10000000000.;
#P newex 597 138 76 9109513 random 10000;
#P newex 515 158 45 9109513 - 5000.;
#P newex 515 180 82 9109513 / 1000000000.;
#P newex 515 138 76 9109513 random 10000;
#P newex 433 158 45 9109513 - 5000.;
#P newex 433 180 64 9109513 / 1000000.;
#P newex 433 138 76 9109513 random 10000;
#P newex 23 202 40 9109513 / 100.;
#P newex 23 248 76 9109513 / 700000000.;
#P newex 23 178 51 9109513 - 32768.;
#P newex 23 401 37 9109513 zl rev;
#P newex 269 158 45 9109513 - 5000.;
#P newex 187 158 45 9109513 - 5000.;
#P newex 351 158 45 9109513 - 5000.;
#P newex 105 158 45 9109513 - 5000.;
#P newex 351 180 56 9109513 / 10000.;
#P newex 269 180 41 9109513 / 10.;
#P newex 187 180 42 9109513 * 10.;
#P newex 105 180 47 9109513 * 1000.;
#P newex 23 377 51 9109513 pack 0. 0;
#P newex 351 138 76 9109513 random 10000;
#P newex 269 138 76 9109513 random 10000;
#P newex 187 138 76 9109513 random 10000;
#P newex 105 138 76 9109513 random 10000;
#P message 83 90 14 9109513 0;
#P newex 23 51 40 9109513 t b b b;
#P newex 23 121 27 9109513 f 0;
#P newex 23 147 27 9109513 + 1.;
#P newex 23 89 56 9109513 Uzi 65536;
#P newex 23 354 61 9109513 clip -1. 1.;
#P newex 23 226 590 9109513 expr $f1*$f2+pow($f1\\\,2)*$f3+pow($f1\\\,3)*$f4+pow($f1\\\,4)*$f5+pow($f1\\\,5)*$f6+pow($f1\\\,6)*$f7+pow($f1\\\,7)*$f8;
#P connect 33 0 5 0;
#P connect 5 0 2 0;
#P connect 2 0 4 0;
#P connect 4 0 3 0;
#P connect 3 0 21 0;
#P connect 21 0 23 0;
#P connect 23 0 0 0;
#P connect 0 0 22 0;
#P connect 22 0 1 0;
#P connect 1 0 11 0;
#P connect 11 0 20 0;
#P connect 20 0 34 0;
#P fasten 3 0 4 1 28 173 45 115;
#P connect 6 0 4 1;
#P connect 35 0 37 0;
#P connect 37 0 36 0;
#P connect 36 0 1 1;
#P connect 3 0 11 1;
#P connect 37 0 1 2;
#P connect 5 1 6 0;
#P connect 5 2 7 0;
#P connect 7 0 16 0;
#P connect 16 0 12 0;
#P connect 12 0 0 1;
#P connect 5 2 8 0;
#P connect 8 0 18 0;
#P connect 18 0 13 0;
#P connect 13 0 0 2;
#P connect 5 2 9 0;
#P connect 9 0 19 0;
#P connect 19 0 14 0;
#P connect 14 0 0 3;
#P connect 5 2 10 0;
#P connect 10 0 17 0;
#P connect 17 0 15 0;
#P connect 15 0 0 4;
#P connect 5 2 24 0;
#P connect 24 0 26 0;
#P connect 26 0 25 0;
#P connect 25 0 0 5;
#P connect 5 2 27 0;
#P connect 27 0 29 0;
#P connect 29 0 28 0;
#P connect 28 0 0 6;
#P connect 5 2 30 0;
#P connect 30 0 32 0;
#P connect 32 0 31 0;
#P connect 31 0 0 7;
#P pop;
#P newobj 2 79 50 9109513 p polynom;
#P message 242 127 51 9109513 0 -1 0 -1;
#P message 251 108 62 9109513 set $0disto;
#P user waveform~ 3 101 93 62 139 9;
#W mode draw;
#W mouseoutput continuous;
#W clipdraw 1;
#W unit ms;
#W grid 743.;
#W ticks 1;
#W labels 1;
#W vlabels 1;
#W vticks 1;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P newex 36 363 125 9109513 lookup~ $0disto 0 65536;
#P newex 120 228 111 9109513 buffer~ $0disto 1486;
#P comment 54 47 41 9109513 lowpass;
#B color 1;
#P comment 4 6 32 9109513 Disto;
#B color 5;
#P user panel 0 0 99 184;
#X brgb 83 83 83;
#X frgb 255 255 255;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P hidden connect 13 0 12 0;
#P hidden connect 9 0 8 0;
#P hidden connect 6 0 5 0;
#P hidden connect 15 0 5 0;
#P hidden connect 21 0 5 0;
#P hidden connect 28 0 30 0;
#P connect 30 0 29 0;
#P hidden connect 22 0 28 0;
#P connect 29 1 32 0;
#P hidden connect 31 0 32 0;
#P connect 32 0 4 0;
#P connect 4 0 17 0;
#P connect 17 0 24 0;
#P connect 29 0 24 0;
#P connect 23 0 29 1;
#P hidden connect 14 0 12 1;
#P hidden connect 11 0 8 1;
#P hidden connect 19 0 20 0;
#P hidden connect 7 0 5 4;
#P hidden connect 12 0 10 0;
#P hidden connect 8 0 10 0;
#P hidden connect 18 0 19 0;
#P connect 19 0 17 1;
#P hidden connect 26 0 27 0;
#P hidden connect 25 0 27 0;
#P connect 27 0 21 0;
#P hidden connect 16 0 15 0;
#P connect 22 0 7 0;
#P connect 22 0 6 0;
#P pop;



More information about the maxmsp mailing list