max/pd versions of serge and buchla wavemultipliers/folders?

Reaktor, MAX/MSP, VST/AU, etc. A place for all things soft....

Moderators: Kent, Joe., analogdigital, infradead, lisa, parasitk, plord

User avatar
madronalabs
Common Wiggler
Posts: 210
Joined: Sat Mar 19, 2011 1:31 pm
Location: Seattle
Contact:

Post by madronalabs » Tue Dec 30, 2014 9:34 pm

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: Select all

{
	"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
	}

}


User avatar
madronalabs
Common Wiggler
Posts: 210
Joined: Sat Mar 19, 2011 1:31 pm
Location: Seattle
Contact:

Post by madronalabs » Fri Jan 02, 2015 4:00 pm

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

User avatar
snaper
Ultra Wiggler
Posts: 975
Joined: Mon Feb 10, 2014 12:29 am
Location: Magyarország

Post by snaper » Wed Feb 11, 2015 2:25 am

madronalabs wrote:For those who don't have Max/MSP, here's a picture of the patch:
Image
Awesome!
tried it!
Sounds great!!!

User avatar
pannikel
Wiggling with Experience
Posts: 370
Joined: Sun Nov 28, 2010 4:02 pm

Post by pannikel » Sat Mar 07, 2015 11:16 am

Just picked this up, very cool, thanks madronalabs :tu:

heuermh
Learning to Wiggle
Posts: 30
Joined: Mon May 20, 2013 3:15 pm

Post by heuermh » Thu Mar 26, 2015 10:32 am

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/ma ... /Folder.ck
https://github.com/heuermh/lick/blob/ma ... Folder2.ck

User avatar
elk_wolf_+sun
Learning to Wiggle
Posts: 10
Joined: Mon Apr 06, 2015 3:50 pm
Location: Ireland

Post by elk_wolf_+sun » Tue Apr 07, 2015 12:27 pm

thanks for the patch randy!

User avatar
ignatius
Super Deluxe Wiggler
Posts: 15401
Joined: Tue Dec 23, 2008 4:03 pm
Location: oregon
Contact:

Post by ignatius » Sat Jun 03, 2017 8:14 pm

was looking through my bookmarks and came across this. gonna have to give this a refresh and see what's what.

:)

User avatar
bananeurysm
Veteran Wiggler
Posts: 730
Joined: Sun Jun 14, 2009 8:16 pm
Location: Portland, OR

Post by bananeurysm » Sat Jun 03, 2017 11:59 pm

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

Image

User avatar
ignatius
Super Deluxe Wiggler
Posts: 15401
Joined: Tue Dec 23, 2008 4:03 pm
Location: oregon
Contact:

Post by ignatius » Tue Jun 06, 2017 5:10 pm

awesome thanks!!

User avatar
wiggy81
Common Wiggler
Posts: 69
Joined: Fri Jun 09, 2017 5:18 am
Location: Philippines

Post by wiggy81 » Fri Jun 09, 2017 5:39 am

Thanks for this, I am getting to grips with pd and having access to all these discussions is excellent. :cloud:

Post Reply

Return to “Music Software”