<effect>
  <name>spectralscale_shift</name>
  <enabled>false</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>ftps1  pvsanal   ain1, &lt;size&gt;, &lt;overlap&gt;, &lt;size&gt;, 1 ; analyse it
ftps2  pvsanal   ain2, &lt;size&gt;, &lt;overlap&gt;, &lt;size&gt;, 1

fscale1  pvscale   ftps1, &lt;scal&gt;, &lt;form&gt;        ; transpose it keeping formants
fscale2  pvscale   ftps2, &lt;scal&gt;, &lt;form&gt;

fshift1 pvshift fscale1, &lt;shift&gt;, &lt;lowest&gt;, &lt;form&gt;
fshift2 pvshift fscale2, &lt;shift&gt;, &lt;lowest&gt;, &lt;form&gt;

aout1  pvsynth  fshift1                      ; synthesise it
aout2  pvsynth  fshift2      
                      
      
               

</code>
  <comments>pitch scale and spectral shifting using  Victor Lazzarini&apos;s pvshift and pvscale.</comments>
  <opcodeList/>
  <graphicInterface editEnabled='true'>
    <uniqueNameManager nameIndex='-1' defaultPrefix='bsbObj'/>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown'>
      <objectName>size</objectName>
      <x>15</x>
      <y>148</y>
      <bsbDropdownItemList>
        <bsbDropdownItem>
          <name>256</name>
          <value>256</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>512</name>
          <value>512</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1024</name>
          <value>1024</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>2048</name>
          <value>2048</value>
        </bsbDropdownItem>
      </bsbDropdownItemList>
      <selectedIndex>2</selectedIndex>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown'>
      <objectName>overlap</objectName>
      <x>15</x>
      <y>124</y>
      <bsbDropdownItemList>
        <bsbDropdownItem>
          <name>256</name>
          <value>256</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>512</name>
          <value>512</value>
        </bsbDropdownItem>
        <bsbDropdownItem>
          <name>1024</name>
          <value>1024</value>
        </bsbDropdownItem>
      </bsbDropdownItemList>
      <selectedIndex>1</selectedIndex>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>75</x>
      <y>150</y>
      <label>size</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>73</x>
      <y>127</y>
      <label>overlap</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>scal</objectName>
      <x>11</x>
      <y>10</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.1</minimum>
      <maximum>4.0</maximum>
      <value>2.6981683</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
      <objectName>form</objectName>
      <x>162</x>
      <y>134</y>
      <label>keep format</label>
      <selected>false</selected>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>shift</objectName>
      <x>119</x>
      <y>10</y>
      <automationAllowed>true</automationAllowed>
      <minimum>-1000.0</minimum>
      <maximum>1000.0</maximum>
      <value>101.03027</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>26</x>
      <y>87</y>
      <label>scale</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>134</x>
      <y>88</y>
      <label>shift</label>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
      <objectName>lowest</objectName>
      <x>206</x>
      <y>10</y>
      <automationAllowed>true</automationAllowed>
      <minimum>0.0</minimum>
      <maximum>200.0</maximum>
      <value>0.0</value>
      <knobWidth>60</knobWidth>
      <randomizable>true</randomizable>
    </bsbObject>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel'>
      <objectName></objectName>
      <x>199</x>
      <y>87</y>
      <label>lowest to shift</label>
    </bsbObject>
  </graphicInterface>
  <bsbParameterList>
    <parameter uniqueId='1175512338' name='lowest' label='' min='0.0' max='200.0' resolution='-1.0' automationEnabled='false'>
      <line name='' version='2' max='200.0' min='0.0' resolution='-1.0' color='-8355712' rightBound='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='1175512334' name='scal' label='' min='0.1' max='4.0' resolution='-1.0' automationEnabled='false'>
      <line name='' version='2' max='4.0' min='0.1' resolution='-1.0' color='-8355712' rightBound='false'>
        <linePoint x='0.0' y='2.6981683'/>
      </line>
    </parameter>
    <parameter uniqueId='1175512336' name='shift' label='' min='-1000.0' max='1000.0' resolution='-1.0' automationEnabled='false'>
      <line name='' version='2' max='1000.0' min='-1000.0' resolution='-1.0' color='-8355712' rightBound='false'>
        <linePoint x='0.0' y='101.03027'/>
      </line>
    </parameter>
  </bsbParameterList>
</effect>