{
	"patcher" : 	{
		"fileversion" : 1,
		"appversion" : 		{
			"major" : 7,
			"minor" : 3,
			"revision" : 4,
			"architecture" : "x64",
			"modernui" : 1
		}
,
		"rect" : [ 67.0, 110.0, 640.0, 480.0 ],
		"bglocked" : 0,
		"openinpresentation" : 0,
		"default_fontsize" : 12.0,
		"default_fontface" : 0,
		"default_fontname" : "Arial",
		"gridonopen" : 1,
		"gridsize" : [ 15.0, 15.0 ],
		"gridsnaponopen" : 1,
		"objectsnaponopen" : 1,
		"statusbarvisible" : 2,
		"toolbarvisible" : 1,
		"lefttoolbarpinned" : 0,
		"toptoolbarpinned" : 0,
		"righttoolbarpinned" : 0,
		"bottomtoolbarpinned" : 0,
		"toolbars_unpinned_last_save" : 0,
		"tallnewobj" : 0,
		"boxanimatetime" : 200,
		"enablehscroll" : 1,
		"enablevscroll" : 1,
		"devicewidth" : 0.0,
		"description" : "",
		"digest" : "",
		"tags" : "",
		"style" : "",
		"subpatcher_template" : "",
		"boxes" : [ 			{
				"box" : 				{
					"id" : "obj-25",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 3.0, 285.0, 83.0, 22.0 ],
					"style" : "",
					"text" : "loadmess -10"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-28",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 89.0, 135.0, 79.0, 22.0 ],
					"style" : "",
					"text" : "loadmess 36"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-27",
					"maxclass" : "preset",
					"numinlets" : 1,
					"numoutlets" : 4,
					"outlettype" : [ "preset", "int", "preset", "int" ],
					"patching_rect" : [ 391.0, 232.0, 100.0, 40.0 ],
					"preset_data" : [ 						{
							"number" : 1,
							"data" : [ 5, "obj-9", "flonum", "float", 36.0, 5, "obj-8", "live.gain~", "float", 0.0, 5, "obj-21", "live.dial", "float", 2.33, 5, "obj-22", "live.dial", "float", 0.66, 5, "obj-23", "kslider", "int", 36 ]
						}
 ],
					"style" : ""
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-26",
					"linecount" : 2,
					"maxclass" : "comment",
					"numinlets" : 1,
					"numoutlets" : 0,
					"patching_rect" : [ 486.0, 29.0, 202.0, 34.0 ],
					"style" : "",
					"text" : "Python code for Anti-Aliasing (contains plotting code)"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-24",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 1,
					"outlettype" : [ "signal" ],
					"patcher" : 					{
						"fileversion" : 1,
						"appversion" : 						{
							"major" : 7,
							"minor" : 3,
							"revision" : 4,
							"architecture" : "x64",
							"modernui" : 1
						}
,
						"rect" : [ 92.0, 135.0, 600.0, 450.0 ],
						"editing_bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ],
						"bglocked" : 0,
						"openinpresentation" : 0,
						"default_fontsize" : 12.0,
						"default_fontface" : 0,
						"default_fontname" : "Arial",
						"gridonopen" : 1,
						"gridsize" : [ 15.0, 15.0 ],
						"gridsnaponopen" : 1,
						"objectsnaponopen" : 1,
						"statusbarvisible" : 2,
						"toolbarvisible" : 1,
						"lefttoolbarpinned" : 0,
						"toptoolbarpinned" : 0,
						"righttoolbarpinned" : 0,
						"bottomtoolbarpinned" : 0,
						"toolbars_unpinned_last_save" : 0,
						"tallnewobj" : 0,
						"boxanimatetime" : 200,
						"enablehscroll" : 1,
						"enablevscroll" : 1,
						"devicewidth" : 0.0,
						"description" : "",
						"digest" : "",
						"tags" : "",
						"style" : "",
						"subpatcher_template" : "",
						"boxes" : [ 							{
								"box" : 								{
									"code" : "#\n# Vector Phase Distortion - aliasing\n#\nfrom numpy import pi,cos\nfrom scipy.signal import *\nfrom pylab import *\nfrom matplotlib.font_manager import FontProperties\n\nf0 = 500.\nfs = 44100.\nw0 = 2*pi*f0/fs\nN = int(fs/f0)\nt = arange(0,44100)\nT = f0/fs\nP = 1/T\n\nd = 0.80\nv = 2.20\n\n# -- phase distortion function\ndef vps(x,d,v, suppress):\n\tif x < d:\t\tp = (v*x)/d\n\telse:\t\t\t\tp = (1-v)*(x-d)/(1-d) + v\n\t# aliasing reduction\n\tc1 = c2 = 0\n\tif suppress:\n\t\tif p > int(v):\n\t\t\tc = v % 1\n\t\t\tif 0 < c and c <= 0.5:\n\t\t\t\tp = 0.5 * (p % 1) / c\n\t\t\t\tc1 = 0.5 * (1 - cos(2*pi*c))\n\t\t\t\tc2 = c1-1\n\t\t\telse:\n\t\t\t\tp = (p % 1) / c\n\t\t\t\tif p > 0.5:\n\t\t\t\t\tc1 = 0.5 * (1 + cos(2*pi*c))\n\t\t\t\t\tc2 = 1-c1\n\treturn p,c1,c2\n\n# -- signal generation\ndef process(d,v, suppress):\n\ty = zeros(len(t))\n\tx = zeros(len(t))\n\tphi = 0\n\tfor n in range(0,len(t)):\n\t\tp,c1,c2 = vps(phi,d,v, suppress)\n\t\ty[n] = -cos(2*pi*p)\t\t# waveshaping\n\t\tx[n] = p\n\t\tif c1 != 0:\n\t\t\ty[n] = y[n]*c1 + c2\n\t\tphi += T\n\t\tif phi > 1: phi -= 1\n\treturn y,x\n\n# -- spectrum\ndef spectrum(s):\n\tNFFT = 16384*2\n\tNWIN = 16384\n\twin = chebwin(NWIN, 120)\n\twin = append(win, zeros(NFFT-NWIN))\n\tscal = NFFT*sqrt(mean(win**2))\n\tspec = fft(win*s[0:NFFT])\n\tmags = sqrt(spec[0:NFFT/2].real**2 + spec[0:NFFT/2].imag**2)\n\tnorm = 20*log10(mags/scal)\n\tspec = norm - max(norm)\n\treturn spec\n\n\n# -- main\ny1,x1 = process(d,v, False)\nspec1 = spectrum(y1)\ny2,x2 = process(d,v, True)\nspec2 = spectrum(y2)\n\n\n# -- plotting\nfig = figure(facecolor='#e2e2e2', figsize=(10,6))\nfontcolor = '#000000'\nfont = FontProperties(family='serif', size=18)\n\np1 = subplot(221)\np1.plot(t,y1, 'k', lw=1)\np1.plot(t,x1, 'k--', lw=1)\ngrid(True)\nxlim(0,1.1*N)\nylim(-1.1,3.1)\n\nlabels = p1.get_xticklabels() + p1.get_yticklabels()\nsetp(labels, color=fontcolor, fontproperties=font)\np1.xaxis.set_ticks([0,0.5*P,P]) #,1.5*P,2*P])\np1.xaxis.set_ticklabels([\"0\",\"0.5\",\"1\"]) #,\"1.5\",\"2\"])\nxlabel('Time (periods)', color=fontcolor, fontproperties=font)\nylabel('Level', color=fontcolor, fontproperties=font)\n\np2 = subplot(222)\np2.plot(linspace(0,fs/2,len(spec1)), spec1, 'k', lw=1)\ngrid(True)\nxlim(0,fs/2)\nylim(-80,6)\n\nlabels = p2.get_xticklabels() + p2.get_yticklabels()\nsetp(labels, color=fontcolor, fontproperties=font)\np2.xaxis.set_ticklabels([\"0\",\"5\",\"10\",\"15\",\"20\"])\np2.yaxis.set_ticks([-80,-60,-40,-20,0])\nxlabel('Frequency (kHz)', color=fontcolor, fontproperties=font)\nylabel('Magnitude (dB)', color=fontcolor, fontproperties=font)\n\np3 = subplot(223)\np3.plot(t,y2, 'k', lw=1)\np3.plot(t,x2, 'k--', lw=1)\ngrid(True)\nxlim(0,1.1*N)\nylim(-1.1,3.1)\n\nlabels = p3.get_xticklabels() + p3.get_yticklabels()\nsetp(labels, color=fontcolor, fontproperties=font)\np3.xaxis.set_ticks([0,0.5*P,P]) #,1.5*P,2*P])\np3.xaxis.set_ticklabels([\"0\",\"0.5\",\"1\"]) #,\"1.5\",\"2\"])\nxlabel('Time (periods)', color=fontcolor, fontproperties=font)\nylabel('Level', color=fontcolor, fontproperties=font)\n\np4 = subplot(224)\np4.plot(linspace(0,fs/2,len(spec1)), spec2, 'k', lw=1)\ngrid(True)\nxlim(0,fs/2)\nylim(-80,6)\n\nlabels = p4.get_xticklabels() + p4.get_yticklabels()\nsetp(labels, color=fontcolor, fontproperties=font)\np4.xaxis.set_ticklabels([\"0\",\"5\",\"10\",\"15\",\"20\"])\np4.yaxis.set_ticks([-80,-60,-40,-20,0])\nxlabel('Frequency (kHz)', color=fontcolor, fontproperties=font)\nylabel('Magnitude (dB)', color=fontcolor, fontproperties=font)\n\n# fig.subplots_adjust(hspace=0.28)\nfig.subplots_adjust(left=0.1,bottom=0.1,right=0.96,top=0.96,wspace=0.29,hspace=0.39)\n\nshow()\n",
									"fontface" : 0,
									"fontname" : "Arial",
									"fontsize" : 12.0,
									"id" : "obj-5",
									"maxclass" : "codebox",
									"numinlets" : 1,
									"numoutlets" : 1,
									"outlettype" : [ "" ],
									"patching_rect" : [ 53.0, 13.0, 712.0, 625.0 ],
									"style" : ""
								}

							}
 ],
						"lines" : [  ]
					}
,
					"patching_rect" : [ 486.0, 68.0, 111.0, 22.0 ],
					"style" : "",
					"text" : "gen~"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-23",
					"maxclass" : "kslider",
					"numinlets" : 2,
					"numoutlets" : 2,
					"outlettype" : [ "int", "int" ],
					"parameter_enable" : 0,
					"patching_rect" : [ 89.0, 47.0, 336.0, 53.0 ],
					"presentation_rect" : [ 0.0, 0.0, 336.0, 53.0 ],
					"style" : ""
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-22",
					"maxclass" : "live.dial",
					"numinlets" : 1,
					"numoutlets" : 2,
					"outlettype" : [ "", "float" ],
					"parameter_enable" : 1,
					"patching_rect" : [ 182.5, 171.0, 44.0, 47.0 ],
					"saved_attribute_attributes" : 					{
						"valueof" : 						{
							"parameter_longname" : "live.dial[1]",
							"parameter_shortname" : "d",
							"parameter_type" : 0,
							"parameter_mmax" : 0.99,
							"parameter_unitstyle" : 1
						}

					}
,
					"varname" : "live.dial[1]"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-21",
					"maxclass" : "live.dial",
					"numinlets" : 1,
					"numoutlets" : 2,
					"outlettype" : [ "", "float" ],
					"parameter_enable" : 1,
					"patching_rect" : [ 276.0, 171.0, 44.0, 47.0 ],
					"saved_attribute_attributes" : 					{
						"valueof" : 						{
							"parameter_longname" : "live.dial",
							"parameter_shortname" : "v",
							"parameter_type" : 0,
							"parameter_mmax" : 50.0,
							"parameter_unitstyle" : 1,
							"parameter_exponent" : 2.0
						}

					}
,
					"varname" : "live.dial"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-16",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 276.0, 135.0, 89.0, 22.0 ],
					"style" : "",
					"text" : "loadmess 2.33"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-12",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 182.5, 135.0, 89.0, 22.0 ],
					"style" : "",
					"text" : "loadmess 0.66"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-20",
					"maxclass" : "message",
					"numinlets" : 2,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 276.0, 226.0, 47.0, 22.0 ],
					"style" : "",
					"text" : "$1 100"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-19",
					"maxclass" : "newobj",
					"numinlets" : 2,
					"numoutlets" : 2,
					"outlettype" : [ "signal", "bang" ],
					"patching_rect" : [ 276.0, 253.0, 36.0, 22.0 ],
					"style" : "",
					"text" : "line~"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-18",
					"maxclass" : "newobj",
					"numinlets" : 2,
					"numoutlets" : 2,
					"outlettype" : [ "signal", "bang" ],
					"patching_rect" : [ 182.5, 253.0, 36.0, 22.0 ],
					"style" : "",
					"text" : "line~"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-17",
					"maxclass" : "message",
					"numinlets" : 2,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 182.5, 226.0, 47.0, 22.0 ],
					"style" : "",
					"text" : "$1 100"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-10",
					"maxclass" : "ezdac~",
					"numinlets" : 2,
					"numoutlets" : 0,
					"patching_rect" : [ 89.0, 507.0, 45.0, 45.0 ],
					"style" : ""
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-8",
					"maxclass" : "live.gain~",
					"numinlets" : 2,
					"numoutlets" : 5,
					"outlettype" : [ "signal", "signal", "", "float", "list" ],
					"parameter_enable" : 1,
					"patching_rect" : [ 89.0, 357.0, 48.0, 136.0 ],
					"saved_attribute_attributes" : 					{
						"valueof" : 						{
							"parameter_longname" : "live.gain~",
							"parameter_shortname" : "live.gain~",
							"parameter_type" : 0,
							"parameter_mmin" : -70.0,
							"parameter_mmax" : 6.0,
							"parameter_initial" : [ 0.0 ],
							"parameter_unitstyle" : 4
						}

					}
,
					"varname" : "live.gain~"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-15",
					"maxclass" : "spectroscope~",
					"numinlets" : 2,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 351.0, 349.0, 300.0, 100.0 ],
					"style" : ""
				}

			}
, 			{
				"box" : 				{
					"bufsize" : 256,
					"calccount" : 8,
					"id" : "obj-14",
					"maxclass" : "scope~",
					"numinlets" : 2,
					"numoutlets" : 0,
					"patching_rect" : [ 211.0, 349.0, 130.0, 130.0 ],
					"style" : ""
				}

			}
, 			{
				"box" : 				{
					"format" : 6,
					"id" : "obj-9",
					"maxclass" : "flonum",
					"numinlets" : 1,
					"numoutlets" : 2,
					"outlettype" : [ "", "bang" ],
					"parameter_enable" : 0,
					"patching_rect" : [ 89.0, 217.0, 50.0, 22.0 ],
					"style" : ""
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-7",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 89.0, 250.0, 34.0, 22.0 ],
					"style" : "",
					"text" : "mtof"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-5",
					"maxclass" : "message",
					"numinlets" : 2,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 391.0, 169.0, 143.0, 22.0 ],
					"style" : "",
					"text" : "sizeinsamps 8192, fill sin"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-6",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 2,
					"outlettype" : [ "float", "bang" ],
					"patching_rect" : [ 391.0, 196.0, 171.0, 22.0 ],
					"style" : "",
					"text" : "buffer~ sinbuff @samps 8192"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-4",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 1,
					"outlettype" : [ "bang" ],
					"patching_rect" : [ 391.0, 135.0, 60.0, 22.0 ],
					"style" : "",
					"text" : "loadbang"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-3",
					"maxclass" : "message",
					"numinlets" : 2,
					"numoutlets" : 1,
					"outlettype" : [ "" ],
					"patching_rect" : [ 570.0, 169.0, 147.0, 22.0 ],
					"style" : "",
					"text" : "sizeinsamps 8192, fill cos"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-2",
					"maxclass" : "newobj",
					"numinlets" : 1,
					"numoutlets" : 2,
					"outlettype" : [ "float", "bang" ],
					"patching_rect" : [ 570.0, 196.0, 175.0, 22.0 ],
					"style" : "",
					"text" : "buffer~ cosbuff @samps 8192"
				}

			}
, 			{
				"box" : 				{
					"id" : "obj-1",
					"maxclass" : "newobj",
					"numinlets" : 3,
					"numoutlets" : 1,
					"outlettype" : [ "signal" ],
					"patcher" : 					{
						"fileversion" : 1,
						"appversion" : 						{
							"major" : 7,
							"minor" : 3,
							"revision" : 4,
							"architecture" : "x64",
							"modernui" : 1
						}
,
						"rect" : [ 92.0, 135.0, 600.0, 450.0 ],
						"editing_bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ],
						"bglocked" : 0,
						"openinpresentation" : 0,
						"default_fontsize" : 12.0,
						"default_fontface" : 0,
						"default_fontname" : "Arial",
						"gridonopen" : 1,
						"gridsize" : [ 15.0, 15.0 ],
						"gridsnaponopen" : 1,
						"objectsnaponopen" : 1,
						"statusbarvisible" : 2,
						"toolbarvisible" : 1,
						"lefttoolbarpinned" : 0,
						"toptoolbarpinned" : 0,
						"righttoolbarpinned" : 0,
						"bottomtoolbarpinned" : 0,
						"toolbars_unpinned_last_save" : 0,
						"tallnewobj" : 0,
						"boxanimatetime" : 200,
						"enablehscroll" : 1,
						"enablevscroll" : 1,
						"devicewidth" : 0.0,
						"description" : "",
						"digest" : "",
						"tags" : "",
						"style" : "",
						"subpatcher_template" : "",
						"boxes" : [ 							{
								"box" : 								{
									"id" : "obj-12",
									"maxclass" : "newobj",
									"numinlets" : 0,
									"numoutlets" : 1,
									"outlettype" : [ "" ],
									"patching_rect" : [ 596.0, 20.0, 30.0, 22.0 ],
									"style" : "",
									"text" : "in 3"
								}

							}
, 							{
								"box" : 								{
									"id" : "obj-6",
									"maxclass" : "newobj",
									"numinlets" : 0,
									"numoutlets" : 2,
									"outlettype" : [ "", "" ],
									"patching_rect" : [ 94.0, 14.0, 129.0, 22.0 ],
									"style" : "",
									"text" : "buffer cososc cosbuff"
								}

							}
, 							{
								"box" : 								{
									"id" : "obj-1",
									"maxclass" : "newobj",
									"numinlets" : 0,
									"numoutlets" : 1,
									"outlettype" : [ "" ],
									"patching_rect" : [ 50.0, 14.0, 30.0, 22.0 ],
									"style" : "",
									"text" : "in 1"
								}

							}
, 							{
								"box" : 								{
									"id" : "obj-2",
									"maxclass" : "newobj",
									"numinlets" : 0,
									"numoutlets" : 1,
									"outlettype" : [ "" ],
									"patching_rect" : [ 323.0, 20.0, 30.0, 22.0 ],
									"style" : "",
									"text" : "in 2"
								}

							}
, 							{
								"box" : 								{
									"code" : "vps(x,d,v) {\r\n\tif (x < d) { \r\n\treturn (v*x)/d;\r\n\t}\r\n\telse { \r\n\treturn (1-v)*(x-d)/(1-d) + v;\r\n\t}\r\n}\r\n\r\nvpsosc(ifund,d,v,buffer) {\r\n\tpointer = phasor(ifund);\r\n\tv1 = floor(v);\r\n\tv2 = floor(v) + 1;\r\n\tmixcoeff = fract(v);\r\n\tvpsphs1 = vps(pointer,d,v1);\r\n \tvpsphs2 = vps(pointer,d,v2);  \r\n \tvpsosc1 = wave(buffer,vpsphs1,index=\"phase\",interp=\"spline\",boundmode=\"wrap\");\r\n\tvpsosc2 = wave(buffer,vpsphs2,index=\"phase\",interp=\"spline\",boundmode=\"wrap\");\r\n\tasig = mix(vpsosc1,vpsosc2,mixcoeff);\r\n\tasigdc = dcblock(asig);\r\n\treturn asigdc;\r\n}\r\n\r\nout1 = vpsosc(in1,in2,in3,cososc);",
									"fontface" : 0,
									"fontname" : "Arial",
									"fontsize" : 12.0,
									"id" : "obj-3",
									"maxclass" : "codebox",
									"numinlets" : 3,
									"numoutlets" : 1,
									"outlettype" : [ "" ],
									"patching_rect" : [ 50.0, 57.0, 565.0, 317.0 ],
									"style" : ""
								}

							}
, 							{
								"box" : 								{
									"id" : "obj-4",
									"maxclass" : "newobj",
									"numinlets" : 1,
									"numoutlets" : 0,
									"patching_rect" : [ 50.0, 387.0, 37.0, 22.0 ],
									"style" : "",
									"text" : "out 1"
								}

							}
 ],
						"lines" : [ 							{
								"patchline" : 								{
									"destination" : [ "obj-3", 0 ],
									"source" : [ "obj-1", 0 ]
								}

							}
, 							{
								"patchline" : 								{
									"destination" : [ "obj-3", 2 ],
									"source" : [ "obj-12", 0 ]
								}

							}
, 							{
								"patchline" : 								{
									"destination" : [ "obj-3", 1 ],
									"source" : [ "obj-2", 0 ]
								}

							}
, 							{
								"patchline" : 								{
									"destination" : [ "obj-4", 0 ],
									"source" : [ "obj-3", 0 ]
								}

							}
 ]
					}
,
					"patching_rect" : [ 89.0, 285.0, 206.0, 22.0 ],
					"style" : "",
					"text" : "gen~"
				}

			}
 ],
		"lines" : [ 			{
				"patchline" : 				{
					"destination" : [ "obj-14", 0 ],
					"midpoints" : [ 98.5, 327.5, 220.5, 327.5 ],
					"order" : 1,
					"source" : [ "obj-1", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-15", 0 ],
					"midpoints" : [ 98.5, 327.5, 360.5, 327.5 ],
					"order" : 0,
					"source" : [ "obj-1", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-8", 1 ],
					"midpoints" : [ 98.5, 327.5, 127.5, 327.5 ],
					"order" : 2,
					"source" : [ "obj-1", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-8", 0 ],
					"order" : 3,
					"source" : [ "obj-1", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-22", 0 ],
					"source" : [ "obj-12", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-21", 0 ],
					"source" : [ "obj-16", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-18", 0 ],
					"source" : [ "obj-17", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-1", 1 ],
					"source" : [ "obj-18", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-1", 2 ],
					"source" : [ "obj-19", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-19", 0 ],
					"source" : [ "obj-20", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-20", 0 ],
					"source" : [ "obj-21", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-17", 0 ],
					"source" : [ "obj-22", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-9", 0 ],
					"source" : [ "obj-23", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-8", 0 ],
					"source" : [ "obj-25", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-9", 0 ],
					"source" : [ "obj-28", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-2", 0 ],
					"source" : [ "obj-3", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-3", 0 ],
					"midpoints" : [ 400.5, 160.0, 579.5, 160.0 ],
					"order" : 0,
					"source" : [ "obj-4", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-5", 0 ],
					"order" : 1,
					"source" : [ "obj-4", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-6", 0 ],
					"source" : [ "obj-5", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-1", 0 ],
					"source" : [ "obj-7", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-10", 1 ],
					"source" : [ "obj-8", 1 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-10", 0 ],
					"source" : [ "obj-8", 0 ]
				}

			}
, 			{
				"patchline" : 				{
					"destination" : [ "obj-7", 0 ],
					"source" : [ "obj-9", 0 ]
				}

			}
 ],
		"parameters" : 		{
			"obj-21" : [ "live.dial", "v", 0 ],
			"obj-8" : [ "live.gain~", "live.gain~", 0 ],
			"obj-22" : [ "live.dial[1]", "d", 0 ]
		}
,
		"dependency_cache" : [  ],
		"autosave" : 0
	}

}
