<effect>
  <name>ladspa Formant Filter</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;ladspa_FormantON&gt; == 1) then
    ihandle dssiinit &quot;&lt;ladspa_Formant_ladspa&gt;&quot;, 0, 1
    ain =   (ain1 + ain2)*.5
    dssiactivate ihandle, 1
	
    dssictls ihandle, 0, &lt;ladspa_Formant_Vowel&gt;, 1                                             ; (0 to 4)

    aout1 dssiaudio ihandle, ain                                                ; mono in, mono out
    aout1   *=  8
    aout2   =   aout1
else
    aout1   =   ain1
    aout2   =   ain2
endif

</code>
  <comments>a wrapper of ladspa plugin 4300 called Formant Filter (CR vowel), created by Dave Robillard. Copyright: GPL.
plugin has mono input, mono output.

The dssi opcodes are wrapping the ladspa plugin so it can be used as an effect in Blue.
The PATH for the ladspa plugins on my Linux systemm is /usr/lib/ladspa. Be sure to set the right PATH if you run OSX or Windows.

DESCRIPTION:

formant filter.


CONTROLLERS:

ON/OFF                  -       bypass
File Selector           -       set path for formant_filter_4300.so
Vowel                   -       move through the vowels A, E, I, O and U

---

version 1.02, July 2020
- added BSB information comments

version 1.01, May 2020
- added comments on controllers

version 1.0, June 2019
- initial version by Menno Knevel</comments>
  <opcodeList/>
  <graphicInterface editEnabled='false'>
    <gridSettings>
      <width>5</width>
      <height>10</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>0x666666ff</backgroundColor>
        <borderColor>0x000000ff</borderColor>
        <labelTextColor>0xffffffff</labelTextColor>
        <titleEnabled>false</titleEnabled>
        <width>20</width>
        <height>20</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
          <objectName>ladspa_Formant_ladspa</objectName>
          <x>10</x>
          <y>10</y>
          <comment>set path for formant_filter_4300.so</comment>
          <fileName>/usr/lib/ladspa/formant_filter_4300.so</fileName>
          <textFieldWidth>215</textFieldWidth>
          <stringChannelEnabled>false</stringChannelEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>215</x>
          <y>60</y>
          <label>Vowel</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>ladspa_Formant_Vowel</objectName>
          <x>10</x>
          <y>50</y>
          <comment>move through the vowels A, E, I, O and U</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>4.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>2.21</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
      </bsbObject>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>ladspa_FormantON</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='-1830449745' name='ladspa_FormantON' 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='-1830449743' name='ladspa_Formant_Vowel' label='' min='0.0' max='4.0' bdresolution='0.01' automationEnabled='false' value='2.21'>
      <line name='' version='2' max='4.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='2.21'/>
      </line>
    </parameter>
  </parameterList>
</effect>