<effect>
  <name>Tremoloes</name>
  <enabled>true</enabled>
  <numIns>2</numIns>
  <numOuts>2</numOuts>
  <code>if (&lt;TremoloesON&gt; == 1) then
    isine	ftgen 0, 0, 1024, 10, 1                                         ; preset sine
    idraw	ftgen 0, 0, 1024, -7, &lt;Tremoloes_table_shape&gt;                   ; draw own tremolo shape

    kjit    jitter  &lt;Tremoloes_randamp&gt;, &lt;Tremoloes_randmin&gt;, &lt;Tremoloes_randmax&gt; 

    kmod    oscil3  &lt;Tremoloes_moddepth&gt;, &lt;Tremoloes_modfreq&gt; + kjit, &lt;Tremoloes_tablenum&gt;, i(&lt;Tremoloes_phase&gt;)

    ain1pre =   ain1 * kmod
    ain2pre =   ain2 * kmod
    aout1   ntrpol    ain1, ain1pre, &lt;Tremoloes_mix&gt;                            ; create a dry/wet mix
    aout2   ntrpol    ain2, ain2pre, &lt;Tremoloes_mix&gt;

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

Tremoloes is a simple changer of the amplitudes of the incoming signals in a repetitive way.
Nonetheless, many interesting constructions can be made by adding this effect to 2 or 3 instruments, and setting them up so,
that they become cool structures- reminding of grain synthesis.

Imagine, one instrument comes up, the second one fades out, and all that in a rhythmic pattern....


CONTROLLERS:

see the help balloon when hovering over the controllers in the instrument. Help can be turned off by pressing the &apos;I&apos; button next to the play bar.

---

version 1, December 2020
- initial version by Menno Knevel (based on Ring-modulate from Peiman Khosravi)</comments>
  <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>245</height>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>125</x>
          <y>5</y>
          <groupName>random</groupName>
          <backgroundColor>0x00000033</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>false</titleEnabled>
          <width>20</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>Tremoloes_randmax</objectName>
            <x>115</x>
            <y>10</y>
            <comment>maximum speed of random frequency variations</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>20.0</maximum>
            <value>6.2</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>max</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>Tremoloes_randamp</objectName>
            <x>10</x>
            <y>10</y>
            <comment>gain influence of random deviation</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>10.0</maximum>
            <value>0.0</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>random</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>Tremoloes_randmin</objectName>
            <x>65</x>
            <y>10</y>
            <comment>Minimum speed of random frequency variations</comment>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>20.0</maximum>
            <value>1.7999999999999998</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>min</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>300</x>
          <y>15</y>
          <label>direct</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
          <objectName>Tremoloes_tablenum</objectName>
          <x>290</x>
          <y>100</y>
          <comment>user can draw its own shape for the oscillator OR choose the preset (see mode)</comment>
          <automationAllowed>false</automationAllowed>
          <selectedIndex>0</selectedIndex>
          <fontSize>12</fontSize>
          <randomizable>true</randomizable>
          <bsbDropdownItemList>
            <bsbDropdownItem uniqueId='-1877075861'>
              <name>draw</name>
              <value>idraw</value>
            </bsbDropdownItem>
            <bsbDropdownItem uniqueId='-1877075860'>
              <name>sine</name>
              <value>isine</value>
            </bsbDropdownItem>
          </bsbDropdownItemList>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>Tremoloes_modfreq</objectName>
          <x>75</x>
          <y>15</y>
          <comment>modulation frequency</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>20.0</maximum>
          <value>0.6666666666666666</value>
          <knobWidth>40</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
          <label>Hertz</label>
          <labelEnabled>true</labelEnabled>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLineObject'>
          <objectName>Tremoloes_table</objectName>
          <x>10</x>
          <y>100</y>
          <comment>choose draw (your own) table or the preset sine table</comment>
          <canvasWidth>280</canvasWidth>
          <canvasHeight>100</canvasHeight>
          <xMax>1024.0</xMax>
          <relativeXValues>true</relativeXValues>
          <separatorType>COMMA</separatorType>
          <leadingZero>false</leadingZero>
          <locked>false</locked>
          <lines>
            <line name='shape' version='2' max='1.0' min='0.0' bdresolution='-1' color='-14623488' rightBound='true' endPointsLinked='false'>
              <linePoint x='0.0' y='0.0'/>
              <linePoint x='0.04533333333333334' y='1.0'/>
              <linePoint x='0.41752577' y='0.0'/>
              <linePoint x='0.41752577' y='1.0'/>
              <linePoint x='1.0' y='1.0'/>
              <linePoint x='1.0' y='0.0'/>
            </line>
          </lines>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
          <objectName>Tremoloes_mix</objectName>
          <x>300</x>
          <y>30</y>
          <comment>mix oscillator effect with direct signal</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.1</bdresolution>
          <value>0.5</value>
          <sliderHeight>60</sliderHeight>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>false</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>10</x>
          <y>225</y>
          <label>phase</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>Tremoloes_phase</objectName>
          <x>10</x>
          <y>210</y>
          <comment>start position in the tremolo phase</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.01</bdresolution>
          <value>0.0</value>
          <sliderWidth>285</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>Tremoloes_moddepth</objectName>
          <x>15</x>
          <y>15</y>
          <comment>modulation depth</comment>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <value>1.0</value>
          <knobWidth>40</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>
      <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
        <objectName>TremoloesON</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='-1877075858' name='Tremoloes_randmax' label='' min='0.0' max='20.0' bdresolution='-1' automationEnabled='false' value='6.2'>
      <line name='' version='2' max='20.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='6.2'/>
      </line>
    </parameter>
    <parameter uniqueId='-1877075856' name='Tremoloes_randamp' label='' min='0.0' max='10.0' bdresolution='-1' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='10.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-1877075854' name='Tremoloes_randmin' label='' min='0.0' max='20.0' bdresolution='-1' automationEnabled='false' value='1.7999999999999998'>
      <line name='' version='2' max='20.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='1.7999999999999998'/>
      </line>
    </parameter>
    <parameter uniqueId='-1877075852' name='Tremoloes_modfreq' label='' min='0.0' max='20.0' bdresolution='-1' automationEnabled='false' value='0.6666666666666666'>
      <line name='' version='2' max='20.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.6666666666666666'/>
      </line>
    </parameter>
    <parameter uniqueId='-1877075850' name='Tremoloes_mix' label='' min='0.0' max='1.0' bdresolution='0.1' automationEnabled='false' value='0.5'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.1' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.5'/>
      </line>
    </parameter>
    <parameter uniqueId='-1877075848' name='Tremoloes_phase' label='' min='0.0' max='1.0' bdresolution='0.01' automationEnabled='false' value='0.0'>
      <line name='' version='2' max='1.0' min='0.0' bdresolution='0.01' color='-8355712' rightBound='false' endPointsLinked='false'>
        <linePoint x='0.0' y='0.0'/>
      </line>
    </parameter>
    <parameter uniqueId='-1877075846' name='Tremoloes_moddepth' 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='-1877075844' name='TremoloesON' 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>