<instrument type='blue.orchestra.BlueSynthBuilder' editEnabled='true'>
  <name>Pluck+phaser</name>
  <comment>This is a simple instrument that uses the phaser1 or phaser2 opcode on a
signal generated by the pluck opcode. The pluck opcode is in the mvpPluck
UDO, which checks ipar1 and ipar2, so you don&apos;t have to worry about
restrictions on these.

Despite the simplicity this instrument generates very diverse and
interesting sounds.

Some knobs have a text field under them, these allow you to change
the value (e.g. an extra p-field or a global value).

Usage:
p4: pitch or frequency
p5: in decibels below 0dbfs if 0 or negative, otherwise amplitude as fraction of 0dbfs (0-1)
</comment>
  <globalOrc>gi_cosine	ftgen	0, 0, 65536,	11,	1, 1
</globalOrc>
  <globalSco/>
  <instrumentText>ifreq getFrequency p4
iamp = ((p5 &gt; 0) ? 0dbfs*p5 : ampdbfs(p5))

kenv mvpEnvelope i(&lt;attack&gt;), i(&lt;decay&gt;), i(&lt;sustain&gt;), i(&lt;release&gt;), 0

if (&lt;filter_mode&gt;==1) then
	ifreq = ifreq / i(&lt;freq_mutl1&gt;)
endif

asig mvpPluck iamp, ifreq, &lt;method&gt;, i(&lt;par1&gt;), i(&lt;par2&gt;), ifreq/i(&lt;buffer_size&gt;&lt;buffer_size_mod&gt;)

; With phaser1 we get the best results if the filter frequency is bigger than the instrument frequency,
; while with phaser2 we get the best results if the filter frequency is less than the instrument frequency,
; so we multiply for phaser1 and divide for phaser2.
; This is why the frequency is only adjusted above for phaser1.
if (&lt;filter_mode&gt;==1) then
	asig phaser1 asig, ifreq*i(&lt;freq_mutl1&gt;), &lt;ord&gt;, i(&lt;feedback&gt;)
elseif (&lt;filter_mode&gt; &gt; 1) then
	asig phaser2 asig, ifreq/i(&lt;freq_mutl1&gt;), &lt;quality&gt;, &lt;ord&gt;, &lt;filter_mode&gt;-1, &lt;separation&gt;, &lt;feedback&gt;
endif

asig = asig*kenv

kleft, kright panner &lt;pan&gt;&lt;pan_mod&gt;
blueMixerOut asig*kleft, asig*kright
</instrumentText>
  <graphicInterface editEnabled='false'>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown'>
      <objectName>method</objectName>
      <x>33</x>
      <y>129</y>
      <bsbDropdownItemList>
        <bsbDropdownItem>
          <name>Simple averaging</name>
          <value>1</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>Stretched averaging</name>
          <value>2</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>Simple drum (par 1)</name>
          <value>3</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>Stretched drum (par 1, 2)</name>
          <value>4</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>Weighted averaging  (par 1, 2)</name>
          <value>5</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1st order recursive filter</name>
          <value>6</value>
        </bsbDropdownItem>
      </bsbDropdownItemList>
      <selectedIndex>3</selectedIndex>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>par1</objectName>
      <x>33</x>
      <y>179</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.30912828</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>par2</objectName>
      <x>114</x>
      <y>179</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.884751</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>buffer_size</objectName>
      <x>203</x>
      <y>179</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>4.0</maximum>
      <value>2.3413565</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>205</x>
      <y>162</y>
      <label>buffer size</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>128</x>
      <y>162</y>
      <label>par 2</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>47</x>
      <y>162</y>
      <label>par 1</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>pan</objectName>
      <x>802</x>
      <y>117</y>
      <automationAllowed>true</automationAllowed>
      <minimum>-1.0</minimum>
      <maximum>1.0</maximum>
      <value>0.0</value>
      <knobWidth>60</knobWidth>
      <randomizable>false</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>821</x>
      <y>96</y>
      <label>Pan</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBTextField'>
      <objectName>pan_mod</objectName>
      <x>802</x>
      <y>198</y>
      <value></value>
      <textFieldWidth>60</textFieldWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown'>
      <objectName>filter_mode</objectName>
      <x>396</x>
      <y>129</y>
      <bsbDropdownItemList>
        <bsbDropdownItem>
          <name>None</name>
          <value>0</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>phaser1</name>
          <value>1</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>phaser2 mode 1</name>
          <value>2</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>phaser2 mode 2</name>
          <value>3</value>
        </bsbDropdownItem>
      </bsbDropdownItemList>
      <selectedIndex>1</selectedIndex>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>freq_mutl1</objectName>
      <x>399</x>
      <y>186</y>
      <automationAllowed>true</automationAllowed>
      <minimum>1.0</minimum>
      <maximum>100.0</maximum>
      <value>47.68179</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>403</x>
      <y>169</y>
      <label>Freq mult</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider'>
      <objectName>ord</objectName>
      <x>439</x>
      <y>287</y>
      <automationAllowed>false</automationAllowed>
      <minimum>1.0</minimum>
      <maximum>500.0</maximum>
      <resolution>1.0</resolution>
      <value>396.0</value>
      <sliderWidth>150</sliderWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>feedback</objectName>
      <x>475</x>
      <y>186</y>
      <automationAllowed>true</automationAllowed>
      <minimum>-1.0</minimum>
      <maximum>1.0</maximum>
      <value>-0.99038893</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>478</x>
      <y>169</y>
      <label>Feedback</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>quality</objectName>
      <x>559</x>
      <y>186</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>2.0</maximum>
      <value>1.5467572</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>571</x>
      <y>169</y>
      <label>Quality</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>separation</objectName>
      <x>635</x>
      <y>186</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>3.0</maximum>
      <value>1.0826997</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>638</x>
      <y>169</y>
      <label>Separation</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>781</x>
      <y>256</y>
      <label>Suggested pitches</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBTextField'>
      <objectName>sugg_pitches</objectName>
      <x>782</x>
      <y>282</y>
      <value>8-10</value>
      <textFieldWidth>100</textFieldWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBTextField'>
      <objectName>buffer_size_mod</objectName>
      <x>203</x>
      <y>257</y>
      <value></value>
      <textFieldWidth>60</textFieldWidth>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>20</x>
      <y>11</y>
      <label>&lt;html&gt;&lt;font size=&quot;+3&quot;&gt;Pluck with phaser&lt;/font&gt;&lt;/html&gt;</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>34</x>
      <y>95</y>
      <label>&lt;html&gt;&lt;font size=&quot;+1&quot;&gt;Pluck&lt;/font&gt;&lt;/html&gt;</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>399</x>
      <y>292</y>
      <label>Ord</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>396</x>
      <y>95</y>
      <label>&lt;html&gt;&lt;font size=&quot;+1&quot;&gt;Phaser&lt;/font&gt;&lt;/html&gt;</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>decay</objectName>
      <x>86</x>
      <y>345</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>10.0</maximum>
      <value>1.9213018</value>
      <knobWidth>50</knobWidth>
      <randomizable>false</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>sustain</objectName>
      <x>139</x>
      <y>345</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>1.0</maximum>
      <value>0.5930366</value>
      <knobWidth>50</knobWidth>
      <randomizable>false</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>release</objectName>
      <x>193</x>
      <y>345</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>10.0</maximum>
      <value>0.94110405</value>
      <knobWidth>50</knobWidth>
      <randomizable>false</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>attack</objectName>
      <x>33</x>
      <y>345</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>10.0</maximum>
      <value>0.01</value>
      <knobWidth>50</knobWidth>
      <randomizable>false</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>37</x>
      <y>326</y>
      <label>Attack</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>94</x>
      <y>326</y>
      <label>Decay</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>140</x>
      <y>326</y>
      <label>Sustain</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>193</x>
      <y>326</y>
      <label>Release</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>34</x>
      <y>296</y>
      <label>&lt;html&gt;&lt;font size=&quot;+1&quot;&gt;Envelope&lt;/font&gt;&lt;/html&gt;</label>
    </bsbObject>
  </graphicInterface>
  <bsbParameterList>
    <parameter uniqueId='701406942' name='attack' label='' min='0.0' max='10.0' resolution='-1.0' automationEnabled='false' value='0.01'>
      <line name='' version='2' max='10.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.01'/>
      </line>
    </parameter>
    <parameter uniqueId='701406924' name='buffer_size' label='' min='0.0' max='4.0' resolution='-1.0' automationEnabled='false' value='2.3413565'>
      <line name='' version='2' max='4.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='2.3413565'/>
      </line>
    </parameter>
    <parameter uniqueId='701406936' name='decay' label='' min='0.0' max='10.0' resolution='-1.0' automationEnabled='false' value='1.9213018'>
      <line name='' version='2' max='10.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.9213018'/>
      </line>
    </parameter>
    <parameter uniqueId='701406930' name='feedback' label='' min='-1.0' max='1.0' resolution='-1.0' automationEnabled='false' value='-0.99038893'>
      <line name='' version='2' max='1.0' min='-1.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='-0.99038893'/>
      </line>
    </parameter>
    <parameter uniqueId='701406928' name='freq_mutl1' label='' min='1.0' max='100.0' resolution='-1.0' automationEnabled='false' value='47.68179'>
      <line name='' version='2' max='100.0' min='1.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='47.68179'/>
      </line>
    </parameter>
    <parameter uniqueId='701406926' name='pan' label='' min='-1.0' max='1.0' resolution='-1.0' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='-1.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='701406920' name='par1' label='' min='0.0' max='1.0' resolution='-1.0' automationEnabled='false' value='0.30912828'>
      <line name='' version='2' max='1.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.30912828'/>
      </line>
    </parameter>
    <parameter uniqueId='701406922' name='par2' label='' min='0.0' max='1.0' resolution='-1.0' automationEnabled='false' value='0.884751'>
      <line name='' version='2' max='1.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.884751'/>
      </line>
    </parameter>
    <parameter uniqueId='701406932' name='quality' label='' min='0.0' max='2.0' resolution='-1.0' automationEnabled='false' value='1.5467572'>
      <line name='' version='2' max='2.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.5467572'/>
      </line>
    </parameter>
    <parameter uniqueId='701406940' name='release' label='' min='0.0' max='10.0' resolution='-1.0' automationEnabled='false' value='0.94110405'>
      <line name='' version='2' max='10.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.94110405'/>
      </line>
    </parameter>
    <parameter uniqueId='701406934' name='separation' label='' min='0.0' max='3.0' resolution='-1.0' automationEnabled='false' value='1.0826997'>
      <line name='' version='2' max='3.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0826997'/>
      </line>
    </parameter>
    <parameter uniqueId='701406938' name='sustain' label='' min='0.0' max='1.0' resolution='-1.0' automationEnabled='false' value='0.5930366'>
      <line name='' version='2' max='1.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.5930366'/>
      </line>
    </parameter>
  </bsbParameterList>
  <presetGroup name='Presets' currentPresetUniqueId='2081656864' currentPresetModified='false'>
    <preset name='Chilly 1' uniqueId='2081656862'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:2.1958596706</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.8513166904</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:100</setting>
      <setting name='method'>1</setting>
      <setting name='ord'>263.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.6568210721</setting>
      <setting name='par2'>ver2:0.0415289961</setting>
      <setting name='quality'>ver2:0.9161220789</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:2.1531083584</setting>
      <setting name='sugg_pitches'>3-5</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Chilly 2' uniqueId='-1995516544'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:3.1489090919</setting>
      <setting name='buffer_size_mod'/>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.8362812996</setting>
      <setting name='filter_mode'>1</setting>
      <setting name='freq_mutl1'>ver2:74.8639984131</setting>
      <setting name='method'>1</setting>
      <setting name='ord'>32.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.8606218696</setting>
      <setting name='par2'>ver2:0.6234317422</setting>
      <setting name='quality'>ver2:1.4636893272</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:0.9414221644</setting>
      <setting name='sugg_pitches'>8-10</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Drama' uniqueId='2081656864'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:2.3413565159</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:-0.9903889298</setting>
      <setting name='filter_mode'>1</setting>
      <setting name='freq_mutl1'>ver2:47.6817893982</setting>
      <setting name='method'>3</setting>
      <setting name='ord'>396.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'></setting>
      <setting name='par1'>ver2:0.3091282845</setting>
      <setting name='par2'>ver2:0.8847510219</setting>
      <setting name='quality'>ver2:1.5467572212</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:1.0826996565</setting>
      <setting name='sugg_pitches'>8-10</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Effect' uniqueId='2081656863'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:2.1027891636</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.6662824154</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:25.9515743256</setting>
      <setting name='method'>4</setting>
      <setting name='ord'>152.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.0774962083</setting>
      <setting name='par2'>ver2:0.3501942754</setting>
      <setting name='quality'>ver2:1.3128429651</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:2.7261450291</setting>
      <setting name='sugg_pitches'>2-6</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Machine' uniqueId='-1995516543'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:0.2614716291</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.938732028</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:56.1510429382</setting>
      <setting name='method'>1</setting>
      <setting name='ord'>148.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.8295611143</setting>
      <setting name='par2'>ver2:0.6654490829</setting>
      <setting name='quality'>ver2:1.2237275839</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:2.9838867188</setting>
      <setting name='sugg_pitches'>2-7</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Metal 1' uniqueId='-1995516545'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:3.2882013321</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:-0.761398077</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:47.7016677856</setting>
      <setting name='method'>4</setting>
      <setting name='ord'>95.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'></setting>
      <setting name='par1'>ver2:0.4388128519</setting>
      <setting name='par2'>ver2:0.1820724607</setting>
      <setting name='quality'>ver2:0.09396898</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:0.0828603953</setting>
      <setting name='sugg_pitches'>6-9</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Metal 2' uniqueId='701406901'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:1.376352191</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:-0.989569664</setting>
      <setting name='filter_mode'>1</setting>
      <setting name='freq_mutl1'>ver2:17.8746929169</setting>
      <setting name='method'>5</setting>
      <setting name='ord'>35.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'></setting>
      <setting name='par1'>ver2:0.6077548862</setting>
      <setting name='par2'>ver2:0.8637639284</setting>
      <setting name='quality'>ver2:1.9364176989</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:1.1527442932</setting>
      <setting name='sugg_pitches'>9-12</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Mystery' uniqueId='2081656861'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:3.6638813019</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:-0.916154325</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:77.9554672241</setting>
      <setting name='method'>2</setting>
      <setting name='ord'>221.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.1690590829</setting>
      <setting name='par2'>ver2:0.7445607185</setting>
      <setting name='quality'>ver2:1.4801207781</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:2.8421566486</setting>
      <setting name='sugg_pitches'>3-7</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Plasma' uniqueId='2081656859'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:2.408166647</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.5676826239</setting>
      <setting name='filter_mode'>3</setting>
      <setting name='freq_mutl1'>ver2:13.0165863037</setting>
      <setting name='method'>3</setting>
      <setting name='ord'>40.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.9228191972</setting>
      <setting name='par2'>ver2:0.3353322744</setting>
      <setting name='quality'>ver2:1.6323305368</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:1.591688633</setting>
      <setting name='sugg_pitches'>2-5</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Preset 1' uniqueId='2081656858'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:0.0519714728</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:-0.4967355728</setting>
      <setting name='filter_mode'>1</setting>
      <setting name='freq_mutl1'>ver2:17.2486286163</setting>
      <setting name='method'>2</setting>
      <setting name='ord'>234.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'></setting>
      <setting name='par1'>ver2:0.0300751906</setting>
      <setting name='par2'>ver2:0.3787982464</setting>
      <setting name='quality'>ver2:0.276237905</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:0.4517433643</setting>
      <setting name='sugg_pitches'>8-10</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Preset 2' uniqueId='2081656860'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:0.8101061583</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.8029571772</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:24.2506771088</setting>
      <setting name='method'>0</setting>
      <setting name='ord'>247.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.1126024276</setting>
      <setting name='par2'>ver2:0.1922247261</setting>
      <setting name='quality'>ver2:1.6211341619</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:2.4761517048</setting>
      <setting name='sugg_pitches'>2-8</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Preset 3' uniqueId='-1995516542'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:2.1497607231</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.6249717474</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:6.8436498642</setting>
      <setting name='method'>2</setting>
      <setting name='ord'>232.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.5406592488</setting>
      <setting name='par2'>ver2:0.5703755617</setting>
      <setting name='quality'>ver2:1.4500828981</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:0.6709280014</setting>
      <setting name='sugg_pitches'>3-6</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Preset 4' uniqueId='-1995516541'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:1.0506849289</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:0.8784534931</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:97.397026062</setting>
      <setting name='method'>5</setting>
      <setting name='ord'>251.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.3513122499</setting>
      <setting name='par2'>ver2:0.037632063</setting>
      <setting name='quality'>ver2:0.6306818724</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:0.3508581817</setting>
      <setting name='sugg_pitches'>3-8</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
    <preset name='Weird bell' uniqueId='2081656865'>
      <setting name='attack'>ver2:0.0099999998</setting>
      <setting name='buffer_size'>ver2:3.9290816784</setting>
      <setting name='buffer_size_mod'></setting>
      <setting name='decay'>ver2:1.9213018417</setting>
      <setting name='feedback'>ver2:-0.9956245422</setting>
      <setting name='filter_mode'>2</setting>
      <setting name='freq_mutl1'>ver2:35.8498344421</setting>
      <setting name='method'>2</setting>
      <setting name='ord'>46.0</setting>
      <setting name='pan'>ver2:0</setting>
      <setting name='pan_mod'/>
      <setting name='par1'>ver2:0.8857126236</setting>
      <setting name='par2'>ver2:0.2528865337</setting>
      <setting name='quality'>ver2:1.9342093468</setting>
      <setting name='release'>ver2:0.9411040545</setting>
      <setting name='separation'>ver2:0.5143500566</setting>
      <setting name='sugg_pitches'>9-13</setting>
      <setting name='sustain'>ver2:0.593036592</setting>
    </preset>
  </presetGroup>
  <opcodeList>
    <udo>
      <opcodeName>mvp_kVariation</opcodeName>
      <outTypes>k</outTypes>
      <inTypes>iiiiiiiii</inTypes>
      <codeBody>itype, imin1, imax1, imin2, imax2, ipw, ispeed1, ispeed2, iphase xin

if (itype==1) then ; Constant
	kvar = imin1
elseif (itype==2) then ; Linear
	kvar linseg imin1, 1/ispeed1, imax1, p3, imax1
elseif (itype==3) then ; Bilinear
	kvar linseg imin1, 1/ispeed1, imax1, 1/ispeed2, imin2, p3, imin2
elseif (itype==4) then ; Exponential
	kvar expseg imin1, 1/ispeed1, imax1, p3, imax1
elseif (itype==5) then ; Biexponential
	kvar expseg imin1, 1/ispeed1, imax1, 1/ispeed2, imin2, p3, imin2
else
	iexp = 0
	if (itype&gt;=200) then
		iexp = 1
		itype = itype-100
		iexp_sign = (imin1 &gt; 0) ? 1 : -1
		; user should make sure they all have the same sign!
		imin1 = log(iexp_sign*imin1)
		imax1 = log(iexp_sign*imax1)
		imin2 = log(iexp_sign*imin2)
		imax2 = log(iexp_sign*imax2)
	endif

	kavg line (imin1+imax1)/2, p3, (imin2+imax2)/2
	kamp line (imax1-imin1)/2, p3, (imax2-imin2)/2

	if (itype==100) then ; Sine
		kspeed line ispeed1, p3, ispeed2
		kph loopseg kspeed, 0, 0, 0, ipw, 0.5, 1-ipw, 1
		kvar tablei kph, gi_cosine, 1
		kvar = kamp*kvar
	elseif (itype==101) then ; Triangles
		kspeed line ispeed1, p3, ispeed2
		kph phasor kspeed, iphase
		kvar loopsegp kph, kamp, ipw, -kamp, 1-ipw, kamp
	elseif (itype==102) then ; Trapezoids
		kspeed line ispeed1, p3, ispeed2
		kph phasor kspeed, iphase
		kvar loopsegp kph, kamp, ipw, kamp, ipw, -kamp, 1-ipw, -kamp, 1-ipw, kamp
	elseif (itype==103) then ; Square
		kspeed line ispeed1, p3, ispeed2
		kph phasor kspeed, iphase
		kvar loopsegp kph, kamp, ipw, kamp, 0, -kamp, 1-ipw, -kamp
		kvar = kvar*kamp
	elseif (itype==104) then ; Smooth square
		kspeed line ispeed1, p3, ispeed2
		kph phasor kspeed, iphase
		kvar loopsegp kph, kamp, ipw, kamp, 0.05, -kamp, 1-ipw, -kamp, 0.05, kamp
	elseif (itype==105) then; Jitter
		kvar jitter kamp, ispeed1, ispeed2
	elseif (itype==106) then; Jspline
		kvar jspline kamp, ispeed1, ispeed2
	elseif (itype==107) then ; random hold
		kspeed line ispeed1, p3, ispeed2
		kvar randh kamp, kspeed, 1
	elseif (itype==108) then ; random hold with port
		kspeed line ispeed1, p3, ispeed2
		kvar randh kamp, kspeed, 1
		kvar tonek kvar, 20
	elseif (itype==109) then ; random lines
		kspeed line ispeed1, p3, ispeed2
		kvar randi kamp, kspeed
	endif

	kvar = kvar+kavg

	if (iexp==1) then
		kvar = iexp_sign*exp(kvar)
	endif
endif

xout kvar
</codeBody>
      <comments></comments>
    </udo>
    <udo>
      <opcodeName>panner</opcodeName>
      <outTypes>kk</outTypes>
      <inTypes>k</inTypes>
      <codeBody>; sin/cos taper, constant power.
kPanpos xin
kPanpos = kPanpos/2

kPanpos	= kPanpos * 3.14159265359 * .5
kLeft     	= sqrt(2) / 2 * (cos(kPanpos) - sin(kPanpos)) 
kRight    	= sqrt(2) / 2 * (cos(kPanpos) + sin(kPanpos))
xout kLeft,kRight</codeBody>
      <comments></comments>
    </udo>
    <udo>
      <opcodeName>mvpPluck</opcodeName>
      <outTypes>a</outTypes>
      <inTypes>ikiiii</inTypes>
      <codeBody>iamp, kfreq, imethod, ipar1, ipar2, ibufsize xin

if (imethod==2) then
	ipar1 = 1
	ipar2 = 0
elseif (imethod==4) then
	ipar2 = 1
elseif (imethod==5) then
	isum = ipar1+ipar2
	if ((isum)&gt;1) then
		ipar1 = ipar1 / (isum*1.0001)
		ipar2 = ipar2 / (isum*1.0001)
	endif
endif

asig pluck iamp, kfreq, ibufsize, 0, imethod, ipar1, ipar2

xout asig
</codeBody>
      <comments></comments>
    </udo>
    <udo>
      <opcodeName>getFrequency</opcodeName>
      <outTypes>i</outTypes>
      <inTypes>i</inTypes>
      <codeBody>ipch 	xin

iout	= (ipch &lt; 15 ? cpspch(ipch) : ipch)
	
	xout	iout
</codeBody>
      <comments></comments>
    </udo>
    <udo>
      <opcodeName>mvpEnvelope</opcodeName>
      <outTypes>k</outTypes>
      <inTypes>iiiii</inTypes>
      <codeBody>iatk, idec, isus, irel, icurve xin

ifrac = (iatk+idec+irel)/p3
if ( ifrac &gt; 1 ) then
	iatk = iatk / ifrac
	idec = idec / ifrac
	irel = irel / ifrac
endif

kenv adsr iatk, idec, isus, irel
if (icurve!=0) then
	kenv expcurve kenv, icurve
endif

xout kenv</codeBody>
      <comments></comments>
    </udo>
  </opcodeList>
</instrument>