{
  "distort_average": {
	"category": "time",
	"description": "Performs a mathematical averaging of the set number of cycle counts. The effect is more akin to a loss of resolution than the blurring which might be expected. Values below 10 retain some semblance of the original, while values of 100 create a kind of 'sample hold' effect.\n\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Cycle Count",
		"paramdescription": "Number of cycles over which to average",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Average the waveshape over a number of wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Average"
  },
  "modify_radical_4": {
	"category": "time",
	"description": "This effect intoduces distortion by reducing the sample rate or bit-depth of a sound. Reducing the sample rate will introduce inharmonic frequencies known as aliasing. Reducing the bit-depth will introduce both more noise and a crunchy rounding error distortion, particularly at lower rates.\n\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Bit Rate",
		"paramdescription": "Number of bits per sample",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 16.0,
		"step": 1.0,
		"value": 12.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Sample Rate Division",
		"paramdescription": "The amount to divide the incoming sample rate by 1 = original sample rate",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 256.0,
		"step": 1.0,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Reduce sample rate or bit-depth",
	"stereo": false,
	"subcategory": "distort",
	"title": "Bit Crush"
  },
  "distort_reform_6": {
	"category": "time",
	"description": "This process reads each wavecycle and replaces it with a short square pulse of a random length of the same amplitude. This produces a rough, rattle like timbre.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {},
	"short_description": "Replaces wavecycles with short pulses",
	"stereo": false,
	"subcategory": "distort",
	"title": "Click"
  },
  "clip_clip_2": {
	"category": "time",
	"description": "Cuts the top and bottom off of a wavecycle. Unlike conventional clipping that only cuts off parts of the signal that exceeds a set threshold, Clip Fraction looks at each cycle of the sound and cuts off a set fraction of that wavecycle. This produces a clipping effect that is uniform across the entire signal and maintains the dynamic range of the original. The lower you set the value, the more distorted the sound will be.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Fraction",
		"paramdescription": "Fraction of each half wavecycle to clip, 1 = no change",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.7,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Clip a fraction of half wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Clip Fraction"
  },
  "distort_delete_2": {
	"category": "time",
	"description": "This process distorts and shrinks a sound by taking a group of wavecycles and deleting all but the loudest wavecycle in that group. This will shorten the sound without changing pitch while also adding grit and texture.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Cycle Count",
		"paramdescription": "The size of the group to delete wavecycles from",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Shortens a sound by deleting wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Delete"
  },
  "distort_divide": {
	"category": "time",
	"description": "Takes a wavecycle and divides its frequency, pitch shifting it down and making it slower. This longer wavecycle replaces the next few wavecycles keeping the length of the file the same. This produces a rough pitch shift effect with added distortion artifacts. Works best with division values less than 4, at high division values the sound file may be too low to hear.\n\nThis process is the opposite of Distort: Multiply.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Divider",
		"paramdescription": "",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 16.0,
		"step": 1.0,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Distortion by dividing wavecycle frequency",
	"stereo": false,
	"subcategory": "distort",
	"title": "Divide"
  },
  "distort_fractal": {
	"category": "time",
	"description": "Takes a wavecycle and divides its length and makes shorter and higher copies that equal the divided length. It then takes these copies and superimposes them over the original wavecycle. The higher the scaling the shorter each copy will be and the more copies will be layered over the original. The loudness control works like a mix between the original and the copies of the wavecycle. Produces a sheen of distortion over the original sound.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Scaling",
		"paramdescription": "The division of scale of the wavecycle",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Loudness",
		"paramdescription": "Loudness of fractal component compared to original wavecycle, 1 = same level.",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Superimpose miniature copies of a wavecycles onto itself",
	"stereo": false,
	"subcategory": "distort",
	"title": "Fractal"
  },
  "distort_interpolate": {
	"category": "time",
	"description": "Takes a wavecycle and repeats it based on the multiplier. On each repetition the wavecycle is morphed slightly in shape so that it morphs into the shape of the next wavecycle in the file. This adds a modulatory quality to the output, successive wavecycles glissando and bend as they flow into one another.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Multiplier",
		"paramdescription": "The number of times each wavecycle repeats",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Time-stretch by repeating and interpolating wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Interpolate"
  },
  "distort_multiply": {
	"category": "time",
	"description": "Takes each wavecycle and multiplies its frequency making it higher and shorter. It then repeats this wavecycle to fill the length of the original keeping the output file the same length. This produces a distorted pitching up of the sound. \n\nThis process is the opposite of Distort: Divide.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Multiplier",
		"paramdescription": "The amount each wavecycle is multiplied by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 16.0,
		"step": 1.0,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Distortion by multiplying wavecycle frequency",
	"stereo": false,
	"subcategory": "distort",
	"title": "Multiply"
  },
  "distort_omit": {
	"category": "time",
	"description": "This process identifies groups of wavecycles and removes a set number of wavecycles from that group replacing them with silence. At small values this will add a granular texture onto the sound. With large values this will produce a hard edged sputtering like sound.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Omit",
		"paramdescription": "Number of cycles to remove from each group, must be less than the group size",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 63.0,
		"step": 1.0,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Group Size",
		"paramdescription": "The number of wavecycles to group together before omitting",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Delete wavecycles replacing them with silence",
	"stereo": false,
	"subcategory": "distort",
	"title": "Omit"
  },
  "quirk_quirk_1": {
	"category": "time",
	"description": "Introduces distortion into a signal by raising sample values to a power. Values less than 1 tend to flatten the tops of the waveform, while values greater than 1 narrow the waveform shape, creating a thinner, raspier sound.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Power Factor",
		"paramdescription": "The power to raise each sample to",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.7,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Distortion by raising sample values of half wavecycles to a power",
	"stereo": false,
	"subcategory": "distort",
	"title": "Power Factor"
  },
  "distort_repeat": {
	"category": "time",
	"description": "Takes a wavecycle and repeats it based on the multiplier. Unlike Distort: Interpolate this process does not modify the wavecycles in anyway other than repeating them, this results in pitches emerging at higher multiplication values.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Multiplier",
		"paramdescription": "The number of times each wavecycle repeats",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Cycle Count",
		"paramdescription": "The number of wavecycles to repeat each time",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-c",
		"minrange": 1.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Time-stretch by repeating wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Repeat"
  },
  "distort_replace": {
	"category": "time",
	"description": "Looks at a set number of wavecycles and finds the loudest one and repeats it to replace all other wavecycles. The repeated wavecycle is repeated at its original frequency and amplitude. This produces a sample and hold like effect.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Cycle Count",
		"paramdescription": "The size of the group",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "The strongest wavecycle in a group replaces the others",
	"stereo": false,
	"subcategory": "distort",
	"title": "Replace"
  },
  "distort_reform_7": {
	"category": "time",
	"description": "This process reads each wavecycle and replaces it with a sine waveform of the same length and amplitude. This effect of this process is quite dependent on the input material but will usually produce a smoothing or filtering like effect. \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {},
	"short_description": "Replaces wavecycles with sine shaped wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Sine"
  },
  "distort_reform_2": {
	"category": "time",
	"description": "This process reads each wavecycle and replaces it with a square waveform of the same length and amplitude. This produces a similar but considerably harsher effect to Distort: Clip Fraction.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {},
	"short_description": "Replaces wavecycles with square shaped wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Square"
  },
  "distort_reform_4": {
	"category": "time",
	"description": "This process reads each wavecycle and replaces it with a triangle waveform of the same length and amplitude. This effect of this process is quite dependent on the input material. If applied to noisy and distorted sounds this will producing a smoothing or filtering like effect. On sounds with few harmonics - e.g. sine waves - it will add additional harmonics producing a gentle distortion.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {},
	"short_description": "Replaces wavecycles with triangle shaped wavecycles",
	"stereo": false,
	"subcategory": "distort",
	"title": "Triangle"
  },
  "extend_baktobak": {
	"category": "time",
	"description": "This process takes a sound, reverses it and then prepends the reversed sound onto the start of the original. This works best with sound with long decays where the reversed sound creates a swell into the forwards sound. ",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Join Time",
		"paramdescription": "Point in the input where the join should occur, in percent",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Crossfade",
		"paramdescription": "The amount to overlap the reversed sound and the original in milliseconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 500.0,
		"step": 0.01,
		"value": 15.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Play a sound backwards, then forwards",
	"stereo": true,
	"subcategory": "extend",
	"title": "Back to Back"
  },
  "bounce_bounce": {
	"category": "time",
	"description": "Repeats the whole sound a set number of times with gaps in between each repetition. These gaps shrink on each repetition. With Decay set less than 1, on each repetition the sound will get quieter, replicating something similar to a bouncing ball. This effect works best with very short sounds.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Number of Bounces",
		"paramdescription": "The number of times to repeate the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 8.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Intitial Bounce",
		"paramdescription": "Time before the first repeat in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.04,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Bounciness",
		"paramdescription": "How much to shorten the gap by, lower values shorten more",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.9,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Decay",
		"paramdescription": "How much quieter the final reptition should be than the initial sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.05,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Decay Shape",
		"paramdescription": "<1 = slower start, >1 slower end",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Shrink",
		"paramdescription": "How much to shrink each repetition by 0 = no shrinking",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-s",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.02,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Bounce a sound: accelerating repeats, decaying in level",
	"stereo": true,
	"subcategory": "extend",
	"title": "Bouncing Ball"
  },
  "extend_drunk_2": {
	"category": "time",
	"description": "Starting at the Location in the input file this process takes a segment and repeats it. When the next clock tick occurs, the process will step to another segment and start repeating that. The distance in the file that each step can be is set by the Maximum Step and the amount of the file that it is possible for the process to explore either side of the original Location is set by the Ambitus. In this process the walk has the chance to sober up on each step and if it does it will play normally for an amount clock ticks between sober minimum and maximum time.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Minimum Output Duration",
		"paramdescription": "The minimum length of the output in seconds",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 1000.0,
		"step": 1.0,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Location",
		"paramdescription": "The position in percent of the input file where the drunken walk occurs",
		"automatable": true,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Ambitus",
		"paramdescription": "The percentage of the input file the walk can move either side of the location by over the whole process",
		"automatable": true,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 2.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Maximum Step",
		"paramdescription": "The maximum percentage of the input file the walk can move by on each step",
		"automatable": true,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Clock",
		"paramdescription": "The time between each step in seconds",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.05,
		"maxrange": 6.0,
		"step": 0.1,
		"value": 0.05,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Sober Mimimum Time",
		"paramdescription": "The minimum number of clock ticks the process can play normally for",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param7": {
		"paramname": "Sober Maximum Time",
		"paramdescription": "The maximum number of clock ticks the process can play normally for",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 30.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Random stumbling walk through a sound with sober moments",
	"stereo": true,
	"subcategory": "extend",
	"title": "Drunk"
  },
  "envspeak_envspeak_5": {
	"category": "time",
	"description": "This process is intended to be used with speach but can be used with any sound. It uses an evelope follower to try and identify a syllable or prominent peak and cuts it out and repeats it a set number of times getting shorter on each repeat by cutting off the end of the segment.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Envelope Length",
		"paramdescription": "The length of the search window looking for prominent material in ms",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 5.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 15.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Syllable Length",
		"paramdescription": "The length of segment to cut out",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 10.0,
		"step": 1.0,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Start Offset",
		"paramdescription": "The number of initial peaks to leave unchanged",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Repeats",
		"paramdescription": "The number of times to repeat each syllable",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Randomisation",
		"paramdescription": "Amount of variation in syllable length",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Identifies syllables and repeats them, shrinking inwards",
	"stereo": true,
	"subcategory": "extend",
	"title": "Envelope Bounce Inwards"
  },
  "envspeak_envspeak_6": {
	"category": "time",
	"description": "This process is intended to be used with speach but can be used with any sound. It uses an evelope follower to try and itentify a syllable or prominent peak and cuts it out and repeats it a set number of times getting shorter on each repeat by cutting off the start of the segment.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Envelope Length",
		"paramdescription": "The length of the search window looking for prominent material in ms",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 5.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 15.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Syllable Length",
		"paramdescription": "The length of segment to cut out",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 10.0,
		"step": 1.0,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Start Offset",
		"paramdescription": "The number of initial peaks to leave unchanged",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Repeats",
		"paramdescription": "The number of times to repeat each syllable",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Randomisation",
		"paramdescription": "Amount of variation in syllable length",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Identifies syllables and repeats them, shrinking outwards",
	"stereo": true,
	"subcategory": "extend",
	"title": "Envelope Bounce Outwards"
  },
  "envspeak_envspeak_1": {
	"category": "time",
	"description": "This process is intended to be used with speach but can be used with any sound. It uses an evelope follower to try and itentify a syllable or prominent peak and cuts it out and repeats it a set number of times.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Envelope Length",
		"paramdescription": "The length of the search window looking for prominent material in ms",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 5.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 15.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Syllable Length",
		"paramdescription": "The length of segment to cut out",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 10.0,
		"step": 1.0,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Start Offset",
		"paramdescription": "The number of initial peaks to leave unchanged",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Repeats",
		"paramdescription": "The number of times to repeat each syllable",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Randomisation",
		"paramdescription": "Amount of variation in syllable length",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Identifies syllables and repeats them",
	"stereo": true,
	"subcategory": "extend",
	"title": "Envelope Repeat"
  },
  "envspeak_envspeak_2": {
	"category": "time",
	"description": "This process is intended to be used with speach but can be used with any sound. It uses an evelope follower to try and identify a syllable or prominent peak and cuts it out and repeats it in reverse.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Envelope Length",
		"paramdescription": "The length of the search window looking for prominent material in ms",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 5.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 15.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Syllable Length",
		"paramdescription": "The length of segment to cut out",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 10.0,
		"step": 1.0,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Start Offset",
		"paramdescription": "The number of initial peaks to leave unchanged",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Identifies syllables and repeats them in reverse",
	"stereo": true,
	"subcategory": "extend",
	"title": "Envelope Reverse Repeat"
  },
  "extend_loop_1": {
	"category": "time",
	"description": "Joins together, end-to-end, a series of segments taken from the file. This process will continue until the end of the file is reached. Note, with very long loop lengths and very short steps this may make [b]very[/b] long files.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Start",
		"paramdescription": "The position in percent of the input file where the process will begin",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Loop Length",
		"paramdescription": "The length of each looping segment in milliseconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 30000.0,
		"step": 1.0,
		"value": 200.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Step",
		"paramdescription": "Number of milliseconds to move between each loop",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 6000.0,
		"step": 1.0,
		"value": 100.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Repeats advancing segments of a sound",
	"stereo": true,
	"subcategory": "extend",
	"title": "Loop"
  },
  "extend_doublets": {
	"category": "time",
	"description": "This process cuts a sound into segments of a fixed length - that length can vary over time - and then repeats each segement a set number of times. With long segment lengths this will create a clear loops, with short segments this will create a sputtering glitchy repeating effect like a skipped cd or locked record groove.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Segment Length",
		"paramdescription": "Length of each segment in seconds",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Repeats",
		"paramdescription": "The number of times to repeat each segment",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 32.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Breaks sound into segements and repeats them",
	"stereo": true,
	"subcategory": "extend",
	"title": "Repeat Segments"
  },
  "extend_scramble_1": {
	"category": "time",
	"description": "Cuts out segments at random from the full duration of the file and splices them end to end. Randomises the length of each chunk to be between the minimum and maximum. With small maximum chunks this will produce a granular synthesis like effect, with large chunks it will create new phrases in the material.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Minimum Chunk Length",
		"paramdescription": "Minimum percentage of the input to cut",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 2.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Maximum Chunk Length",
		"paramdescription": "Maximum percentage of the input to cut",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 3.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 3.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "Length of the output file in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 1000.0,
		"step": 1.0,
		"value": 60.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Scrambles a sound file for a set duration",
	"stereo": true,
	"subcategory": "extend",
	"title": "Scramble"
  },
  "modify_radical_3": {
	"category": "time",
	"description": "This process emulates the process of dragging tape manually backwards and forwards over a tape head. To do this it accelerates and decelerates moving through the sound forwards and backwards. Note: Start and End cut out this segment of audio before starting the scrub process and don't retain the audio outside of this range.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Minimum Ouput Duration",
		"paramdescription": "The minimum length of the output file",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 600.0,
		"step": 0.01,
		"value": 60.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Lowest Transposition",
		"paramdescription": "The lowest amount in semitones to transpose the file by",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-l",
		"minrange": -24.0,
		"maxrange": 0.0,
		"step": 0.01,
		"value": -12.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Highest Transposition",
		"paramdescription": "The highest amount in semitones to transpose the file by",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-h",
		"minrange": 0.0,
		"maxrange": 24.0,
		"step": 0.01,
		"value": 12.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Start",
		"paramdescription": "The point in the file to begin scrub process",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": true,
		"max": false,
		"flag": "-s",
		"minrange": 0.0,
		"maxrange": 99.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "End",
		"paramdescription": "The point in the file to end scrub process",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": true,
		"flag": "-e",
		"minrange": 1.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 100.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Move forwards and backwards through sound changing speed",
	"stereo": true,
	"subcategory": "extend",
	"title": "Scrub"
  },
  "extend_drunk_1": {
	"category": "time",
	"description": "Starting at the Location in the input file this process takes a segment and repeats it. When the next clock tick occurs, the process will step to another segment and start repeating that. The distance in the file that each step can be is set by the Maximum Step and the amount of the file that it is possible for the process to explore either side of the original Location is set by the Ambitus. \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Minimum Output Duration",
		"paramdescription": "The minimum length of the output in seconds",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 1000.0,
		"step": 1.0,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Location",
		"paramdescription": "The position in percent of the input file where the drunken walk occurs",
		"automatable": true,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Ambitus",
		"paramdescription": "The percentage of the input file the walk can move either side of the location by over the whole process",
		"automatable": true,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 2.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Maximum Step",
		"paramdescription": "The maximum percentage of the input file the walk can move by on each step",
		"automatable": true,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Clock",
		"paramdescription": "The time between each step in seconds",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.05,
		"maxrange": 6.0,
		"step": 0.1,
		"value": 0.05,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Random stumbling walk through a sound",
	"stereo": true,
	"subcategory": "extend",
	"title": "Very Drunk"
  },
  "extend_zigzag_1": {
	"category": "time",
	"description": "Unlike the other extend processes this process also plays segments of the sound file backwards. This results in a smoother transition between jumps creating an output that slips and slides through its length.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Start Point",
		"paramdescription": "The point in percent of the input where the process begins",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "End Point",
		"paramdescription": "The point in percent of the input where the process ends",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "The total duration of the output file",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 1000.0,
		"step": 1.0,
		"value": 60.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Minimum Zigzag Time",
		"paramdescription": "Minimum acceptable time between successive zigzag timepoints",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.05,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.05,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Moves through a sound sliding backwards and forwards as it goes",
	"stereo": true,
	"subcategory": "extend",
	"title": "Zigzag"
  },
  "filter_bank_1": {
	"category": "time",
	"description": "This process takes the frequency of the lowest band and create filters up to the value of the highest band tuned to the harmonic series. Scatter applies some randomisation of these values moving the sound from something very harmonic to something more bell like in tone. The makeup gain provides a way of adding a boost to the filtered signal, you may need to adjust this if clipping occurs. Note, Q can be automated although doing this does sometimes produce temperamental results.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Q",
		"paramdescription": "How narrow each filter band is",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 400.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Makeup Gain",
		"paramdescription": "How much gain to apply after filtering",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.02,
		"maxrange": 60.0,
		"step": 0.01,
		"value": 1.5,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Lowest Band",
		"paramdescription": "The lowest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 55.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Highest Band",
		"paramdescription": "The highest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 12000.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Scatter",
		"paramdescription": "Amount of deviation from the harmonic series",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-s",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Filter bank tuned to the harmonic series",
	"stereo": true,
	"subcategory": "filter",
	"title": "Harmonic Series"
  },
  "filter_bank_5": {
	"category": "time",
	"description": "This process takes the number of filters and spaces them equally in Hz between the lowest and highest bands. Scatter applies some randomisation of these values. The makeup gain provides a way of adding a boost to the filtered signal, you may need to adjust this if clipping occurs. Note, Q can be automated although doing this does sometimes produce temperamental results. Unlike Filter Bank: Pitched Intervals this will produce a more discordant sound as the frequencies will not align to uniform harmonic intervals.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Q",
		"paramdescription": "How narrow each filter band is",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 400.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Makeup Gain",
		"paramdescription": "How much gain to apply after filtering",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.02,
		"maxrange": 60.0,
		"step": 0.01,
		"value": 1.5,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Lowest Band",
		"paramdescription": "The lowest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 55.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Highest Band",
		"paramdescription": "The highest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 12000.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Number of Filters",
		"paramdescription": "The number of bands in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 100.0,
		"step": 1.0,
		"value": 8.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Scatter",
		"paramdescription": "Amount of deviation from the harmonic series",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-s",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Filter bank with equal spacing in Hz",
	"stereo": true,
	"subcategory": "filter",
	"title": "Linear"
  },
  "filter_lohi_1": {
	"category": "time",
	"description": "The low-pass filter lets through all of the sound below pass-band and attenuates the frequencies higher than pass-band, ending at stop-band.\n\nThe high-pass filter lets through all of the sound above pass-band and attenuates the frequencies lower than pass-band, ending at stop-band.\n\nSetting the Pass-band lower than the stop-band creates a low-pass filter. Setting the Pass-band higher than the stop-band creates a high-pass filter.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Rolloff",
		"paramdescription": "Gain reduction of the filter, in dB",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -96.0,
		"maxrange": -1.0,
		"step": 0.01,
		"value": -60.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Pass-band",
		"paramdescription": "Last pitch to be passed by the filter in Hz",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 440.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Stop-band",
		"paramdescription": "first pitch to be stopped by the filter in Hz",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 10000.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Fixed low-pass or high-pass filter",
	"stereo": true,
	"subcategory": "filter",
	"title": "Low/High Pass"
  },
  "filter_bank_2": {
	"category": "time",
	"description": "This process takes the frequency of the lowest band and create filters up to the value of the highest band tuned to odd harmonics of the harmonic series. Scatter applies some randomisation of these values moving the sound from something very harmonic to something more bell like in tone. The makeup gain provides a way of adding a boost to the filtered signal, you may need to adjust this if clipping occurs. Note, Q can be automated although doing this does sometimes produce temperamental results.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Q",
		"paramdescription": "How narrow each filter band is",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 400.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Makeup Gain",
		"paramdescription": "How much gain to apply after filtering",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.02,
		"maxrange": 60.0,
		"step": 0.01,
		"value": 1.5,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Lowest Band",
		"paramdescription": "The lowest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 55.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Highest Band",
		"paramdescription": "The highest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 12000.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Scatter",
		"paramdescription": "Amount of deviation from the harmonic series",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-s",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Filter bank tuned to odd harmonics from the harmonic series",
	"stereo": true,
	"subcategory": "filter",
	"title": "Odd Harmonics"
  },
  "filter_bank_6": {
	"category": "time",
	"description": "This process takes the number of filters and spaces them equally in semitones between the lowest and highest bands. Scatter applies some randomisation of these values moving the sound from something very harmonic to something more bell like in tone. The makeup gain provides a way of adding a boost to the filtered signal, you may need to adjust this if clipping occurs. Note, Q can be automated although doing this does sometimes produce temperamental results. Unlike Filter Bank: Linear this will produce a more consonant sound as the frequencies will align to uniform harmonic intervals.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Q",
		"paramdescription": "How narrow each filter band is",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 400.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Makeup Gain",
		"paramdescription": "How much gain to apply after filtering",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.02,
		"maxrange": 60.0,
		"step": 0.01,
		"value": 1.5,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Lowest Band",
		"paramdescription": "The lowest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 55.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Highest Band",
		"paramdescription": "The highest band in the bank",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 12000.0,
		"step": 0.01,
		"value": 12000.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Semitones",
		"paramdescription": "The spacing of bands in semitones between the lowest and highest bands",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 24.0,
		"step": 1.0,
		"value": 7.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Scatter",
		"paramdescription": "Amount of deviation from the harmonic series",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-s",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Filter bank with equal spacing in semitones",
	"stereo": true,
	"subcategory": "filter",
	"title": "Pitched Intervals"
  },
  "modify_brassage_6": {
	"category": "time",
	"description": "This process moves through the file from start to end at the speed set by scan speed. How linearly it moves through the file is set by the Search Range and Jitter. \n\nAs it moves through the file it cuts out small chunks - called grains - of the file and plays those back. The length of those grains and how they fade in and out is set by the Grain Size, Attack and Decay. The pitch of the grains is set by Pitch Shift. \n\nHow many grains play back is set by the Density, densities less than 1 will create gaps between grains, densities higher than 1 will cause grains to overlap and merge. \n\nFinally the sound can be panned from left to right with Panning and the Overalll level of the sound can be adjusted with Amplitude. \n\nThis process works particularly well when automation is applied to many parameters to make it shift and change over time. \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Scan Speed",
		"paramdescription": "How fast to move through the file, 1 = original speed, 2 = double speed, 0.5 = half speed",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Density",
		"paramdescription": "Amount of grain overlap, values less than 1 create gaps",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.2,
		"maxrange": 8.0,
		"step": 0.01,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Grain Size",
		"paramdescription": "Length of grains in ms",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 200.0,
		"step": 0.01,
		"value": 50.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Pitch Shift",
		"paramdescription": "Amount to shift pitch of grain in semitones",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -24.0,
		"maxrange": 24.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Amplitude",
		"paramdescription": "Overall amplitude of the output",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Panning",
		"paramdescription": "Panning of grains from left to right",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param7": {
		"paramname": "Attack",
		"paramdescription": "Amount of time in ms each grain takes to fade in",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 20.0,
		"step": 0.01,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param8": {
		"paramname": "Decay",
		"paramdescription": "Amount of time in ms each grain takes to fade out",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 20.0,
		"step": 0.01,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param9": {
		"paramname": "Search Range",
		"paramdescription": "Distance to move while looking for next grain",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-r",
		"minrange": 1.0,
		"maxrange": 200.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param10": {
		"paramname": "Jitter",
		"paramdescription": "Amount of randomisation of grain position",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-j",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Powerful granular segmentation/fragmentation procedures",
	"stereo": true,
	"subcategory": "granulate",
	"title": "Brassage"
  },
  "modify_brassage_5": {
	"category": "time",
	"description": "Moves through the sound from start to end and cuts it into grains. The density control sets how many of these grains are played back. A density of 1 will sound close to the original file, less than 1 will introduce gaps between grains, and values greater than one will smooth out the sound and introduce doubling.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Density",
		"paramdescription": "Amount of grain overlap",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 2.0,
		"step": 0.01,
		"value": 0.6,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Puts a grainy surface on a source",
	"stereo": true,
	"subcategory": "granulate",
	"title": "Granulate"
  },
  "modify_brassage_1": {
	"category": "time",
	"description": "Cuts the sound file into grains and speeds them up or slows them down to change their pitch. By repeating/omitting grains it retains the original speed. At high increases in pitch this will create a metallic sound, with high decreases in pitch the sound will lose detail.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Pitch Shift",
		"paramdescription": "Amount in semitones to shift the pitch by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -24.0,
		"maxrange": 24.0,
		"step": 0.01,
		"value": -12.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Granular pitch shift keeping the same speed",
	"stereo": true,
	"subcategory": "granulate",
	"title": "Pitch Shift"
  },
  "scramble_scramble_10": {
	"category": "time",
	"description": "This process takes a sound and splits it into grains. Unlike the other granulate processes the size of the grain not set by a time duration but instead by a number of wavecycles similar to the distort processes. Once the grains have been cut out the process reorders all grains based on how loud they are to create a fall in gain. This process works best with sounds that have a wide dynamic range. This process works excellently with Misc: Stack to add more layers to the new transient sound and with Extend: Back to Back to create a rise and fall from the sound.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Random Seed",
		"paramdescription": "Using the same seed with the same random parameters will produce the same transformations on each run",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 256.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Cycle Count",
		"paramdescription": "The number of wavecycles in each grain",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-c",
		"minrange": 1.0,
		"maxrange": 256.0,
		"step": 1.0,
		"value": 20.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Random Pitch",
		"paramdescription": "The maximum amount in semitones to randomise the pitch of each grain by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-t",
		"minrange": 0.0,
		"maxrange": 12.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Random Amplitude",
		"paramdescription": "The maximum amountto randomise the amplitude of each grain by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-a",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Reorders all grains by how loud they are",
	"stereo": false,
	"subcategory": "granulate",
	"title": "Reorder by Decreasing Level"
  },
  "scramble_scramble_9": {
	"category": "time",
	"description": "This process takes a sound and splits it into grains. Unlike the other granulate processes the size of the grain not set by a time duration but instead by a number of wavecycles similar to the distort processes. Once the grains have been cut out the process reorders all grains based on how loud they are to create a rise in gain. This process works best with sounds that have a wide dynamic range.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Random Seed",
		"paramdescription": "Using the same seed with the same random parameters will produce the same transformations on each run",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 256.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Cycle Count",
		"paramdescription": "The number of wavecycles in each grain",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-c",
		"minrange": 1.0,
		"maxrange": 256.0,
		"step": 1.0,
		"value": 20.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Random Pitch",
		"paramdescription": "The maximum amount in semitones to randomise the pitch of each grain by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-t",
		"minrange": 0.0,
		"maxrange": 12.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Random Amplitude",
		"paramdescription": "The maximum amountto randomise the amplitude of each grain by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-a",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Reorders all grains by how loud they are",
	"stereo": false,
	"subcategory": "granulate",
	"title": "Reorder by Increasing Level"
  },
  "modify_brassage_4": {
	"category": "time",
	"description": "Moves through the file from start to end and reorders the grains within the set timeframe of range. Small range values will retain some of the original shape of the sound, large range values will result in a very jumbled sound.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Grainsize",
		"paramdescription": "Size of the grains in milliseconds",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 500.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Range",
		"paramdescription": "Distance to move while looking for next grain",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-r",
		"minrange": 1.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 2500.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Random reordering of grains",
	"stereo": true,
	"subcategory": "granulate",
	"title": "Scramble"
  },
  "modify_brassage_2": {
	"category": "time",
	"description": "Cuts the sound file into grains and repeats omits grains to adjust the speed of the sound. At high decreases in speed this will create a metallic sound, with high increases in speed the sound will lose detail.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Speed",
		"paramdescription": "Multiplier to increase/decrease the speed by, 1 = original speed, 2 = double speed, 0.5 = half speed",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 0.25,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Granular time stretch keeping the same pitch",
	"stereo": true,
	"subcategory": "granulate",
	"title": "Time Stretch"
  },
  "modify_speed_5": {
	"category": "time",
	"description": "Creates a glissando effect by gradually speeding up or slowing down the file. Once the target time in the sound is reached it will continue sliding up or down to the end of the sound. 0.5 = half speed and 1 octave lower, 2 = double speed and 1 octave higher. Note: for more control over speed over time you can automate the Speed process instead. \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Transposition Ratio",
		"paramdescription": "The amount to adjust the speed by as a multiplier",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 0.25,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Goal Time",
		"paramdescription": "The point in the input sound in percent to have reached the transposition ratio by",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Speed up or slow down a sound over time",
	"stereo": true,
	"subcategory": "misc",
	"title": "Accelerate/Decelerate"
  },
  "silend_silend_1": {
	"category": "time",
	"description": "Adds silence at the end of the sound, very useful  before processes which add long tails such as resonant filters and bluring. Can also be used with scramble processes to add silences into the scramble. \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Length of Silence",
		"paramdescription": "The length of silence to add to the end of the sound in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 60.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Adds silence to the end of a sound",
	"stereo": true,
	"subcategory": "misc",
	"title": "Append Silence"
  },
  "housekeep_extract_4": {
	"category": "time",
	"description": "This process is intended for removing DC offset from a soundfile. You can specify how much the signal should be moved away from the 0 crossing line. It can also be used to deliberately add a DC offset into the sound file before further processing. For processes in the Distort catagory this will allow for an asymetrical application of their processing providing different timbres. Note, working this way is not how the processes are intended to be used and may produce errors on runtime and unpredictable results. Playing signals with significant DC bias in them is not good for the longterm health of your loudspeakers. If you do deliberately add a DC offset, you should run the process in the opposite direction after you are done processing to remove the DC bias. ",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Offset",
		"paramdescription": "The amount to move the signal away from the 0 crossing line by",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -0.02,
		"maxrange": 0.02,
		"step": 0.001,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Adjust DC offset",
	"stereo": true,
	"subcategory": "misc",
	"title": "DC Offset"
  },
  "modify_loudness_1": {
	"category": "time",
	"description": "Adjusts the gain of a sound making it louder and quieter. Less than 1 is quieter, more than 1 is louder. Useful for adjusting the level of a sound before a process to avoid clipping and for blending parallel processing in your thread (see Help > Tips > Wet/Dry Mix for more). \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Gain",
		"paramdescription": "The amount to scale the signal by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.001,
		"maxrange": 2.0,
		"step": 0.001,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Adjust gain",
	"stereo": true,
	"subcategory": "misc",
	"title": "Gain"
  },
  "phase_phase_1": {
	"category": "time",
	"description": "This process inverts the polarity of a signal, swapping the positive and negative portions of the waveform. When mixed with the original input sound this will create silence. This can be combined with other processes to effectively remove the input signal leaving only the result of the process. E.g. running a sound into Distort: Fractal and into this process and combining the result will leave only the fractal component of the waveform. ",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {},
	"short_description": "Invert the polarity (phase) of a signal",
	"stereo": true,
	"subcategory": "misc",
	"title": "Invert Polarity"
  },
  "sfedit_excise_1": {
	"category": "time",
	"description": "Unlike the trim function, this process removes the selected segment of audio out of the audio file keeping only the audio that is outside of the start and end points. Once it has removed the segment of audio it puts the start and end of the file together to close the gap. ",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Start",
		"paramdescription": "Start point in the output file as a percentage",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 40.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "End",
		"paramdescription": "End point in the output file as a percentage",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 60.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Remove a section from an audio file",
	"stereo": true,
	"subcategory": "misc",
	"title": "Remove"
  },
  "modify_radical_1": {
	"category": "time",
	"description": "Makes the sound play backwards. Particularly useful before processes like Stack to create interesting attack and decays.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {},
	"short_description": "Reverses a sound",
	"stereo": true,
	"subcategory": "misc",
	"title": "Reverse"
  },
  "modify_radical_5": {
	"category": "time",
	"description": "This process takes the input sound and multiplies it by a set frequency using a four-quadrant multiplier. Unlike amplitude modulation this allows the bipoloar mulitplier to go negative, inverting the input sounds phase. In sound terms this will produce two sounds layered together, the sum of input and modulator frequencies and the difference between the input and modulator frequencies and the carrier will dissapear. ",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Modulator Frequency",
		"paramdescription": "The frequency in Hz to multiply the input by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 5.0,
		"maxrange": 880.0,
		"step": 0.01,
		"value": 60.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Multiply the input by a set frequency",
	"stereo": true,
	"subcategory": "misc",
	"title": "Ring Modulation"
  },
  "modify_speed_2": {
	"category": "time",
	"description": "Plays the sound faster or slower to adjust its speed and pitch. -12 semitones is half speed; +12 semitones is double speed. \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Semitones",
		"paramdescription": "The amount to adjust the speed/pitch by in semitones",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -24.0,
		"maxrange": 24.0,
		"step": 0.01,
		"value": -12.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Speeds up or slows down a sound changing pitch",
	"stereo": true,
	"subcategory": "misc",
	"title": "Speed in Semitones"
  },
  "modify_stack": {
	"category": "time",
	"description": "This process takes the sound and makes numerous copies of it, set by the number of layers. Each copy is sped up or slowed down by the transposition amount multiplied  by its layer number - -12 semitones = half speed, +12 semitones = double speed. These layers are then stacks on top of each other to create a denser sound. The attack offset is used to line up the layers so that their attacks all line up, adjust this to the point in the input where you want all the sounds to line up. The output duration allows you to trim off the end of the sound as with negative transposition and many layers the output can get very long. \n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Transposition",
		"paramdescription": "The amount in semitones each layer is transposed by",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -24.0,
		"maxrange": 24.0,
		"step": 0.01,
		"value": -12.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Layers",
		"paramdescription": "The number of layers",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 2.0,
		"maxrange": 20.0,
		"step": 1.0,
		"value": 6.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Lean",
		"paramdescription": "The loudness of the highest layer relative to the others",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.8,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Attack Offset",
		"paramdescription": "The point in the file in percent where the attack of the sound begins",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Output Gain",
		"paramdescription": "Adjusts the output gain to avoid clipping",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Output Duration",
		"paramdescription": "The amount of the sound to render, 1 is the full sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Stacks transposed versions of a sound on top of one another",
	"stereo": true,
	"subcategory": "misc",
	"title": "Stack"
  },
  "sfedit_cut_1": {
	"category": "time",
	"description": "This process can trim off the start/end of a file to cut to a precise length. This is particularly helpful for trimming chunks out of long files that have been created with extend of granulation processes mid way through a thread for further processing to speed up the processing time. Time is given as a percentage.\n",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Start",
		"paramdescription": "Start point in the output file as a percentage",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "End",
		"paramdescription": "End point in the output file as a percentage",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 80.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Trim a file to a set length",
	"stereo": true,
	"subcategory": "misc",
	"title": "Trim"
  },
  "modify_revecho_2": {
	"category": "time",
	"description": "This process plays the audio through a delay line which can be fed back onto itself to create multiple repetitions of the sound. The delay time of the process can be modulated to change over time. With short delay times and small amounts of modulation depth and slow modulation speed this will create chorus and flanger like effects. With longer delay times and higher modulation depth and slow modulation speed this will create audible pitch bends in the sound. With fast modulation speeds this will create an FM like effect producing new higher harmonics in the sound. If modulation frequency is set positive the modulation will be a repeating sine waveform, when set negative the modulation will be random values.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Delay Time",
		"paramdescription": "The delay time before modulation in ms",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.03,
		"maxrange": 1000.0,
		"step": 0.01,
		"value": 250.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Dry/Wet",
		"paramdescription": "The balance between the original signal and the delayed signal 0 = dry, 1 = wet",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Feedback",
		"paramdescription": "Higher values = more repetitions of the sound, with negative values the phase of the feedback is inverted",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -1.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Modulation Depth",
		"paramdescription": "How much to modulate the delay time by",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Modulation Speed",
		"paramdescription": "The speed of the modulation in Hz, negative values = random modulation, positive values = sinusoidal modulation",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -50.0,
		"maxrange": 50.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Modulation Phase",
		"paramdescription": "The starting phase of the modulation waveform",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param7": {
		"paramname": "Modulation Start Time",
		"paramdescription": "The point in the input in percent where modulation should begin",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param8": {
		"paramname": "Tail",
		"paramdescription": "The amount of silence in seconds to add to the end of the input to avoid cutting off delay tails",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 30.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Delays a signal with optional LFO modulation over delay time",
	"stereo": true,
	"subcategory": "reverb",
	"title": "Delay with Modulation"
  },
  "newdelay_newdelay": {
	"category": "time",
	"description": "This process takes a midi note number and uses the frequency of that note as the time for a delay, this creates ringing pitched sounds similar to karplus strong synthesis.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "MIDI Pitch",
		"paramdescription": "The midi note number to tune the delay to",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -20.0,
		"maxrange": 127.0,
		"step": 0.01,
		"value": 60.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Dry/Wet",
		"paramdescription": "Mix between the input and the delayed signal",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Feedback",
		"paramdescription": "The amount of resonance from the delay",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -1.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.7,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Time delays tuned to a specified pitch",
	"stereo": false,
	"subcategory": "reverb",
	"title": "Pitched Delay"
  },
  "rmverb_": {
	"category": "time",
	"description": "This process produces a reverb effect, emulating the way sound bounces around an acoustic space. It has three modes, Small, Medium and Large that aim to emulate three different acoustic spaces.",
	"inputtype": "[0]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Small/Medium/Large",
		"paramdescription": "The room algorithm to use",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 3.0,
		"step": 1.0,
		"value": 3.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Density",
		"paramdescription": "The level of early reflections",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.25,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Wet/Dry Mix",
		"paramdescription": "Balance between reverb and the input sound 0 = wet, 1 = dry",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.1,
		"value": 0.4,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Decay",
		"paramdescription": "The length of the reverb tail",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.8,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Damping",
		"paramdescription": "The frequency of the reverbs low pass filter",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 10000.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Low Pass Filter",
		"paramdescription": "The cutoff of a low pass filter applied to the input, 0 = bypassed",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param7": {
		"paramname": "Tail Time",
		"paramdescription": "Amount of silence  in seconds to append to the input file to avoid cutting off the reverb tail",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 60.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Add simulated acoustic resonance",
	"stereo": true,
	"subcategory": "reverb",
	"title": "Reverb"
  },
  "multiosc_multiosc_3": {
	"category": "time",
	"description": "This synth node contains four oscillators. Oscillator 1 is the carrier - the oscillator we listen to - and oscillators 2, 3, and 4 are modulators. The modulators modulate the frequency of the previous oscillator. Frequency modulation adds new overtones to the sound. Simple ratios i.e. frequencies that are integer multiplications of the carriers frequency, will generally produce overtones that align to the harmonic series. More complex ratios will produce inharmonic overtones. This is an effective way of quickly making a very complex tone.",
	"inputtype": "[]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Output Duration",
		"paramdescription": "The length in seconds to generate the waveform for",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.5,
		"maxrange": 720.0,
		"step": 0.01,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Carrier Frequency",
		"paramdescription": "The pitch of the oscillator that we listen to in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 110.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Modulator 1 Frequency",
		"paramdescription": "The frequency of the first modulator in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 1046.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Modulator 1 Amplitude",
		"paramdescription": "The amount of modulation applied to the carrier",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 0.5,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Modulator 2 Frequency",
		"paramdescription": "The frequency of the second modulator in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 888.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Modulator 2 Amplitude",
		"paramdescription": "The amount of modulation applied to modulator 1",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 0.5,
		"step": 0.01,
		"value": 0.03,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param7": {
		"paramname": "Modulator 3 Frequency",
		"paramdescription": "The frequency of the third modulator in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param8": {
		"paramname": "Modulator 3 Amplitude",
		"paramdescription": "The amount of modulation applied to modulator 2",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 0.5,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param9": {
		"paramname": "Sample Rate",
		"paramdescription": "The sample rate of the output file",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "[44100, 48000, 88200, 96000]",
		"value": 0.0,
		"exponential": false,
		"uitype": "optionbutton"
	  },
	  "param10": {
		"paramname": "Splice Length",
		"paramdescription": "The length of the fade in at the start and end of the file in ms",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 50.0,
		"step": 1.0,
		"value": 50.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Four operator FM tone generator",
	"stereo": true,
	"subcategory": "synthesis",
	"title": "Four Op FM"
  },
  "synth_wave_4": {
	"category": "time",
	"description": "This process generates a constant ramp tone. The pitch of the ramp tone as well as its amplitude can be set to vary over time.",
	"inputtype": "[]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Sample Rate",
		"paramdescription": "The sample rate of the generated ramp wave",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "[44100, 48000, 88200, 96000]",
		"value": 0.0,
		"exponential": false,
		"uitype": "optionbutton"
	  },
	  "param2": {
		"paramname": "Mono/Stereo",
		"paramdescription": "The number of output channels in the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 2.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "The length in seconds to generate the waveform for",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.5,
		"maxrange": 720.0,
		"step": 0.01,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Frequency",
		"paramdescription": "The pitch of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 220.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Amplitude",
		"paramdescription": "The output gain of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-a",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.6,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Generates a ramp tone",
	"stereo": true,
	"subcategory": "synthesis",
	"title": "Ramp Wave"
  },
  "synspline_synspline": {
	"category": "time",
	"description": "This process generates random points called splines and interpolates between them to create waveforms. The morph speed parameter sets how quickly the waveform will vary overtime creating shifting over tones as it changes shape. ",
	"inputtype": "[]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Sample Rate",
		"paramdescription": "The sample rate of the generated ramp wave",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "[44100, 48000, 88200, 96000]",
		"value": 0.0,
		"exponential": false,
		"uitype": "optionbutton"
	  },
	  "param2": {
		"paramname": "Output Duration",
		"paramdescription": "The length in seconds to generate the waveform for",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.5,
		"maxrange": 720.0,
		"step": 0.01,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Frequency",
		"paramdescription": "The pitch of the generated waveform in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 220.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Spline Count",
		"paramdescription": "The number of random points to generate per wavecycle",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Morph Speed",
		"paramdescription": "The number of wavecycles to morph from waveform to the next",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 4000.0,
		"step": 1.0,
		"value": 24.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Seed",
		"paramdescription": "The same seed will produce the same result on multiple runs with the same parameters",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Generates varying waveforms with random overtones",
	"stereo": true,
	"subcategory": "synthesis",
	"title": "Random Overtones"
  },
  "synth_wave_1": {
	"category": "time",
	"description": "This process generates a constant sine tone. The pitch of the sine tone as well as its amplitude can be set to vary over time. This synth node is particularly useful for testing the various Distort processes to get a feel for how they change a sound.",
	"inputtype": "[]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Sample Rate",
		"paramdescription": "The sample rate of the generated sine wave",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "[44100, 48000, 88200, 96000]",
		"value": 0.0,
		"exponential": false,
		"uitype": "optionbutton"
	  },
	  "param2": {
		"paramname": "Mono/Stereo",
		"paramdescription": "The number of output channels in the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 2.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "The length in seconds to generate the waveform for",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.5,
		"maxrange": 720.0,
		"step": 0.01,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Frequency",
		"paramdescription": "The pitch of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 220.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Amplitude",
		"paramdescription": "The output gain of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-a",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.6,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Generates a sine tone",
	"stereo": true,
	"subcategory": "synthesis",
	"title": "Sine Wave"
  },
  "synth_wave_2": {
	"category": "time",
	"description": "This process generates a constant square tone. The pitch of the square tone as well as its amplitude can be set to vary over time.",
	"inputtype": "[]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Sample Rate",
		"paramdescription": "The sample rate of the generated square wave",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "[44100, 48000, 88200, 96000]",
		"value": 0.0,
		"exponential": false,
		"uitype": "optionbutton"
	  },
	  "param2": {
		"paramname": "Mono/Stereo",
		"paramdescription": "The number of output channels in the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 2.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "The length in seconds to generate the waveform for",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.5,
		"maxrange": 720.0,
		"step": 0.01,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Frequency",
		"paramdescription": "The pitch of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 220.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Amplitude",
		"paramdescription": "The output gain of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-a",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.6,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Generates a square tone",
	"stereo": true,
	"subcategory": "synthesis",
	"title": "Square Wave"
  },
  "synth_wave_3": {
	"category": "time",
	"description": "This process generates a constant triangle tone. The pitch of the triangle tone as well as its amplitude can be set to vary over time.",
	"inputtype": "[]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Sample Rate",
		"paramdescription": "The sample rate of the generated trangle wave",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "[44100, 48000, 88200, 96000]",
		"value": 0.0,
		"exponential": false,
		"uitype": "optionbutton"
	  },
	  "param2": {
		"paramname": "Mono/Stereo",
		"paramdescription": "The number of output channels in the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 2.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "The length in seconds to generate the waveform for",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.5,
		"maxrange": 720.0,
		"step": 0.01,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Frequency",
		"paramdescription": "The pitch of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 220.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Amplitude",
		"paramdescription": "The output gain of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-a",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.6,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Generates a triangle tone",
	"stereo": true,
	"subcategory": "synthesis",
	"title": "Triangle Wave"
  },
  "synth_noise": {
	"category": "time",
	"description": "This process generates white noise. The amplitude of the noise can vary over time.",
	"inputtype": "[]",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Sample Rate",
		"paramdescription": "The sample rate of the generated ramp wave",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "[44100, 48000, 88200, 96000]",
		"value": 0.0,
		"exponential": false,
		"uitype": "optionbutton"
	  },
	  "param2": {
		"paramname": "Mono/Stereo",
		"paramdescription": "The number of output channels in the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 2.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "The length in seconds to generate the waveform for",
		"automatable": false,
		"outputduration": true,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.5,
		"maxrange": 720.0,
		"step": 0.01,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Amplitude",
		"paramdescription": "The output gain of the waveform",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-a",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.6,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Generates white noise",
	"stereo": true,
	"subcategory": "synthesis",
	"title": "White Noise"
  },
  "spec_gain": {
	"category": "pvoc",
	"description": "This process is very similar to the time domain Gain process, it adjusts how loud the signal is, however this process operates on signals that are in the frequency domain. This is useful for adjusting signals that may clip when converted back to the time domain.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Gain",
		"paramdescription": "The amount to scale the gain by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.001,
		"maxrange": 2.0,
		"step": 0.001,
		"value": 0.8,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Adjusts the gain in the frequency domain",
	"stereo": false,
	"subcategory": "amplitude",
	"title": "Gain"
  },
  "pvoc_anal_1": {
	"category": "pvoc",
	"description": "This is process is used to analyse a sound and convert it from the time domain to the frequency domain. This allows for processes in the PVOC processes menu to be used to manipulate the sound. Once you are done processing in the frequency domain you can convert it back to audio again using Resynthesise. See Help > Tutorials > PVOC for more.\n",
	"inputtype": "[0]",
	"outputtype": "[1]",
	"parameters": {},
	"short_description": "Convert a sound from the time domain to the frequency domain",
	"stereo": false,
	"subcategory": "convert",
	"title": "Analyse"
  },
  "pvoc_synth": {
	"category": "pvoc",
	"description": "This is process is used to take the analysis of a sound file and resynthesise it back into the time domain. This should be used after you are done processing in the frequency domain to convert back to audio. See Help > Tutorials > PVOC for more. \n",
	"inputtype": "[1]",
	"outputtype": "[0]",
	"parameters": {},
	"short_description": "Convert a sound from the frequency domain to the time domain",
	"stereo": false,
	"subcategory": "convert",
	"title": "Resynthesise"
  },
  "strange_glis_2": {
	"category": "pvoc",
	"description": "Extracts the spectral contour of the sound retaining any spectral articulation, such as patterns of speech, but replaces the signal by rising (positive values for Glissando Rate) or falling (negative values for Glissando Rate) inharmonic glissandos.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Formant Bands",
		"paramdescription": "The number of bands to extract and apply to the shepard tone",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-p",
		"minrange": 1.0,
		"maxrange": 12.0,
		"step": 1.0,
		"value": 8.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Glissando Rate",
		"paramdescription": "The speed for the glissandos to rise or fall in semitones per second, positive = rise, negative = fall",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -20.0,
		"maxrange": 20.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Spacing",
		"paramdescription": "The spacing between each glissando in Hz",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 50.0,
		"maxrange": 200.0,
		"step": 0.01,
		"value": 50.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Impose formants on inharmonic glissandos",
	"stereo": false,
	"subcategory": "formants",
	"title": "Inharmonic Glissandos"
  },
  "specfnu_specfnu_3": {
	"category": "pvoc",
	"description": "A spectral peak is an area of higher amplitude among the frequencies of the spectrum. A trough is an area of low amplitude between spectral peaks. The INVERT mode swaps these, so that the peaks become troughs and vice versa. This should make the sound noisier, with buzzy high frequencies. Vibrate allow you to oscillate between the original and inverted states this works particularly well when set to a very low value e.g. 0.01.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Vibrate",
		"paramdescription": "The speed to oscillate between inverted and original state",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 2.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Output Gain",
		"paramdescription": "Amount of gain applied to the output signal",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.1,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Omit Inharmonic Partials",
		"paramdescription": "Removes inharmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-x",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  },
	  "param4": {
		"paramname": "Omit Harmonic Partials",
		"paramdescription": "Removes harmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-k",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Inverts peaks and troughs",
	"stereo": false,
	"subcategory": "formants",
	"title": "Invert Formants"
  },
  "specfnu_specfnu_9": {
	"category": "pvoc",
	"description": "This process allows you to move the first four formants in a sound to a specific frequency set in Hz. Each of the formant peaks can be moved independently.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Formant 1 Frequency",
		"paramdescription": "The frequency to move formant 1 to in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 100.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Formant 2 Frequency",
		"paramdescription": "The frequency to move formant 2 to in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 200.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Formant 3 Frequency",
		"paramdescription": "The frequency to move formant 3 to in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 500.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Formant 3 Frequency",
		"paramdescription": "The frequency to move formant 4 to in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 10000.0,
		"step": 0.01,
		"value": 1200.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Output Gain",
		"paramdescription": "The final output gain of the signal",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.01,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Omit Inharmonic Partials",
		"paramdescription": "Removes inharmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-x",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  },
	  "param7": {
		"paramname": "Omit Harmonic Paritials",
		"paramdescription": "Removes harmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-k",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Move the first four formants to set frequencies",
	"stereo": false,
	"subcategory": "formants",
	"title": "Move Formants"
  },
  "specfnu_specfnu_1": {
	"category": "pvoc",
	"description": "Narrow steepen skirts of formant peaks by power factor. This focuses energy on the spectral peaks and therefore acts like an increasingly tight filter. As Narrowing is increased the material between the peaks is diminished and eventually disappears.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Narrowing",
		"paramdescription": "The amount to narrow the formants by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 1000.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Output Gain",
		"paramdescription": "Amount of gain applied to the output signal",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.1,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Omit Inharmonic Partials",
		"paramdescription": "Removes inharmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-x",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  },
	  "param4": {
		"paramname": "Omit Harmonic Partials",
		"paramdescription": "Removes harmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-k",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Narrows formants, focusing energy at spectral peaks",
	"stereo": false,
	"subcategory": "formants",
	"title": "Narrow Formants"
  },
  "specfnu_specfnu_4": {
	"category": "pvoc",
	"description": "Rotates formants using an LFO, moving their peaks and frequencies up or down the spectrum. When a formant reaches the edge of the formant area they wrap around appearing at the bottom or top of the area.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Rotation Speed",
		"paramdescription": "The speed to move formants up or down",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -4.0,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Output Gain",
		"paramdescription": "Amount of gain applied to the output signal",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.1,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Omit Inharmonic Partials",
		"paramdescription": "Removes inharmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-x",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  },
	  "param4": {
		"paramname": "Omit Harmonic Partials",
		"paramdescription": "Removes harmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-k",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Move formants up or down spectrum",
	"stereo": false,
	"subcategory": "formants",
	"title": "Rotate Formants"
  },
  "strange_glis_1": {
	"category": "pvoc",
	"description": "Extracts the spectral contour of the sound retaining any spectral articulation, such as patterns of speech, but replaces the signal by an endlessly rising (positive values for Glissando Rate) or falling (negative values for Glissando Rate) shepard tone.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Formant Bands",
		"paramdescription": "The number of bands to extract and apply to the shepard tone",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-p",
		"minrange": 1.0,
		"maxrange": 12.0,
		"step": 1.0,
		"value": 8.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Glissando Rate",
		"paramdescription": "The speed for the shepard tone to rise or fall in semitones per second, positive = rise, negative = fall",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -20.0,
		"maxrange": 20.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Impose formants on a shepard tone",
	"stereo": false,
	"subcategory": "formants",
	"title": "Shepard Tone"
  },
  "specfnu_specfnu_8": {
	"category": "pvoc",
	"description": "This process allows you to shift the first four formants in a sound by a set value in Hz. Each of the formant peaks can be moved independently. Note that formants moving below zero or above nyquist will disappear. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Formant 1 Shift",
		"paramdescription": "The amount to move formant 1 by in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -1000.0,
		"maxrange": 1000.0,
		"step": 0.01,
		"value": -100.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Formant 2 Shift",
		"paramdescription": "The amount to move formant 2 by in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -1000.0,
		"maxrange": 1000.0,
		"step": 0.01,
		"value": 100.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Formant 3 Shift",
		"paramdescription": "The amount to move formant 3 by in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -1000.0,
		"maxrange": 1000.0,
		"step": 0.01,
		"value": 200.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Formant 4 Shift",
		"paramdescription": "The amount to move formant 4 by in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -1000.0,
		"maxrange": 1000.0,
		"step": 0.01,
		"value": 700.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param5": {
		"paramname": "Output Gain",
		"paramdescription": "The final output gain of the signal",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.01,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param6": {
		"paramname": "Omit Inharmonic Partials",
		"paramdescription": "Removes inharmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-x",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  },
	  "param7": {
		"paramname": "Omit Harmonic Paritials",
		"paramdescription": "Removes harmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-k",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Shift the first four formants by set amounts",
	"stereo": false,
	"subcategory": "formants",
	"title": "Shift Formants"
  },
  "specfnu_specfnu_5": {
	"category": "pvoc",
	"description": "This mode inverts the spectral values for each channel, usually producing a highly distorted output.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Output Gain",
		"paramdescription": "Amount of gain applied to the output signal",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.1,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Flat",
		"paramdescription": "Does not re-envelope the output spectrum",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-f",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Spectral values are inverted for each channel",
	"stereo": false,
	"subcategory": "formants",
	"title": "Spectral Negative"
  },
  "specfnu_specfnu_2": {
	"category": "pvoc",
	"description": "This process shifts all formants in the sound towards the specified formants, this will usually result in a lowering of the overal timbre of the sound e.g. high voices become deep voices.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Squeeze",
		"paramdescription": "The amount to squeeze the formants by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 10.0,
		"step": 1.0,
		"value": 4.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Centre Formant",
		"paramdescription": "The formant to squeeze around",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 4.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Gain",
		"paramdescription": "The gain applied to the output",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.1,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Invert",
		"paramdescription": "Squeeze around trough above specified peak",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-t",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  },
	  "param5": {
		"paramname": "Omit Inharmonic Partials",
		"paramdescription": "Removes inharmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-x",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  },
	  "param6": {
		"paramname": "Omit Harmonic Partials",
		"paramdescription": "Removes harmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-k",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Squeeze the spectrum around a specified formant",
	"stereo": false,
	"subcategory": "formants",
	"title": "Squeeze Formants"
  },
  "blur_chorus_5": {
	"category": "pvoc",
	"description": "This process attempts to achieve a chorusing effect by randomising the amplitude and frequency values of the partials. If very large amplitude values are used, the sound will turn to noise. The chorusing effect itself is achieved by values just a little above 1. Values of 2 or 3 begin to create a granular effect, and values of 10, 100 and 1000 create more and more noise.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Amplitude Randomise",
		"paramdescription": "Maximum random scatter of partial amplitudes",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 1028.0,
		"step": 1.0,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Frequency Randomise",
		"paramdescription": "Maximum random scatter of partial frequencies",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 2.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Chorusing by randomising amplitudes and frequencies of partials",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Chorus"
  },
  "focus_fold": {
	"category": "pvoc",
	"description": "This process takes a minimum and maximum frequency range and moves all frequencies outside of this into that range. It does this by transposing the frequencies in octaves, attempting to retain the harmonic relationships within the frequency spectrum. This generally works best with fairly narrow ranges between lowest and highest frequencies.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Lowest Frequency",
		"paramdescription": "The lowest frequency in the output sound",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 880.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Highest Frequency",
		"paramdescription": "The highest frequency in the output sound",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 1760.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Transposes the frequency spectrum to a set range",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Fold"
  },
  "strange_shift_4": {
	"category": "pvoc",
	"description": "Applies a linear frequency shift to the sound between the minimum and maximum frequencies. Unlike pitch shifting, frequency shifting offsets all frequencies by the same number of Hz which decorrolates the harmonic relationship between frequencies in the sound. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Shift Amount",
		"paramdescription": "The amount to shift the sound in Hz",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -500.0,
		"maxrange": 500.0,
		"step": 0.01,
		"value": 50.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Minimum Frequency",
		"paramdescription": "The lowest frequency in Hz to be processed",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 20.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Maximum Frequency",
		"paramdescription": "The highest frequency in Hz to be processed",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 1.0,
		"value": 20000.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Linear frequency shift within a set range",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Frequency Shift"
  },
  "strange_glis_3": {
	"category": "pvoc",
	"description": "Extracts the spectral contour of the sound retaining any spectral articulation, such as patterns of speech, but replaces the signal by rising (positive values for Glissando Rate) or falling (negative values for Glissando Rate) versions of the original input sound.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Formant Bands",
		"paramdescription": "The number of bands to extract and apply to the shepard tone",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-p",
		"minrange": 1.0,
		"maxrange": 12.0,
		"step": 1.0,
		"value": 8.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Glissando Rate",
		"paramdescription": "The speed for the glissandos to rise or fall in semitones per second, positive = rise, negative = fall",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -20.0,
		"maxrange": 20.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Glissando sound retaining original formants",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Glissando"
  },
  "repitch_transpose_3": {
	"category": "pvoc",
	"description": "This shifts the entire pitch and envelope of the file up or down by a set number of semitones while keeping the duration of the file the same. This produces a different overal tone than shifting pitch with granular processes. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Pitch Shift",
		"paramdescription": "The amount to change the pitch by in semitones",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -24.0,
		"maxrange": 24.0,
		"step": 0.01,
		"value": -12.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Pitch shift a sound in the frequency domain",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Pitch Shift"
  },
  "repitch_transposef_3": {
	"category": "pvoc",
	"description": "This shifts the entire pitch of the file up or down by a set number of semitones while keeping spectral envelope and the duration of the file the same. This will produce a pitch shift while retaining some of the original timbre of the sound.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Formant Bands",
		"paramdescription": "The number of bands to use when detecting formant envelope",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-p",
		"minrange": 1.0,
		"maxrange": 12.0,
		"step": 1.0,
		"value": 8.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Pitch Shift",
		"paramdescription": "The amount to change the pitch by in semitones",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": -24.0,
		"maxrange": 24.0,
		"step": 0.01,
		"value": -12.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Pitch shift a sound in the frequency domain retaining formants",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Pitch Shift Retaining Formants"
  },
  "specfnu_specfnu_19": {
	"category": "pvoc",
	"description": "This process identifies all the harmonic partials in the sound and randomises their pitches. It keeps the original formants the same.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Randomisation",
		"paramdescription": "The amount to randomise partials by",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.1,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Output Gain",
		"paramdescription": "The final gain applied to the output file",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": 0.01,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Omit Inharmonic Partials",
		"paramdescription": "Removes inharmonic partials from the sound",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-x",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": false,
		"exponential": false,
		"uitype": "checkbutton"
	  }
	},
	"short_description": "Randomises the pitch of partials retaining formants",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Randomise Partials"
  },
  "pitch_tune_1": {
	"category": "pvoc",
	"description": "This process takes a set frequency and tunes all partials in the input sound to that frequency or harmonics of that frequency. The final sound is a very natural sounding resonance based on the specified frequency. carrying the spectral articulation of the original sound. The process works best on unpitched, pitch-unspecific, or noisy materials, but can be applied to any sound. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Frequency",
		"paramdescription": "The frequency in Hz to tune all partials to",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 440.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Tunes the spectrum to a specified frequency",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Tune"
  },
  "strange_waver_1": {
	"category": "pvoc",
	"description": "Introduces an oscillation towards and away from inharmonicness in the spectrum of a sound. The program moves towards inharmonicness by means of the stretch factor. \n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Vibrato Frequency",
		"paramdescription": "Speed of oscillations in Hz",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 150.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Stretch",
		"paramdescription": "The maximum spectral stretch in the inharmonic state",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Base Frequency",
		"paramdescription": "The frequency above which spectral stretching happens",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 5.0,
		"maxrange": 20000.0,
		"step": 0.1,
		"value": 5.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Oscillate between harmonic and inharmonic state",
	"stereo": false,
	"subcategory": "pitch",
	"title": "Waver"
  },
  "blur_avrg": {
	"category": "pvoc",
	"description": "This function take the energy (loudness) information of a frequency channel and averages it between adjacent frequency channels. This resuls in high energy points being spread vertically across the frequency spectrum introducing noise and roughening the sound.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Channels",
		"paramdescription": "Number of adjacent channels to average together",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 200.0,
		"step": 1.0,
		"value": 6.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Average spectral energy across adjacent channels",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Average"
  },
  "blur_spread": {
	"category": "pvoc",
	"description": "This process introduces noise into the spectrum in a way which is coherent with the spectral envelope. The formants in each window are retained, and the level in every channel is made to approximate this average spectral contour to a greater or lesser extent, depending on spread. This process tends to exaggerate the less prominent noise constituents of the spectrum.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Formant Bands",
		"paramdescription": "The number of formants to impose on the noise",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-f",
		"minrange": 1.0,
		"maxrange": 12.0,
		"step": 1.0,
		"value": 7.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Noise Amount",
		"paramdescription": "The amount of noise to add into the spectrum",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-s",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Introduce noise retaining formants and spectral envelope",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Enveloped Noise"
  },
  "focus_exag": {
	"category": "pvoc",
	"description": "This process looks for peaks or troughs in the dynamic range of the sound and then exaggerates the spectral content of those to shift the overall timbre of the sound. Values less than 1 will emphasise the frequencies in the troughs often bringing out pitched resonances, values greater than 1 will bring out the frequencies in the transient peaks often adding a bright buzzy timbre. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Exaggeration",
		"paramdescription": "<1 emphasise troughs, >1 emphasise peaks",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.25,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Exaggerates the spectral contour",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Exaggerate"
  },
  "focus_focus": {
	"category": "pvoc",
	"description": "Focus identifies a number of peaks in the sound and analyses the prominent frequencies in those peaks. It then filters the entire sound through those frequencies imposing the spectral content of the peaks onto the entire sound. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Number of Frequency Bands",
		"paramdescription": "The number of bands to filter the sound through",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-p",
		"minrange": 1.0,
		"maxrange": 12.0,
		"step": 1.0,
		"value": 7.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Number of peaks to find",
		"paramdescription": "The number of peaks the process will find and analyse",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 16.0,
		"step": 1.0,
		"value": 16.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Bandwidth",
		"paramdescription": "The width of the filters, the smaller the number the narrow the filters",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 10.0,
		"step": 0.01,
		"value": 0.3,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Filters sound through prominent peak frequencies",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Focus"
  },
  "strange_invert_1": {
	"category": "pvoc",
	"description": "Inverts the spectral envelope, relative to the overall spectral envelope. This means that the energy associated with the highest frequency bands is transferred to the lowest ones and vice versa. As the lowest partials in many sounds have the greatest amplitude and the highest ones the least, the result is typically a much brighter timbre.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {},
	"short_description": "Invert the spectral envelope",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Invert"
  },
  "blur_noise": {
	"category": "pvoc",
	"description": "This process enables one to move a sound source towards pure noise, by making the data in every channel – most of which is actually low level noise – equally loud. Setting noise amount to 1 will reduce all sounds to a very similar noise signal that follows the dynamic envelope of the original sound.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Noise Amount",
		"paramdescription": "The amount of noise to add into the spectrum",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Make all frequency channels equally loud increasing noise",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Noise"
  },
  "specfold_specfold_3": {
	"category": "pvoc",
	"description": "This process randomises the spectrum of a sound within a set range. This will result in the harmonic relationship between partials being removed and in pitched material this will move it towards a bell like tone. With the lowest channel set higher than 0 some of the original sounds fundamental frequencies will remain allowing you to only randomise the overtones in the sound.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Lowest Frequency Channel",
		"paramdescription": "The lowest frequency channel to process",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 256.0,
		"step": 1.0,
		"value": 20.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Channels to process",
		"paramdescription": "The number of channels above the lowest to randomise",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 4.0,
		"maxrange": 256.0,
		"step": 1.0,
		"value": 256.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Seed",
		"paramdescription": "Sets a specific randomisation of channels, the same seed with the same settings will produce the same randomisation",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Randomise the spectrum",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Randomise"
  },
  "stretch_spectrum_1": {
	"category": "pvoc",
	"description": "This process takes all frequencies above the threshold and stretches them upwards. In harmonic sounds this will break the relationship between the harmonics moving it into an inharmonic sound. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Threshold",
		"paramdescription": "The frequency above which all frequencies are stretched",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 440.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Max Stretch",
		"paramdescription": "The maximum stretch amount to apply to the highest frequencies",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.3,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 1.5,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Stretch Exponent",
		"paramdescription": "The shape of the stretch across the spectrum",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.3,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Depth",
		"paramdescription": "How much stretching actually takes place 0 = no stretch, 1 = full stretch",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-d",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Stretches all frequencies above a set point upwards",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Stretch Spectrum Above"
  },
  "stretch_spectrum_2": {
	"category": "pvoc",
	"description": "This process takes all frequencies below the threshold and stretches them downwards. In harmonic sounds this will break the relationship between the harmonics moving it into an inharmonic sound. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Threshold",
		"paramdescription": "The frequency below which all frequencies are stretched",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 20.0,
		"maxrange": 20000.0,
		"step": 0.01,
		"value": 440.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Max Stretch",
		"paramdescription": "The maximum stretch amount to apply to the lowest frequencies",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.3,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 1.5,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Stretch Exponent",
		"paramdescription": "The shape of the stretch across the spectrum",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.3,
		"maxrange": 4.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param4": {
		"paramname": "Depth",
		"paramdescription": "How much stretching actually takes place 0 = no stretch, 1 = full stretch",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-d",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 1.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Stretches all frequencies below a set point upwards",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Stretch Spectrum Below"
  },
  "blur_suppress": {
	"category": "pvoc",
	"description": "This process is the opposite of Trace, it removes the loudest frequencies from the sound leaving only quieter partials and potentially noise. This will thin a sound highlighting its timbre.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Amount Removed",
		"paramdescription": "The number of partials to remove from the sound",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 513.0,
		"step": 1.0,
		"value": 16.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Remove the loudest partials",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Suppress"
  },
  "blur_scatter": {
	"category": "pvoc",
	"description": "This function throws away a specified proportion of the analysis data in each window at random. This produces a result similar to the Trace process however, unlike Trace the material kept by Thin Randomly may or may not include prominent parts of the sound.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Amount Kept",
		"paramdescription": "Number of randomly chosen blocks to keep in each spectral window",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 513.0,
		"step": 1.0,
		"value": 16.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Randomly thin the spectrum",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Thin Randomly"
  },
  "hilite_trace_1": {
	"category": "pvoc",
	"description": "Looks for and retains only the N loudest partials in the analysis data on a window-by-window basis. This reduces the data in the spectral dimension and produces an aural 'trace' of the original sound.\n\nWith non-'noisy' sources it is necessary to reduce the number of channels quite considerably to make any appreciable aural change to the source sound. Even the 10 loudest channels will retain a surprising amount of the original sound. The flip side of this is that Trace can be used to 'clean' a sound, if a certain amount of data loss is not a problem. \n\nThis works well with Blur after it to create a smeared simplified version of the sound.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Amount Kept",
		"paramdescription": "The number of partials to keep",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 513.0,
		"step": 1.0,
		"value": 16.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Highlight the loudest partials",
	"stereo": false,
	"subcategory": "spectrum",
	"title": "Trace"
  },
  "focus_accu": {
	"category": "pvoc",
	"description": "Frequencies are sustained into subsequent windows. The Overalll effect is one of sustaining, but one which also makes the spectrum more complex.\n\nThe Glissandos parameter produces glissandos within the spectrum of the sound. Very effective slow glissandos are produced when Glissandos is near 0, e.g., -0.9 or 0.1. At 0.5, there are several glissandos, at 1, they are fairly fast, and at 10 it becomes a wash.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Decay",
		"paramdescription": "Amount for each sustained band to decay each second",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-d",
		"minrange": 0.001,
		"maxrange": 1.0,
		"step": 0.001,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Glissandos",
		"paramdescription": "Amount each sustained band glissandos in octaves per second",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "-g",
		"minrange": -5.0,
		"maxrange": 10.0,
		"step": 0.1,
		"value": -0.5,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Sustain each spectral band until louder data appears in that band",
	"stereo": false,
	"subcategory": "time",
	"title": "Accumulate"
  },
  "blur_blur": {
	"category": "pvoc",
	"description": "This process 'blurs' detail in the time dimension by interpolating between the spectral envelope values of the start and end windows blurring windows. Note that it is not interpolating continuously over all the windows in between, just between the data in the start and end windows. The Overalll result is somewhat affected by just how different the data is in these two windows. The interpolation process produces a 'straight line' (linear) scale of values between the start and end points.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Blurring",
		"paramdescription": "The number of windows over which to average the spectrum",
		"automatable": true,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 1024.0,
		"step": 1.0,
		"value": 64.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Time-average the spectrum",
	"stereo": false,
	"subcategory": "time",
	"title": "Blur"
  },
  "blur_drunk": {
	"category": "pvoc",
	"description": "This process is similar to the Extend: Drunk functions however, unlike the extend processes this process moves through analysis windows. This can result in a much smoother extension of the sound as windows are overlapped. The process moves from the start point jumping forwards and backwards randomly between windows. The amount it can move by is limited by the range setting. If range is small, the output will tend to linger around the start-point in the file, progressing very slowly away from it in an arbitrary direction. This results in a mix of time-stretching and slow wandering through the source. If range is large, the drunken walk tends to leap about wildly in the file, scrambling the source sound. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Range",
		"paramdescription": "The maximum number of windows to move on each step",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 64.0,
		"step": 1.0,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Start",
		"paramdescription": "The point in the file to begin the drunk walk in percent",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "Output Duration",
		"paramdescription": "The length of the ouput file in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 1.0,
		"maxrange": 600.0,
		"step": 0.01,
		"value": 60.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Extend by drunken walk through analysis windows",
	"stereo": false,
	"subcategory": "time",
	"title": "Drunk"
  },
  "spec_magnify": {
	"category": "pvoc",
	"description": "This process allows you to pick a single point in time in the sound and output only that moment, drawn out for the amount of time that you specifiy.",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Time",
		"paramdescription": "The point in the file in percent to freeze",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "Output Duration",
		"paramdescription": "The length of the output file in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 10.0,
		"maxrange": 480.0,
		"step": 0.1,
		"value": 30.0,
		"exponential": true,
		"uitype": "hslider"
	  }
	},
	"short_description": "Freeze a single analysis window",
	"stereo": false,
	"subcategory": "time",
	"title": "Freeze"
  },
  "focus_step": {
	"category": "pvoc",
	"description": "Moves through the sound from start to end and freezes the spectrum of the sound at a regular interval. With fast clock speeds this produces a granular like effect, with slow clock speeds this freezes the sound in place creating an audible step from freeze to freeze. This process works well with Blur to to smooth out the boundaries between steps. ",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Clock Speed",
		"paramdescription": "How often to freeze the sound in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.01,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.5,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Freezes the spectrum of the sound at regular intervals",
	"stereo": false,
	"subcategory": "time",
	"title": "Stepped Freeze"
  },
  "spectstr_stretch": {
	"category": "pvoc",
	"description": "Stretches or shrinks the sound over time, without changing frequency. It creates extra time-windows to expand the Overalll time-base of the sound, without a change of frequency. When using large stretch values you will make very long sound files, and this process may take some time to run.\n\nD-Ratio and D-Random allow you to randomise some of the channels in the sound to create internal variation and different timbres. Small amounts of this will blur the sound slightly and on long stretches help the sound feel less static. With large amounts of randomisation, the texture of the sound starts to feel granular.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Stretch Multiplier",
		"paramdescription": "The amount to stretch the sound by",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.1,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 10.0,
		"exponential": true,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "D-Ratio",
		"paramdescription": "Proportion of channels to discohere",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param3": {
		"paramname": "D-Random",
		"paramdescription": "Frequency randomisation of discohered channels",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 1.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Time stretch a sound without changing pitch",
	"stereo": false,
	"subcategory": "time",
	"title": "Stretch"
  },
  "spec_cut": {
	"category": "pvoc",
	"description": "This process can trim off the start/end of a file to cut to a precise length in the frequency domain. This is particularly helpful for trimming chunks out of long files that have been created with time strech processes mid way through a thread for further processing to speed up the processing time. Time is given as a percentage.\n",
	"inputtype": "[1]",
	"outputtype": "[1]",
	"parameters": {
	  "param1": {
		"paramname": "Start",
		"paramdescription": "Start point in the output file as a percentage",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": true,
		"max": false,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 0.0,
		"exponential": false,
		"uitype": "hslider"
	  },
	  "param2": {
		"paramname": "End",
		"paramdescription": "End point in the output file as a percentage",
		"automatable": false,
		"outputduration": false,
		"time": true,
		"min": false,
		"max": true,
		"flag": "",
		"minrange": 0.0,
		"maxrange": 100.0,
		"step": 0.01,
		"value": 80.0,
		"exponential": false,
		"uitype": "hslider"
	  }
	},
	"short_description": "Trim a file to a set length in the frequency domain",
	"stereo": false,
	"subcategory": "time",
	"title": "Trim"
  },
  "inputfile": {
	"category": "utility",
	"description": "SoundThread only supports mono and stereo .wav files.\n\nClicking and dragging on the sound file viewer will let you select a section of audio to play.\n\nIf audio is selected in Input File when you run the thread, SoundThread will automatically cut out that section and process only that.\n\nClicking on the sound file viewer while audio is playing will allow you to jump around the file to listen to different sections.\n",
	"inputtype": "",
	"outputtype": "[0]",
	"parameters": {
	  "param1": {
		"paramname": "Load File",
		"paramdescription": "Opens a file browser to select a sound file",
		"automatable": false,
		"outputduration": false,
		"uitype": "button"
	  },
	  "param2": {
		"paramname": "Play/Stop",
		"paramdescription": "Plays the input sound file",
		"automatable": false,
		"outputduration": false,
		"uitype": "button"
	  },
	  "param3": {
		"paramname": "Reuse Output",
		"paramdescription": "Loads the last output file into this input node",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": "button"
	  }
	},
	"short_description": "Loads a file for processing - supports mono and stereo .wav files",
	"stereo": true,
	"subcategory": "",
	"title": "Input File"
  },
  "outputfile": {
	"category": "utility",
	"description": "The name inputted in File Name will be appended with the current date and time so that you don't need to input a new file name each time.\n\nSoundThread can create a lot of files as each node in the thread can create multiple files. Turning on Delete Intermediate Files will delete everything but the main output file. \n\nClicking and dragging on the sound file viewer will let you select a section of audio to play. Clicking on the sound file viewer while audio is playing will allow you to jump around the file to listen to different sections.\n",
	"inputtype": "[0]",
	"outputtype": "",
	"parameters": {
	  "param1": {
		"paramname": "File Name",
		"paramdescription": "The name for your output file",
		"automatable": false,
		"outputduration": false,
		"uitype": "lineedit"
	  },
	  "param2": {
		"paramname": "Run Thread",
		"paramdescription": "Runs the current thread, opens a file dialog to choose the folder for the output files",
		"automatable": false,
		"outputduration": false,
		"uitype": "button"
	  },
	  "param3": {
		"paramname": "Delete Intermediate Files",
		"paramdescription": "If switched on, deletes all files except the final output file",
		"automatable": false,
		"outputduration": false,
		"uitype": "toggle"
	  },
	  "param4": {
		"paramname": "Open Folder",
		"paramdescription": "Opens the last used output folder",
		"automatable": false,
		"outputduration": false,
		"uitype": "button"
	  },
	  "param5": {
		"paramname": "Recycle File",
		"paramdescription": "Loops the output file back to the Input File node for reprocessing",
		"automatable": false,
		"outputduration": false,
		"uitype": "button"
	  },
	  "param6": {
		"paramname": "Play/Stop",
		"paramdescription": "Plays the last output file",
		"outputduration": false,
		"uitype": "button"
	  }
	},
	"short_description": "Manages output for running threads",
	"stereo": true,
	"subcategory": "",
	"title": "Output File"
  },
  "calculator": {
	"category": "utility",
	"description": "This is a basic calculator for quick maths, it can be used in conjunction with other convert nodes to quickly work out parameter values.\n",
	"inputtype": "",
	"outputtype": "",
	"parameters": {},
	"short_description": "A simple calculator for quick maths",
	"stereo": false,
	"subcategory": "utility",
	"title": "Calculator"
  },
  "note_to_hz": {
	"category": "utility",
	"description": "Utility for quickly getting frequencies, values are truncated to two decimal places so are not entirely accurate. Particularly useful for tuning filters and filterbanks. Note, you can highlight and copy a frequency and then paste that into the value for the slider.\n",
	"inputtype": "",
	"outputtype": "",
	"parameters": {
	  "param1": {
		"paramname": "Note",
		"paramdescription": "The note to get the frequency of",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  },
	  "param2": {
		"paramname": "Accidental",
		"paramdescription": "Sets how sharp or flat the note is in quarter tones",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  }
	},
	"short_description": "Converts from musical notes to Hz",
	"stereo": false,
	"subcategory": "utility",
	"title": "Convert Note to Hz"
  },
  "convert_time": {
	"category": "utility",
	"description": "Utility for quickly getting various units of time from another unit of time.",
	"inputtype": "",
	"outputtype": "",
	"parameters": {
	  "param1": {
		"paramname": "Milliseconds",
		"paramdescription": "The length of time in ms",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  },
	  "param2": {
		"paramname": "Seconds",
		"paramdescription": "The length of time in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  },
	  "param3": {
		"paramname": "1/4 Notes",
		"paramdescription": "The length of time as a number of 1/4 notes at a given BPM",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  },
	  "param4": {
		"paramname": "Hertz",
		"paramdescription": "The length of time in Hz",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  },
	  "param5": {
		"paramname": "MIDI",
		"paramdescription": "The length of time as a MIDI note number",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  },
	  "param6": {
		"paramname": "Samples",
		"paramdescription": "The length of time as a number of samples at a given sample rate",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  },
	  "param7": {
		"paramname": "% of Time (s)",
		"paramdescription": "The length of time as a percentage of a given time in seconds",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  }
	},
	"short_description": "Converts between various units of time",
	"stereo": false,
	"subcategory": "utility",
	"title": "Convert Time Units"
  },
  "notes": {
	"category": "utility",
	"description": "Doesn't do anything other than giving you a space to take notes. You can right click in the text box to copy and paste and use special characters like emojis ÃƒÂ°Ã…Â¸Ã‹Å“Ã…Â .\n",
	"inputtype": "",
	"outputtype": "",
	"parameters": {},
	"short_description": "A box for taking notes",
	"stereo": false,
	"subcategory": "utility",
	"title": "Notes"
  },
  "preview": {
	"category": "utility",
	"description": "Connect this node to a point in your thread to preview the output file at that point. This will stop this sound file from being deleted by Delete Intermediate Files. Note: many of these in a thread may cause lag with long input files.\n",
	"inputtype": "",
	"outputtype": "",
	"parameters": {
	  "param1": {
		"paramname": "Play/Stop",
		"paramdescription": "Starts and stops playback of the loaded audio",
		"automatable": false,
		"outputduration": false,
		"time": false,
		"min": false,
		"max": false,
		"flag": "",
		"minrange": "",
		"maxrange": "",
		"step": "",
		"value": "",
		"exponential": false,
		"uitype": ""
	  }
	},
	"short_description": "Connect inside thread to preview output at that point",
	"stereo": false,
	"subcategory": "utility",
	"title": "Preview"
  }
}
