<effect>
  <name>VoxXtended</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;VoxXtendedON&gt; == 1) then
    isine	ftgentmp 0, 0, 16384, 10, 1
    isaw	ftgentmp 0, 0, 16384, 10, 1, 0.5, 0.3, 0.25, 0.2, 0.167, 0.14, 0.125, .111
    isquare	ftgentmp 0, 0, 16384, 10, 1, 0, 0.3, 0, 0.2, 0, 0.14, 0, .111
    ipulse	ftgentmp 0, 0, 16384, 10, 1, 1, 1, 1, 0.7, 0.5, 0.3, 0.1

    kcarcoarse  = &lt;VoxXtended_carrier_coarse&gt; * 1000                                       ;coarse tuning of freq
    kcarrier    =   &lt;VoxXtended_carrier_fine&gt; + kcarcoarse                                 ;add coarse and fine tuning

    if (&lt;VoxXtended_wave&gt; == 0) then                                                       ;provide sinoid for modulation
        avocL    poscil .5, kcarrier, isine, 0
        avocR    poscil .5, kcarrier, isine, .5
    elseif (&lt;VoxXtended_wave&gt; == 1) then
        avocL    poscil .5, kcarrier, isaw, 0 
        avocR    poscil .5, kcarrier, isaw, .5                                         
    elseif (&lt;VoxXtended_wave&gt; == 2) then
        avocL    poscil .5, kcarrier, isquare, 0
        avocR    poscil .5, kcarrier, isquare, .5
    elseif (&lt;VoxXtended_wave&gt; == 3) then
        avocL    poscil .5, kcarrier, ipulse, 0
        avocR    poscil .5, kcarrier, ipulse, .5
    elseif (&lt;VoxXtended_wave&gt; == 4)  then
        ivld      filevalid &quot;&lt;VoxXtended_sample&gt;&quot;                                          ; check if valid sample is imported - else, bypass
        if ivld &gt; 0 then
            isamp	ftgentmp 0, 0, 0, 1, &quot;&lt;VoxXtended_sample&gt;&quot;, 0, 0, 0
            ichn filenchnls &quot;&lt;VoxXtended_sample&gt;&quot;
            ilen filelen &quot;&lt;VoxXtended_sample&gt;&quot;

            kbegin  =   &lt;VoxXtended_loopstart_sample&gt; * ilen + 0.05                                      
            kend    =   &lt;VoxXtended_loopend_sample&gt; * ilen
print ichn
                if (ichn == 1) then
                    if (kbegin &lt; kend) then
                        avocL    flooper2 .8, &lt;VoxXtended_pitch&gt;, kbegin, kend, .1, isamp,  i(&lt;VoxXtended_start_sample&gt;) * ilen
                        avocR   =   avocL
                    else
                        avocL   =   0
                        avocR   =   0
                    endif
                elseif (ichn == 2) then
                    if (kbegin &lt; kend) then
                        avocL, avocR    flooper2 1.5, &lt;VoxXtended_pitch&gt;, kbegin, kend, .1, isamp,  i(&lt;VoxXtended_start_sample&gt;) * ilen
    avocL = tanh(avocL)                                                         ; to help ensure it doesn&apos;t blow up
    avocR = tanh(avocR)
                    else
                        avocL   =   0
                        avocR   =   0
                    endif
                endif
        else
            prints &quot;\n\n\nNO OR INVALID SAMPLE. Note:it is not needed for the rest of the effect to work.\n\n\n&quot;
            aout1 = ain1
            aout2 = ain2
        endif
    endif
    if (&lt;VoxXtended_method&gt; == 2) then                                                     ; Q method
        if (&lt;VoxXtended_Qsource&gt; == 0) then
            aout1   Vocoder avocL, ain1, &lt;VoxXtended_Qmin&gt;, &lt;VoxXtended_Qmax&gt;, &lt;VoxXtended_Q&gt;, i(&lt;VoxXtended_Qbands&gt;)
            aout2   Vocoder avocR, ain2, &lt;VoxXtended_Qmin&gt;, &lt;VoxXtended_Qmax&gt;, &lt;VoxXtended_Q&gt;, i(&lt;VoxXtended_Qbands&gt;)
        else
            aout1   Vocoder ain1, avocL , &lt;VoxXtended_Qmin&gt;, &lt;VoxXtended_Qmax&gt;, &lt;VoxXtended_Q&gt;, i(&lt;VoxXtended_Qbands&gt;)
            aout2   Vocoder ain2, avocR , &lt;VoxXtended_Qmin&gt;, &lt;VoxXtended_Qmax&gt;, &lt;VoxXtended_Q&gt;, i(&lt;VoxXtended_Qbands&gt;)
        endif
            kout	logcurve &lt;VoxXtended_Q&gt;, 2
            aout1   *=  kout * &lt;VoxXtended_Qvolume&gt;
            aout2   *=  kout * &lt;VoxXtended_Qvolume&gt;
    else                                                                        ; PVS method
        if (&lt;VoxXtended_PVSsource&gt; == 0) then 
            famp1 pvsanal ain1, &lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                    ;analyse in signal
            famp2 pvsanal ain2, &lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                    ;analyse in signal

            fexc1 pvsanal avocL, &lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                   ;analyse excitation signal
            fexc2 pvsanal avocR, &lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                   ;analyse excitation signal
        else
            fexc1 pvsanal ain1, &lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                    ;analyse in signal
            fexc2 pvsanal ain2, &lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                    ;analyse in signal

            famp1 pvsanal avocL,&lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                    ;analyse excitation signal
            famp2 pvsanal avocR,&lt;VoxXtended_size&gt;, &lt;VoxXtended_overlap&gt;, &lt;VoxXtended_size&gt;, 1                    ;analyse excitation signal
        endif

        ftps1 pvsvoc  famp1, fexc1, &lt;VoxXtended_PVSdepth&gt;, &lt;VoxXtended_PVSgain&gt; , &lt;VoxXtended_PVScoefs&gt;          ;cross it
        ftps2 pvsvoc  famp2, fexc2, &lt;VoxXtended_PVSdepth&gt;, &lt;VoxXtended_PVSgain&gt; , &lt;VoxXtended_PVScoefs&gt;          ;cross it

        aout1 pvsynth ftps1
        aout2 pvsynth ftps2
    endif
else
    aout1   =   ain1
    aout2   =   ain2
endif
</code>
  <comments>
DESCRIPTION:

The VoxXtended has 2 methods to vocode the incoming sound. &apos;method Q&apos; uses 4th order butteworth filters and &apos;method pvs&apos; uses the pvsvoc opcode, both with a distintive sound.


CONTROLLERS:

ON/OFF                  -       bypass
Dropdown List           -       switch between Method 1:Q or Method 2:pvs. 2 totally different approaches to vocoding the incoming signal

METHOD 1:Q (traditional vocoding)
freq limits             -       sets boundaries to frequencies of the filters
Q                       -       Quality of filters
bands                   -       # of bands
volume                  -       gain of effect   
swap source             -       switch between IR or incoming signal

METHOD 2:pvs
depth                   -       depth of effect, affecting how much of the frequencies will be taken from the second signal
gain                    -       gain boost/attenuation applied to the output
coefs                   -       number of cepstrum coefs used in spectral envelope estimation
overlap                 -       The distance in samples (?hop size?) between overlapping analysis frames
size                    -       The FFT size in samples
swap source             -       switch between IR or incoming signal

EXCITER or modulator SIGNAL
fine/coarse frequency   -       fine and coarse tuning of modulator frequency 
Dropdown List           -       5 different waveforms for modulator, where the 5th is the Sample
File Selector           -       choose Sample to modulate/excite incoming signal
start sample            -       skip in Sample
loop start/end          -       set start and end loop points
pitch                   -       set pitch of Sample

---

version 1.12, July 2020
- added BSB information comments

version 1.11, May 2020
- added comments on controllers

version 1.1, february 2019
- now works without a soundfile
- some GUI clearing up
- all stereo now

version 1.0, january 2018
- initial version by Menno Knevel
- uses same exciter signal block for the 2 methods
- a soundfile must be loaded
- method Q uses UDO from Victor Lazzarini
- when using a soundfile as exciter, option to change loop start and end while playing </comments>
  <opcodeList>
    <udo>
      <opcodeName>Vocoder</opcodeName>
      <outTypes>a</outTypes>
      <inTypes>aakkkpp</inTypes>
      <codeBody>as1,as2,kmin,kmax,kq,ibnd,icnt  xin
if kmax &lt; kmin then
ktmp = kmin
kmin = kmax
kmax = ktmp
endif
if kmin == 0 then 
kmin = 1
endif
if (icnt &gt;= ibnd) goto bank
abnd   Vocoder as1,as2,kmin,kmax,kq,ibnd,icnt+1
bank:
kfreq = kmin*(kmax/kmin)^((icnt-1)/(ibnd-1))
kbw = kfreq/kq
an  butterbp  as2, kfreq, kbw
an  butterbp  an, kfreq, kbw
as  butterbp  as1, kfreq, kbw
as  butterbp  as, kfreq, kbw
ao balance as, an
amix = ao + abnd
     xout amix
</codeBody>
      <comments>channel vocoder with user-specified number of bands
Vocoder is a channel vocoder using 4th order butteworth filters. It takes an input signal and analyses it with a user-specified number of log-spaced (constant-Q) filter bands (between a min and max) and frequency) and then applies the analysed spectral envelope to an excitation signal.

Syntax

asig Vocoder aexc, ain, kminf, kmaxf, kq, ibands
Initialization

ibands - number of filter bands between kminf and kmaxf
Performance

asig - output
aexc - excitation signal, generally a broadband source (ie. lots of spectral components)
ain - input signal, generally a signal with a strong spectral envelope or contour, formants, etc. (such as vocal sound)
kminf - lowest analysis frequency
kmaxf - highest analysis frequency
kq - filter Q </comments>
    </udo>
  </opcodeList>
  <graphicInterface editEnabled='false'>
    <gridSettings>
      <width>5</width>
      <height>5</height>
      <gridStyle>DOT</gridStyle>
      <snapGridEnabled>true</snapGridEnabled>
    </gridSettings>
    <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
      <objectName></objectName>
      <x>0</x>
      <y>0</y>
      <groupName>Group</groupName>
      <backgroundColor>0x00000033</backgroundColor>
      <borderColor>0x000000ff</borderColor>
      <labelTextColor>0xffffffff</labelTextColor>
      <titleEnabled>true</titleEnabled>
      <width>20</width>
      <height>20</height>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
        <objectName></objectName>
        <x>10</x>
        <y>10</y>
        <groupName>Group</groupName>
        <backgroundColor>0x4d8080ff</backgroundColor>
        <borderColor>0x000000ff</borderColor>
        <labelTextColor>0xffffffff</labelTextColor>
        <titleEnabled>false</titleEnabled>
        <width>20</width>
        <height>20</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>400</x>
          <y>10</y>
          <label>\</label>
          <font>
            <name>System Bold</name>
            <size>18.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
          <objectName>VoxXtended_method</objectName>
          <x>290</x>
          <y>0</y>
          <comment>switch between Method 1:Q or Method 2:pvs. 2 totally different approaches to vocoding the incoming signal</comment>
          <automationAllowed>false</automationAllowed>
          <selectedIndex>0</selectedIndex>
          <fontSize>12</fontSize>
          <randomizable>true</randomizable>
          <bsbDropdownItemList>
            <bsbDropdownItem uniqueId='699314761'>
              <name>method 1:Q</name>
              <value>2</value>
            </bsbDropdownItem>
            <bsbDropdownItem uniqueId='699314762'>
              <name>method 2: pvs</name>
              <value>1</value>
            </bsbDropdownItem>
          </bsbDropdownItemList>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>345</x>
          <y>30</y>
          <groupName>method 2: pvs</groupName>
          <backgroundColor>0x4d8080ff</backgroundColor>
          <borderColor>0x336666ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>325</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_PVSgain</objectName>
            <x>65</x>
            <y>0</y>
            <comment>gain boost/attenuation applied to the output</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>5.0</maximum>
            <value>1.05</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>gain</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
            <objectName>VoxXtended_overlap</objectName>
            <x>195</x>
            <y>1</y>
            <comment>The distance in samples (?hop size?) between overlapping analysis frames</comment>
            <automationAllowed>false</automationAllowed>
            <selectedIndex>1</selectedIndex>
            <fontSize>12</fontSize>
            <randomizable>true</randomizable>
            <bsbDropdownItemList>
              <bsbDropdownItem uniqueId='699314768'>
                <name>256</name>
                <value>256</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314769'>
                <name>512</name>
                <value>512</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314770'>
                <name>1024</name>
                <value>1024</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314771'>
                <name>2048</name>
                <value>2048</value>
              </bsbDropdownItem>
            </bsbDropdownItemList>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_PVScoefs</objectName>
            <x>115</x>
            <y>0</y>
            <comment>number of cepstrum coefs used in spectral envelope estimation</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>1.0</minimum>
            <maximum>200.0</maximum>
            <value>110.45</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>coefs</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
            <objectName>VoxXtended_size</objectName>
            <x>195</x>
            <y>21</y>
            <comment>The FFT size in samples</comment>
            <automationAllowed>false</automationAllowed>
            <selectedIndex>3</selectedIndex>
            <fontSize>12</fontSize>
            <randomizable>true</randomizable>
            <bsbDropdownItemList>
              <bsbDropdownItem uniqueId='699314763'>
                <name>256</name>
                <value>256</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314764'>
                <name>512</name>
                <value>512</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314765'>
                <name>1024</name>
                <value>1024</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314766'>
                <name>2048</name>
                <value>2048</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314767'>
                <name>4096</name>
                <value>4096</value>
              </bsbDropdownItem>
            </bsbDropdownItemList>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_PVSdepth</objectName>
            <x>15</x>
            <y>0</y>
            <comment>depth of effect, affecting how much of the frequencies will be taken from the second signal</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <value>1.0</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>depth</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
            <objectName>VoxXtended_PVSsource</objectName>
            <x>195</x>
            <y>52</y>
            <comment>switch between IR or incoming signal</comment>
            <automationAllowed>true</automationAllowed>
            <label>swap source</label>
            <selected>false</selected>
            <randomizable>true</randomizable>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>255</x>
            <y>28</y>
            <label>size</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>255</x>
            <y>5</y>
            <label>overlap</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>285</x>
          <y>10</y>
          <label>/</label>
          <font>
            <name>System Bold</name>
            <size>16.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>5</x>
          <y>30</y>
          <groupName>method 1: Q</groupName>
          <backgroundColor>0x4d8080ff</backgroundColor>
          <borderColor>0x336666ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>340</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_Qbands</objectName>
            <x>163</x>
            <y>1</y>
            <comment># of bands</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>5.0</minimum>
            <maximum>50.0</maximum>
            <value>28.85</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>bands</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>28</x>
            <y>1</y>
            <label>freq. limits</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>283</x>
            <y>36</y>
            <label>source</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_Qvolume</objectName>
            <x>210</x>
            <y>0</y>
            <comment>gain of effect   </comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <value>0.44</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>volume</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_Q</objectName>
            <x>113</x>
            <y>1</y>
            <comment>Quality of filters</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>1.0</minimum>
            <maximum>150.0</maximum>
            <value>75.5</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>Q</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
            <objectName>VoxXtended_Qsource</objectName>
            <x>263</x>
            <y>51</y>
            <comment>switch between IR or incoming signal</comment>
            <automationAllowed>true</automationAllowed>
            <label>swap</label>
            <selected>false</selected>
            <randomizable>true</randomizable>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_Qmin</objectName>
            <x>13</x>
            <y>16</y>
            <comment>sets boundaries to frequencies of the filtersets boundaries to frequencies of the filters</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>20.0</minimum>
            <maximum>10000.0</maximum>
            <value>20.0</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>min</label>
            <labelEnabled>false</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>VoxXtended_Qmax</objectName>
            <x>63</x>
            <y>16</y>
            <comment>sets boundaries to frequencies of the filters</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>100.0</minimum>
            <maximum>20000.0</maximum>
            <value>11642.0</value>
            <knobWidth>41</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>max</label>
            <labelEnabled>false</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>5</x>
          <y>130</y>
          <groupName>exciter signal for method 1 &amp; 2</groupName>
          <backgroundColor>0x4d8080ff</backgroundColor>
          <borderColor>0x336666ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>20</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>VoxXtended_carrier_coarse</objectName>
            <x>10</x>
            <y>30</y>
            <comment>coarse tuning of modulator frequency </comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>10.0</maximum>
            <bdresolution>1</bdresolution>
            <value>5.0</value>
            <sliderWidth>400</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>20</x>
            <y>45</y>
            <label>coarse frequency</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
            <objectName>VoxXtended_wave</objectName>
            <x>520</x>
            <y>35</y>
            <comment>5 different waveforms for modulator, where the 5th is the Sample</comment>
            <automationAllowed>true</automationAllowed>
            <selectedIndex>0</selectedIndex>
            <fontSize>12</fontSize>
            <randomizable>true</randomizable>
            <bsbDropdownItemList>
              <bsbDropdownItem uniqueId='699314772'>
                <name>sine</name>
                <value>0</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314773'>
                <name>saw</name>
                <value>1</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314774'>
                <name>square</name>
                <value>2</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314775'>
                <name>pulse</name>
                <value>3</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='699314776'>
                <name>soundfile</name>
                <value>4</value>
              </bsbDropdownItem>
            </bsbDropdownItemList>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>20</x>
            <y>25</y>
            <label>fine frequency</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
            <objectName></objectName>
            <x>10</x>
            <y>65</y>
            <groupName>soundfile parameters</groupName>
            <backgroundColor>0x4d8080ff</backgroundColor>
            <borderColor>0x000000ff</borderColor>
            <labelTextColor>0xffffffff</labelTextColor>
            <titleEnabled>false</titleEnabled>
            <width>20</width>
            <height>20</height>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
              <objectName>VoxXtended_start_sample</objectName>
              <x>10</x>
              <y>40</y>
              <comment>skip in Sample</comment>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <bdresolution>0.001</bdresolution>
              <value>0.0</value>
              <sliderWidth>630</sliderWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
              <objectName>VoxXtended_loopend_sample</objectName>
              <x>10</x>
              <y>80</y>
              <comment>set end loop point</comment>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <bdresolution>0.001</bdresolution>
              <value>0.232</value>
              <sliderWidth>630</sliderWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
              <objectName>VoxXtended_loopstart_sample</objectName>
              <x>10</x>
              <y>60</y>
              <comment>set start loop point</comment>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <bdresolution>0.001</bdresolution>
              <value>0.0</value>
              <sliderWidth>630</sliderWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>15</x>
              <y>55</y>
              <label>start sample</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>15</x>
              <y>95</y>
              <label>loop end</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
              <objectName>VoxXtended_sample</objectName>
              <x>10</x>
              <y>10</y>
              <comment>choose Sample to modulate/excite incoming signal</comment>
              <fileName></fileName>
              <textFieldWidth>400</textFieldWidth>
              <stringChannelEnabled>false</stringChannelEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>450</x>
              <y>25</y>
              <label>pitch</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
              <objectName>VoxXtended_pitch</objectName>
              <x>440</x>
              <y>10</y>
              <comment>set pitch of Sample</comment>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>4.0</maximum>
              <bdresolution>0.01</bdresolution>
              <value>1.0</value>
              <sliderWidth>150</sliderWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>true</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>15</x>
              <y>75</y>
              <label>loop start</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>460</x>
            <y>40</y>
            <label>X 1000</label>
            <font>
              <name>System Bold</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>VoxXtended_carrier_fine</objectName>
            <x>15</x>
            <y>10</y>
            <comment>fine tuning of modulator frequency </comment>
            <automationAllowed>true</automationAllowed>
            <minimum>1.0</minimum>
            <maximum>1000.0</maximum>
            <bdresolution>1</bdresolution>
            <value>349.0</value>
            <sliderWidth>590</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
        </bsbObject>
      </bsbObject>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>VoxXtendedON</objectName>
        <x>0</x>
        <y>0</y>
        <comment>bypass</comment>
        <automationAllowed>true</automationAllowed>
        <label/>
        <selected>true</selected>
        <randomizable>true</randomizable>
      </bsbObject>
    </bsbObject>
  </graphicInterface>
  <parameterList>
    <parameter uniqueId='699314780' name='VoxXtended_start_sample' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314782' name='VoxXtended_loopend_sample' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.232'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.232'/>
      </line>
    </parameter>
    <parameter uniqueId='699314784' name='VoxXtended_pitch' label='' min='0.0' max='4.0' bdresolution='0.01' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='4.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314786' name='VoxXtended_loopstart_sample' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.001' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314788' name='VoxXtended_wave' label='' min='0.0' max='4.0' bdresolution='1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='4.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314790' name='VoxXtended_carrier_coarse' label='' min='0.0' max='10.0' bdresolution='1' automationEnabled='false' value='5.0'>
      <line name='' version='2' max='10.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='5.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314792' name='VoxXtended_carrier_fine' label='' min='1.0' max='1000.0' bdresolution='1' automationEnabled='false' value='349.0'>
      <line name='' version='2' max='1000.0' min='1.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='349.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314794' name='VoxXtended_Qsource' label='' min='0.0' max='1.0' bdresolution='1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314796' name='VoxXtended_Qmin' label='' min='20.0' max='10000.0' bdresolution='-1' automationEnabled='false' value='20.0'>
      <line name='' version='2' max='10000.0' min='20.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='20.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314798' name='VoxXtended_Q' label='' min='1.0' max='150.0' bdresolution='-1' automationEnabled='false' value='75.5'>
      <line name='' version='2' max='150.0' min='1.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='75.5'/>
      </line>
    </parameter>
    <parameter uniqueId='699314800' name='VoxXtended_Qmax' label='' min='100.0' max='20000.0' bdresolution='-1' automationEnabled='false' value='11642.0'>
      <line name='' version='2' max='20000.0' min='100.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='11642.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314802' name='VoxXtended_Qvolume' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.44'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.44'/>
      </line>
    </parameter>
    <parameter uniqueId='699314804' name='VoxXtended_Qbands' label='' min='5.0' max='50.0' bdresolution='-1' automationEnabled='false' value='28.85'>
      <line name='' version='2' max='50.0' min='5.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='28.85'/>
      </line>
    </parameter>
    <parameter uniqueId='699314806' name='VoxXtended_PVSsource' label='' min='0.0' max='1.0' bdresolution='1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314808' name='VoxXtended_PVScoefs' label='' min='1.0' max='200.0' bdresolution='-1' automationEnabled='false' value='110.45'>
      <line name='' version='2' max='200.0' min='1.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='110.45'/>
      </line>
    </parameter>
    <parameter uniqueId='699314810' name='VoxXtended_PVSdepth' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
    <parameter uniqueId='699314812' name='VoxXtended_PVSgain' label='' min='0.0' max='5.0' bdresolution='-1' automationEnabled='false' value='1.05'>
      <line name='' version='2' max='5.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.05'/>
      </line>
    </parameter>
    <parameter uniqueId='-104104243' name='VoxXtendedON' label='' min='0.0' max='1.0' bdresolution='1' automationEnabled='false' value='1.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.0'/>
      </line>
    </parameter>
  </parameterList>
</effect>