MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

max/pd versions of serge and buchla wavemultipliers/folders?
MUFF WIGGLER Forum Index -> Music Software Goto page 1, 2  Next [all]
Author max/pd versions of serge and buchla wavemultipliers/folders?
madronalabs
Here's the Max/MSP prototype of what eventually became the timbre circuit in Aalto.

Whatever method you use, I recommend a lot of oversampling for decent sound, because any kind of folder adds a lot of harmonics.

Code:

{
   "boxes" : [       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "dac~",
            "style" : "",
            "numoutlets" : 0,
            "patching_rect" : [ 193.0, 754.0, 34.0, 19.0 ],
            "id" : "obj-1",
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "scope~",
            "style" : "",
            "trigger" : 1,
            "drawstyle" : 1,
            "numoutlets" : 0,
            "patching_rect" : [ 182.0, 514.5, 248.0, 135.0 ],
            "id" : "obj-14",
            "calccount" : 4,
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "toggle",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 90.0, 692.0, 20.0, 20.0 ],
            "id" : "obj-8",
            "outlettype" : [ "int" ],
            "parameter_enable" : 0,
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "gain~",
            "style" : "",
            "numoutlets" : 2,
            "patching_rect" : [ 143.0, 512.0, 22.0, 140.0 ],
            "id" : "obj-11",
            "outlettype" : [ "signal", "int" ],
            "parameter_enable" : 0,
            "numinlets" : 2,
            "interpinlet" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "cycle~ 110.",
            "style" : "",
            "numoutlets" : 1,
            "fontface" : 0,
            "patching_rect" : [ 70.0, 53.0, 64.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-7",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "flonum",
            "style" : "",
            "numoutlets" : 2,
            "patching_rect" : [ 273.0, 28.0, 50.0, 19.0 ],
            "id" : "obj-5",
            "outlettype" : [ "", "bang" ],
            "parameter_enable" : 0,
            "maximum" : 1.0,
            "minimum" : 0.0,
            "format" : 6,
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "amp offset",
            "style" : "",
            "numoutlets" : 0,
            "patching_rect" : [ 247.0, 239.0, 98.0, 17.0 ],
            "fontsize" : 9.0,
            "id" : "obj-75",
            "fontname" : "Verdana",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "timbre width",
            "style" : "",
            "numoutlets" : 0,
            "patching_rect" : [ 163.0, 182.0, 98.0, 17.0 ],
            "fontsize" : 9.0,
            "id" : "obj-64",
            "fontname" : "Verdana",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "+~ 1.",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 430.0, 119.0, 37.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-62",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "phase offset",
            "linecount" : 2,
            "style" : "",
            "numoutlets" : 0,
            "patching_rect" : [ 267.0, 347.0, 56.0, 28.0 ],
            "fontsize" : 9.0,
            "id" : "obj-52",
            "fontname" : "Verdana",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "+~ 0.1",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 202.0, 240.0, 43.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-46",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "+~ 0.25",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 202.0, 347.0, 49.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-44",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "flonum",
            "style" : "",
            "numoutlets" : 2,
            "patching_rect" : [ 270.0, 180.0, 50.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-38",
            "fontname" : "Verdana",
            "outlettype" : [ "", "bang" ],
            "parameter_enable" : 0,
            "format" : 6,
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "timbre [0-1]",
            "style" : "",
            "numoutlets" : 0,
            "patching_rect" : [ 196.0, 28.0, 67.0, 17.0 ],
            "fontsize" : 9.0,
            "id" : "obj-6",
            "fontname" : "Verdana",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "wave folder",
            "style" : "",
            "numoutlets" : 0,
            "patching_rect" : [ 73.0, 382.0, 63.0, 17.0 ],
            "fontsize" : 9.0,
            "id" : "obj-141",
            "fontname" : "Verdana",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "comment",
            "text" : "amp to wave folder",
            "style" : "",
            "numoutlets" : 0,
            "patching_rect" : [ 73.0, 273.0, 98.0, 17.0 ],
            "fontsize" : 9.0,
            "id" : "obj-140",
            "fontname" : "Verdana",
            "numinlets" : 1
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "overdrive~ 1.",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 163.0, 454.0, 72.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-117",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "+~",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 376.0, 57.0, 32.5, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-18",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "*~ 2.",
            "style" : "",
            "numoutlets" : 1,
            "fontface" : 0,
            "patching_rect" : [ 201.0, 213.0, 36.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-15",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "overdrive~ 1.",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 70.0, 160.0, 72.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-10",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "cycle~",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 157.0, 382.0, 40.0, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-33",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
,       {
         "box" :          {
            "maxclass" : "newobj",
            "text" : "*~",
            "style" : "",
            "numoutlets" : 1,
            "patching_rect" : [ 176.0, 273.0, 32.5, 19.0 ],
            "fontsize" : 9.0,
            "id" : "obj-35",
            "fontname" : "Verdana",
            "outlettype" : [ "signal" ],
            "numinlets" : 2
         }

      }
 ],
   "lines" : [       {
         "patchline" :          {
            "source" : [ "obj-18", 0 ],
            "destination" : [ "obj-62", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-117", 0 ],
            "destination" : [ "obj-14", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-117", 0 ],
            "destination" : [ "obj-11", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-15", 0 ],
            "destination" : [ "obj-46", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-18", 0 ],
            "destination" : [ "obj-15", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-38", 0 ],
            "destination" : [ "obj-15", 1 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-11", 0 ],
            "destination" : [ "obj-1", 1 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-11", 0 ],
            "destination" : [ "obj-1", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-8", 0 ],
            "destination" : [ "obj-1", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-7", 0 ],
            "destination" : [ "obj-10", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-62", 0 ],
            "destination" : [ "obj-117", 1 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-62", 0 ],
            "destination" : [ "obj-10", 1 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-5", 0 ],
            "destination" : [ "obj-18", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-46", 0 ],
            "destination" : [ "obj-35", 1 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-44", 0 ],
            "destination" : [ "obj-33", 1 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-35", 0 ],
            "destination" : [ "obj-33", 1 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-33", 0 ],
            "destination" : [ "obj-117", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-18", 0 ],
            "destination" : [ "obj-44", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
,       {
         "patchline" :          {
            "source" : [ "obj-10", 0 ],
            "destination" : [ "obj-35", 0 ],
            "hidden" : 0,
            "disabled" : 0
         }

      }
 ],
   "appversion" :    {
      "major" : 7,
      "minor" : 0,
      "revision" : 1,
      "architecture" : "x64",
      "modernui" : 1
   }

}

madronalabs
For those who don't have Max/MSP, here's a picture of the patch:
snaper
madronalabs wrote:
For those who don't have Max/MSP, here's a picture of the patch:

Awesome!
tried it!
Sounds great!!!
pannikel
Just picked this up, very cool, thanks madronalabs thumbs up
heuermh
EATyourGUITAR wrote:
this is very easy with math
https://www.desmos.com/calculator/kcdu7jnzsn


Thanks! I've adapted those equations into oscillator classes in ChucK; they don't sound half bad

https://github.com/heuermh/lick/blob/master/lick/synth/Folder.ck
https://github.com/heuermh/lick/blob/master/lick/synth/Folder2.ck
elk_wolf_+sun
thanks for the patch randy!
ignatius
was looking through my bookmarks and came across this. gonna have to give this a refresh and see what's what.

smile
bananeurysm
Nice! Your bump prompted me to look at this again and clean up my pd patch a bit. I think I had made it with pd extended - so updated it for modern pd + dekken. (It requires the cyclone library for pong~). I also swapped out the cyclone scope~ objects with simpler vanilla arrays. I've found this patch to be super useful since this thread FWIW. Sounds great!

Patch can be downloaded here:
https://github.com/jmej/wavefolder

ignatius
awesome thanks!!
wiggy81
Thanks for this, I am getting to grips with pd and having access to all these discussions is excellent. This is fun!
MUFF WIGGLER Forum Index -> Music Software Goto page 1, 2  Next [all]
Page 1 of 2
Powered by phpBB © phpBB Group