<soundObject type='blue.soundObject.Sound'>
  <subjectiveDuration>2.0</subjectiveDuration>
  <startTime>6.336363636363636</startTime>
  <name>Partikkulary</name>
  <backgroundColor>-3355648</backgroundColor>
  <instrument type='blue.orchestra.BlueSynthBuilder' editEnabled='true'>
    <name>Partikkulary1.0</name>
    <comment>Partikkulary is an attempt to disclose most of the options the partikkel opcode, and more....

Score example:
;           pitch  amp  env
i3  0  2   .6      .6      1
where 
p4	=	basic pitch of all samples
p5	=	basic amplitude
p6	=	choice of preset amplitude envelope

- there are 4 samples as input to granulate.
- these 4 samples can be mixed in the XY controller window in Output section
- 4 presets can be set for amplitude of the samples. The preset can be set in the score as p6
- the endresult has an amplitude envelope
- tuning can be set, also as AL

The Mix Waveforms XY Controler BSB allows mixing of the 4 input samples. This BSB creates 2 Automation Lines, in this case: wavemix X and wavemix Y.
What samples do they represent using the ALs?

SAMPLE	AL WAVEMIX X		AL WAVEMIX Y
-------------------------------------------------------------------------------------------
sample 1    	wavemix X down	wavemix Y up
sample 2    	wavemix X up		wavemix Y up
sample 3    	wavemix X up		wavemix Y down
sample 4	wavemix X down	wavemix Y down</comment>
    <globalOrc>giCosine	ftgen	0, 0, 8193, 9, 1, 1, 90                                 ; cosine wave for trainlets
giDisttab	ftgen	0, 0, 32, 7, 0, 32, 1                                   ; for kdistribution

giProbDist	ftgen	0, 0, 512, 21, 4, 1                     		; probability distribution for random grain masking
</globalOrc>
    <globalSco/>
    <instrumentText>
ktuning =   &lt;tuning&gt;

;====================================================

if i(&lt;grain envelope window&gt;) == 0 then                                         ; 3 grain envelope windows
    iWindow	ftgenonce	0, 0, 4096, 20, 2                                    
elseif i(&lt;grain envelope window&gt;) == 1 then
    iWindow	ftgenonce	0, 0, 4096, 20, 9, 1
else
    iWindow	ftgenonce	0, 0, 4096, 20, 6, 1
endif

;========================envelopes==============================================

if i(&lt;amplitude exponential&gt;) == 1 then 
        kampenv  loopxseg   &lt;scale amplitude envelope&gt;/p3, 0, 0, &lt;envelope_amplitude envelope&gt;, 0
else
        kampenv  loopseg   &lt;scale amplitude envelope&gt;/p3, 0, 0, &lt;envelope_amplitude envelope&gt;, 0
endif

aampenv interp  kampenv                                                         ; upsample amp values

;====================loading of samples=========================================
;Sample 1
ivld1   filevalid &lt;file1&gt;                                                     
if ivld1 &gt; 0 then                                                               ; check if valid sample is imported - else, bypass
    iFile1 sampleONCE &lt;file1&gt;                                                   ; soundfile 1          
else
    prints &quot;\n\n\nSAMPLE 1 OF Partikkulary INSTRUMENT %d IS NOT LOADED OR INVALID.\n\n\n&quot;, &lt;INSTR_ID&gt;
    iFile1  	ftgen	0, 0, 2^17, 10, 0                                       ; dummy table with no amplitude
endif
;Sample 2
ivld2   filevalid &lt;file2&gt;                                                      
if ivld2 &gt; 0 then                                                               ; check if valid sample is imported - else, bypass
    iFile2 sampleONCE &lt;file2&gt;                                                   ; soundfile 2           
else
    prints &quot;\n\n\nSAMPLE 2 OF Partikkulary INSTRUMENT %d IS NOT LOADED OR INVALID.\n\n\n&quot;, &lt;INSTR_ID&gt;
    iFile2  	ftgen	0, 0, 2^17, 10, 0 
endif 
;Sample 3
ivld3   filevalid &lt;file3&gt;                                                     
if ivld3 &gt; 0 then                                                               ; check if valid sample is imported - else, bypass
    iFile3 sampleONCE &lt;file3&gt;                                                   ; soundfile 3          
else
    prints &quot;\n\n\nSAMPLE 3 OF Partikkulary INSTRUMENT %d IS NOT LOADED OR INVALID.\n\n\n&quot;, &lt;INSTR_ID&gt;
    iFile3  	ftgen	0, 0, 2^17, 10, 0 
endif
;Sample 4
ivld4   filevalid &lt;file4&gt;                                                     
if ivld4 &gt; 0 then                                                               ; check if valid sample is imported - else, bypass
    iFile4 sampleONCE &lt;file4&gt;                                                   ; soundfile 4         
else
    prints &quot;\n\n\nSAMPLE 4 OF Partikkulary INSTRUMENT %d IS NOT LOADED OR INVALID.\n\n\n&quot;, &lt;INSTR_ID&gt;
    iFile4  	ftgen	0, 0, 2^17, 10, 0 
endif
;Sample 5 FM inputtotal 
ivld5   filevalid &lt;file5&gt;                                                     
if ivld5 &gt; 0 then                                                               ; check if valid sample is imported - else, bypass
    iFile5 sampleONCE &lt;file5&gt;                                                   ; soundfile 5         
else
    prints &quot;\n\n\nFM SAMPLE OF Partikkulary INSTRUMENT %d IS NOT LOADED OR INVALID.\n\n\n&quot;, &lt;INSTR_ID&gt;
;    iFile5&lt;INSTR_ID&gt;  	ftgenonce	0, 0, 2^17, 10, 0 
endif

;==========================parameters===========================================

kspeed      = &lt;grain speed&gt;                                                     ; 1 = original speed 
kgrainrate  = &lt;grain rate&gt;                                                      ; grain rate
;agrainrate  interp  kgrainrate
kgrainsize  = &lt;grain size&gt;                                                      ; grain size in ms
kcent       = &lt;grain cent&gt;                                                      ; transposition in cent
kposrand    = &lt;grain random position&gt;                                           ; time position randomness (offset) of the pointer in ms
kcentrand   = &lt;grain cent random&gt;                                                  ; transposition randomness in cents
;ipan       = &lt;pan&gt;                                                             ; panning narrow (0) to wide (1)
kdist       = &lt;grain distribution&gt;                                              ; grain distribution (0=periodic, 1=scattered)
klograte    = log(&lt;grain rate&gt;)                                                 ; compensate for big volume changes
klogsize    = log(&lt;grain size&gt;)                                                 ; compensate for big volume changes
klogsize    *=  .5                                                              ; &amp; adjust pre-volume

;==================query soundfiles=============================================
ifilen1     tableng	iFile1                                                  ; calculate length of soundfile and use it for range of looping
ifilen2     tableng	iFile2
ifilen3     tableng	iFile3
ifilen4     tableng	iFile4
ifildur1    = ifilen1 / sr
ifildur2    = ifilen2 / sr
ifildur3    = ifilen3 / sr
ifildur4    = ifilen4 / sr

;===============================================================================
async			= 0                                                     /*sync input (disabled)*/	
/*grain envelope*/
kenv2amt		= &lt;grain envelope&gt;                                      ; use only secondary envelope
ienv2tab 		= iWindow                                               ; grain (secondary) envelope
ienv_attack		= -1                                                    ; default attack envelope (flat)
ienv_decay		= -1                                                    ; default decay envelope (flat)
ksustain_amount		= 0.5                                                   ; no meaning in this case (use only secondary envelope, ienv2tab)
ka_d_ratio		= 0.5                                                   ; no meaning in this case (use only secondary envelope, ienv2tab)
/*amplitude*/
kamp			= &lt;total volume&gt;                                        ; grain amplitude
igainmasks		= -1                                                    ; (default) no gain masking
/*transposition*/
kcentrand		rand kcentrand                                          ; random transposition
iorig1			= 1 / ifildur1                                          ; original sample pitch 
iorig2			= 1 / ifildur2
iorig3			= 1 / ifildur3
iorig4			= 1 / ifildur4
kwavfreq		= iorig1 * cent(kcent + kcentrand)
imax_grains             = &lt;grains maximum&gt;                                      ;maximum number of grains per k-period
;==================other sample pitch  related==========================================
if i(&lt;sweepON&gt;) == 1 then
    ksweepshape	= &lt;sweep shape&gt;                                                 ; grain wave sample pitch  sweep shape (sweep speed), 0.5 is linear sweep
    iwavfreqstarttab ftgenonce	0, 0, 16, -2, 0, 0,   1                         ; start freq scalers, per grain
    iwavfreqendtab   ftgenonce	0, 0, 16, -2, 0, 0,   0                         ; end freq scalers, per grain
        if i(&lt;sweep sound&gt;) == 1 then                                           ; 2 sample pitch options
            kStartFreq	oscil	&lt;sweep depth&gt;, kgrainrate
        else 
            kStartFreq	randh	&lt;sweep depth&gt;, kgrainrate
        endif
    kStartFreq	= 1 + kStartFreq                                                ; offset, center multiplier at 1
    tablew	kStartFreq, 2, iwavfreqstarttab                                 ; write start freq multiplier to table
else
    ksweepshape         = 0                                                     ; 0=no sweep
    iwavfreqstarttab    = -1                                                    ; default frequency sweep start (value in table = 1, which give no frequency modification)
    iwavfreqendtab	= -1                                                    ; default frequency sweep end (value in table = 1, which give no frequency modification)
endif
;=====================FM input==================================================

if i(&lt;FM input&gt;) == 0 then                                                      ;3 FM input options
    awavfm  oscil	&lt;FM intensity&gt;, &lt;FM frequency&gt;
elseif i(&lt;FM input&gt;) == 1 then
    awavfm  dust &lt;FM intensity&gt;, &lt;FM frequency&gt;
elseif i(&lt;FM input&gt;) == 2 &amp;&amp; (ivld5 &gt; 0) then
    ilen   filelen &lt;file5&gt;
prints &quot;FM samplen\n\!!!&quot;
    ichn filenchnls  &lt;file5&gt;                                                    ; check number of channels
        if (ichn == 1) then                                                     ; mono signal
            awavfm  loscil  &lt;FM intensity&gt;, &lt;FM frequency&gt;, iFile5, 1, 1        ; audio input for frequency modulation inside grain
        else                                                                    ; stereo signal
            awavfm, awavfmR	loscil	&lt;FM intensity&gt;, &lt;FM frequency&gt;, iFile5, 1, 1  
        endif
elseif i(&lt;FM input&gt;) == 3 then
    awavfm  =   0
endif

ifmamptab		= -1                                                    ; default FM scaling (=1)
kfmenv			= -1                                                    ; default FM envelope (flat)

;====================trainlets==================================================
if (i(&lt;trainletsON&gt;) == 1) then
    icosine         = giCosine                                                  ; cosine ftable
    kTrainCps       = kgrainrate                                                ; set trainlet cps equal to grain rate for single-cycle trainlet in each grain
    knumpartials    = &lt;trainlets quantity&gt;                                      ; number of partials in trainlet
    kchroma         = &lt;trainlets chroma&gt;                                        ; color balance of partials in trainlet
else
    icosine         = giCosine                                                  ; quiet settings                                  
    kTrainCps       = 1                                          
    knumpartials    = 1                                  
    kchroma         = 1                                         
endif

;=========================panning===============================================
ichannelmasks	ftgenonce	0, 0, 32, -2, 0, 0, 0 
kchn phasor &lt;panning spread speed&gt;                                              ; continuously write to masking table,
krnd    =   rnd(&lt;panning random spread&gt;)                                        ; scatter the sound
kchn    *=  krnd
kchn = kchn * nchnls                                                            ; look at number of channels
tablew kchn, 2, ichannelmasks
;====================random gain masking========================================
if i(&lt;grain amlitude tableON&gt;) == 1 then   
    krandommask loopseg   1/p3, 0, 0, &lt;envelope_amplitude of grains over note&gt;, 0                                         ; read ftable
else
    krandommask = 0                                                             ; full gain for all grains 
endif
;================waveforms parameters===========================================
kwaveform1	= iFile1                                                        ; source waveform
kwaveform2	= iFile2	
kwaveform3	= iFile3
kwaveform4	= iFile4
	
iwaveamptab	ftgenonce   0, 0, 8, -2, 0, 0,   1,0,0,0,0                      ; wave mix masking in groups of 5 amp values, reflecting source1, source2, source3, source4, and the 5th slot is for trainlet amplitude.
kWaveX	=   &lt;wavemix X&gt;                                                             ; generate crossfade automation 
kWaveY	=   &lt;wavemix Y&gt;
	
kwgain3	limit ((1-kWaveX)*(1-kWaveY)), 0, 1                                     ; calculate gain for 4 sources from XY position
kwgain4	limit (kWaveX*(1-kWaveY)), 0, 1
kwgain1	limit ((1-kWaveX)*kWaveY), 0, 1
kwgain2	limit (kWaveX*kWaveY), 0, 1

kwgain5 = &lt;trainlets amplitude&gt;                                                 ; trainlet gain

	tablew  kwgain1, 2, iwaveamptab                                         ; write waveforms amps to wave mix mask table
	tablew	kwgain2, 3, iwaveamptab
	tablew	kwgain3, 5, iwaveamptab
	tablew	kwgain4, 4, iwaveamptab
	tablew	kwgain5, 6, iwaveamptab                                         ; write trainlet amp to mix mask table
;===================time pointer================================================

afilposphas1	phasor kspeed / ifildur1
afilposphas2	phasor kspeed / ifildur2
afilposphas3	phasor kspeed / ifildur3
afilposphas4	phasor kspeed / ifildur4
/*generate random deviation of the time pointer*/
kposrandsec	= kposrand / 100                                                ; ms -&gt; sec
kposrand	= kposrandsec / ifildur1                                        ; phase values (0-1)
krndpos		linrand	 kposrand                                               ; random offset in phase values
/*add random deviation to the time pointer*/
asamplepos1	= afilposphas1 + krndpos + &lt;sample start 1&gt;                     ; resulting phase values (0-1)
asamplepos2	= afilposphas2 + krndpos + &lt;sample start 2&gt;
asamplepos3	= afilposphas3 + krndpos + &lt;sample start 3&gt;
asamplepos4	= afilposphas4 + krndpos + &lt;sample start 4&gt;    

;==========================pitch waveform=========================================

kwavekey1       = &lt;sample pitch 1&gt;                                                  ;original pitch for each source waveform
kwavekey2       = &lt;sample pitch 2&gt;	
kwavekey3       = &lt;sample pitch 3&gt;
kwavekey4       = &lt;sample pitch 4&gt;

;===============================================================================



;===========================output==============================================
klogratecomp logcurve klograte, 3
klogratecomp *= .5

aLL, aRR	partikkel   kgrainrate, \                                       ; number of grains per second
                    kdist, giDisttab, \                                         ; periodic or stochastic distribution of grains, 0 = periodic.
                    async, \                                                    ; sync input - not used here
                    kenv2amt, ienv2tab, \                                       ; amount of enveloping for the secondary envelope for each grain. Range 0 to 1. function table number, additional envelope applied to grain, done after attack and decay envelopes.
                    ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, \     ; function table numbers, attack/decay shape of grain, proportional attack/sustain/decay
                    kgrainsize, kamp, igainmasks, \                     ; Multiplied by per grain amplitude read from igainmasks
                    kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, \  ; transposition scaling. Multiplied with start and end transposition values read from iwavfreqstarttab and iwavfreqendtab. 
                    awavfm, ifmamptab, kfmenv, \                                ; FM 
                    icosine, kTrainCps, knumpartials, kchroma, \                ; trainlets
                    ichannelmasks, \                                            ; function table number. Range is 0 to N, where N is the number of output channels. 
                    krandommask, \                                              ; random masking (muting) of individual grains. Range 0 to 1
                    kwaveform1, kwaveform2, kwaveform3, kwaveform4, \           ; samples
                    iwaveamptab, \                                              ; gain value for each of the 4 source waveforms, and the 5th value represent trainlet amplitude.
                    asamplepos1, asamplepos2, asamplepos3, asamplepos4, \       ; start position for reading source waveforms
                    kwavekey1*ktuning, kwavekey2*ktuning, kwavekey3*ktuning, kwavekey4*ktuning, \               ; original key of source waveforms and tunings
                    imax_grains                                                 ; maximum number of grains per k-period.
aL  dcblock aLL
aR  dcblock aRR

blueMixerOut &quot;&lt;Subchannel&gt;&quot;, aL * klogratecomp  * aampenv, aR * klogratecomp *  aampenv

</instrumentText>
    <alwaysOnInstrumentText></alwaysOnInstrumentText>
    <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>755</x>
          <y>10</y>
          <groupName>grain properties</groupName>
          <backgroundColor>0x999900ff</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>20</width>
          <height>571</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>15</x>
            <y>510</y>
            <label>env. window</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>470</y>
            <label>maximum of grains</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBTextField'>
            <objectName>grains maximum</objectName>
            <x>135</x>
            <y>470</y>
            <value>50</value>
            <textFieldWidth>50</textFieldWidth>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
            <objectName></objectName>
            <x>170</x>
            <y>10</y>
            <groupName>size</groupName>
            <backgroundColor>0x999900ff</backgroundColor>
            <borderColor>0x000000ff</borderColor>
            <labelTextColor>0xffffffff</labelTextColor>
            <titleEnabled>true</titleEnabled>
            <width>20</width>
            <height>20</height>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
              <objectName>grain rate</objectName>
              <x>0</x>
              <y>0</y>
              <automationAllowed>true</automationAllowed>
              <minimum>1.5</minimum>
              <maximum>100.0</maximum>
              <bdresolution>0.1</bdresolution>
              <value>38.4</value>
              <sliderHeight>400</sliderHeight>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>5</x>
              <y>400</y>
              <label> rate</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
              <objectName>grain size</objectName>
              <x>40</x>
              <y>0</y>
              <automationAllowed>true</automationAllowed>
              <minimum>2.0</minimum>
              <maximum>1000.0</maximum>
              <bdresolution>0.1</bdresolution>
              <value>170.0</value>
              <sliderHeight>400</sliderHeight>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>45</x>
              <y>400</y>
              <label>size</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
            <objectName></objectName>
            <x>10</x>
            <y>10</y>
            <groupName>speed</groupName>
            <backgroundColor>0x999900ff</backgroundColor>
            <borderColor>0x000000ff</borderColor>
            <labelTextColor>0xffffffff</labelTextColor>
            <titleEnabled>true</titleEnabled>
            <width>20</width>
            <height>20</height>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
              <objectName>grain speed</objectName>
              <x>0</x>
              <y>1</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>3.0</maximum>
              <bdresolution>0.0001</bdresolution>
              <value>0.5595</value>
              <sliderHeight>400</sliderHeight>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
              <objectName>grain random position</objectName>
              <x>40</x>
              <y>0</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>500.0</maximum>
              <bdresolution>0.1</bdresolution>
              <value>0.0</value>
              <sliderHeight>400</sliderHeight>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>45</x>
              <y>399</y>
              <label>dirt</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>0</x>
              <y>400</y>
              <label>speed</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
            <objectName></objectName>
            <x>90</x>
            <y>10</y>
            <groupName>frequency</groupName>
            <backgroundColor>0x999900ff</backgroundColor>
            <borderColor>0x000000ff</borderColor>
            <labelTextColor>0xffffffff</labelTextColor>
            <titleEnabled>true</titleEnabled>
            <width>20</width>
            <height>20</height>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
              <objectName>grain cent random</objectName>
              <x>40</x>
              <y>0</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1000.0</maximum>
              <bdresolution>0.1</bdresolution>
              <value>0.0</value>
              <sliderHeight>400</sliderHeight>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
              <objectName>grain cent</objectName>
              <x>0</x>
              <y>0</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1000.0</maximum>
              <bdresolution>0.1</bdresolution>
              <value>0.0</value>
              <sliderHeight>400</sliderHeight>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>45</x>
              <y>400</y>
              <label>dirt</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>0</x>
              <y>400</y>
              <label> cent</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>grain envelope</objectName>
            <x>195</x>
            <y>470</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <value>1.0</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
            <label>gr. env</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
            <objectName>grain envelope window</objectName>
            <x>95</x>
            <y>505</y>
            <automationAllowed>true</automationAllowed>
            <selectedIndex>0</selectedIndex>
            <fontSize>12</fontSize>
            <randomizable>true</randomizable>
            <bsbDropdownItemList>
              <bsbDropdownItem uniqueId='490403937'>
                <name>Hanning</name>
                <value>0</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='490403938'>
                <name>Sync </name>
                <value>1</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='490403939'>
                <name>Gaussian</name>
                <value>2</value>
              </bsbDropdownItem>
            </bsbDropdownItemList>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>1020</x>
          <y>315</y>
          <groupName>output</groupName>
          <backgroundColor>0x999900ff</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>20</width>
          <height>266</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
            <objectName>tuning</objectName>
            <x>175</x>
            <y>20</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>4.0</maximum>
            <bdresolution>0.01</bdresolution>
            <value>1.0</value>
            <sliderHeight>50</sliderHeight>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>total volume</objectName>
            <x>125</x>
            <y>30</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>20.0</maximum>
            <value>4.0</value>
            <knobWidth>40</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
            <label>volume</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBXYController' version='2'>
            <objectName>wavemix </objectName>
            <x>30</x>
            <y>25</y>
            <automationAllowed>true</automationAllowed>
            <width>70</width>
            <height>70</height>
            <xMin>0.0</xMin>
            <xMax>1.0</xMax>
            <yMin>0.0</yMin>
            <yMax>1.0</yMax>
            <xValue>0.0</xValue>
            <yValue>0.0</yValue>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>180</x>
            <y>10</y>
            <label>tuning</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>85</y>
            <label>4</label>
            <font>
              <name>System Bold</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>105</x>
            <y>85</y>
            <label>3</label>
            <font>
              <name>System Bold</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
            <objectName></objectName>
            <x>5</x>
            <y>110</y>
            <groupName>panning</groupName>
            <backgroundColor>0x999900ff</backgroundColor>
            <borderColor>0x000000ff</borderColor>
            <labelTextColor>0xffffffff</labelTextColor>
            <titleEnabled>true</titleEnabled>
            <width>230</width>
            <height>122</height>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>15</x>
              <y>95</y>
              <label>Subchannel:</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBTextField'>
              <objectName>Subchannel</objectName>
              <x>95</x>
              <y>90</y>
              <value>Sub1</value>
              <textFieldWidth>85</textFieldWidth>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>160</x>
              <y>10</y>
              <label>speed</label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBVSlider' version='2'>
              <objectName>panning spread speed</objectName>
              <x>160</x>
              <y>25</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <bdresolution>0.1</bdresolution>
              <value>1.0</value>
              <sliderHeight>50</sliderHeight>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>false</valueDisplayEnabled>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
              <objectName>grain distribution</objectName>
              <x>20</x>
              <y>10</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <value>0.4</value>
              <knobWidth>40</knobWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>true</valueDisplayEnabled>
              <label>distribution</label>
              <labelEnabled>true</labelEnabled>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
              <objectName>panning random spread</objectName>
              <x>100</x>
              <y>10</y>
              <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>spread</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>105</x>
            <y>20</y>
            <label>2</label>
            <font>
              <name>System Bold</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>20</x>
            <y>5</y>
            <label>mix waveforms</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>20</y>
            <label>1</label>
            <font>
              <name>System Bold</name>
              <size>12.0</size>
            </font>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>10</x>
          <y>270</y>
          <groupName>Frequency Modulation of grains</groupName>
          <backgroundColor>0x999900ff</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>745</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBDropdown' version='2'>
            <objectName>FM input</objectName>
            <x>10</x>
            <y>10</y>
            <automationAllowed>true</automationAllowed>
            <selectedIndex>3</selectedIndex>
            <fontSize>12</fontSize>
            <randomizable>true</randomizable>
            <bsbDropdownItemList>
              <bsbDropdownItem uniqueId='490403931'>
                <name>sine</name>
                <value>0</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='490403932'>
                <name>noise</name>
                <value>1</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='490403933'>
                <name>sample</name>
                <value>2</value>
              </bsbDropdownItem>
              <bsbDropdownItem uniqueId='490403934'>
                <name>disabled</name>
                <value>3</value>
              </bsbDropdownItem>
            </bsbDropdownItemList>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>FM frequency</objectName>
            <x>690</x>
            <y>0</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.1</minimum>
            <maximum>10.0</maximum>
            <value>1.981</value>
            <knobWidth>30</knobWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
            <label>freq.</label>
            <labelEnabled>true</labelEnabled>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
            <objectName>file5</objectName>
            <x>100</x>
            <y>10</y>
            <fileName>/home/menno/fox.wav</fileName>
            <textFieldWidth>500</textFieldWidth>
            <stringChannelEnabled>true</stringChannelEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
            <objectName>FM intensity</objectName>
            <x>640</x>
            <y>0</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>10.0</maximum>
            <value>0.0</value>
            <knobWidth>30</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>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>1015</x>
          <y>10</y>
          <groupName>grain distortions </groupName>
          <backgroundColor>0x999900ff</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>229</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
            <objectName></objectName>
            <x>10</x>
            <y>130</y>
            <groupName>trainlets</groupName>
            <backgroundColor>0x999900ff</backgroundColor>
            <borderColor>0x000000ff</borderColor>
            <labelTextColor>0xffffffff</labelTextColor>
            <titleEnabled>true</titleEnabled>
            <width>230</width>
            <height>124</height>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
              <objectName>trainletsON</objectName>
              <x>10</x>
              <y>10</y>
              <automationAllowed>true</automationAllowed>
              <label>activate</label>
              <selected>false</selected>
              <randomizable>true</randomizable>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
              <objectName></objectName>
              <x>110</x>
              <y>100</y>
              <label></label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
              <objectName>trainlets quantity</objectName>
              <x>40</x>
              <y>30</y>
              <automationAllowed>true</automationAllowed>
              <minimum>1.0</minimum>
              <maximum>20.0</maximum>
              <value>4.420000000000001</value>
              <knobWidth>40</knobWidth>
              <randomizable>false</randomizable>
              <valueDisplayEnabled>true</valueDisplayEnabled>
              <label>quantity</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>190</x>
              <y>100</y>
              <label></label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
              <objectName>trainlets amplitude</objectName>
              <x>150</x>
              <y>30</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <value>0.71</value>
              <knobWidth>40</knobWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>true</valueDisplayEnabled>
              <label>amplitude</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>30</x>
              <y>100</y>
              <label></label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
              <objectName>trainlets chroma</objectName>
              <x>100</x>
              <y>30</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>2.0</maximum>
              <value>0.5599999999999999</value>
              <knobWidth>40</knobWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>true</valueDisplayEnabled>
              <label>chroma</label>
              <labelEnabled>true</labelEnabled>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
            <objectName></objectName>
            <x>10</x>
            <y>10</y>
            <groupName>sweep</groupName>
            <backgroundColor>0x999900ff</backgroundColor>
            <borderColor>0x000000ff</borderColor>
            <labelTextColor>0xffffffff</labelTextColor>
            <titleEnabled>true</titleEnabled>
            <width>230</width>
            <height>20</height>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
              <objectName>sweep shape</objectName>
              <x>160</x>
              <y>10</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <value>0.0</value>
              <knobWidth>41</knobWidth>
              <randomizable>true</randomizable>
              <valueDisplayEnabled>true</valueDisplayEnabled>
              <label>shape</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>160</x>
              <y>70</y>
              <label></label>
              <font>
                <name>System Regular</name>
                <size>12.0</size>
              </font>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
              <objectName>sweep depth</objectName>
              <x>100</x>
              <y>10</y>
              <automationAllowed>true</automationAllowed>
              <minimum>0.0</minimum>
              <maximum>1.0</maximum>
              <value>0.42</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.BSBDropdown' version='2'>
              <objectName>sweep sound</objectName>
              <x>10</x>
              <y>40</y>
              <automationAllowed>true</automationAllowed>
              <selectedIndex>0</selectedIndex>
              <fontSize>12</fontSize>
              <randomizable>true</randomizable>
              <bsbDropdownItemList>
                <bsbDropdownItem uniqueId='490403935'>
                  <name>sine</name>
                  <value>0</value>
                </bsbDropdownItem>
                <bsbDropdownItem uniqueId='490403936'>
                  <name>noise</name>
                  <value>1</value>
                </bsbDropdownItem>
              </bsbDropdownItemList>
            </bsbObject>
            <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
              <objectName>sweepON</objectName>
              <x>10</x>
              <y>10</y>
              <automationAllowed>true</automationAllowed>
              <label>activate</label>
              <selected>false</selected>
              <randomizable>true</randomizable>
            </bsbObject>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>10</x>
          <y>360</y>
          <groupName>amplitude envelopes</groupName>
          <backgroundColor>0x999900ff</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>741</width>
          <height>219</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLineObject'>
            <objectName>envelope</objectName>
            <x>10</x>
            <y>10</y>
            <canvasWidth>720</canvasWidth>
            <canvasHeight>150</canvasHeight>
            <xMax>1.0</xMax>
            <relativeXValues>true</relativeXValues>
            <separatorType>COMMA</separatorType>
            <leadingZero>false</leadingZero>
            <locked>false</locked>
            <lines>
              <line name='amplitude envelope' version='2' max='1.0' min='0.0' bdresolution='-1' color='-52276' rightBound='true' endPointsLinked='false'>
                <linePoint x='0.0' y='0.0'/>
                <linePoint x='0.3055555555555556' y='1.0'/>
                <linePoint x='0.6611111111111111' y='1.0'/>
                <linePoint x='0.6930555555555555' y='1.0'/>
                <linePoint x='0.7819444444444444' y='0.0'/>
                <linePoint x='1.0' y='0.0'/>
              </line>
              <line name='amplitude of grains over note' version='2' max='1.0' min='0.0' bdresolution='-1' color='-10027009' rightBound='true' endPointsLinked='false'>
                <linePoint x='0.0' y='0.0'/>
                <linePoint x='0.8361111111111111' y='0.38'/>
                <linePoint x='1.0' y='0.0'/>
              </line>
            </lines>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
            <objectName>amplitude exponential</objectName>
            <x>10</x>
            <y>190</y>
            <automationAllowed>true</automationAllowed>
            <label>amplitude exponential</label>
            <selected>true</selected>
            <randomizable>true</randomizable>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>scale amplitude envelope</objectName>
            <x>290</x>
            <y>180</y>
            <automationAllowed>true</automationAllowed>
            <minimum>1.0</minimum>
            <maximum>50.0</maximum>
            <bdresolution>0.1</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>245</x>
            <y>190</y>
            <label>scale X</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBCheckBox'>
            <objectName>grain amlitude tableON</objectName>
            <x>580</x>
            <y>190</y>
            <automationAllowed>true</automationAllowed>
            <label>activate amps in grain</label>
            <selected>true</selected>
            <randomizable>true</randomizable>
          </bsbObject>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBGroup'>
          <objectName></objectName>
          <x>10</x>
          <y>10</y>
          <groupName>mix samples</groupName>
          <backgroundColor>0x999900ff</backgroundColor>
          <borderColor>0x000000ff</borderColor>
          <labelTextColor>0xffffffff</labelTextColor>
          <titleEnabled>true</titleEnabled>
          <width>742</width>
          <height>20</height>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>395</x>
            <y>40</y>
            <label>pitch</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample pitch 3</objectName>
            <x>425</x>
            <y>145</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>3.0</maximum>
            <bdresolution>0.01</bdresolution>
            <value>1.65</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>5</x>
            <y>205</y>
            <label>start in sample</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>5</x>
            <y>150</y>
            <label>start in sample</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>5</x>
            <y>95</y>
            <label>start in sample</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample start 1</objectName>
            <x>95</x>
            <y>35</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <bdresolution>0.001</bdresolution>
            <value>0.153</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>395</x>
            <y>205</y>
            <label>pitch</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>80</x>
            <y>65</y>
            <label>2</label>
            <font>
              <name>System Bold</name>
              <size>20.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample start 4</objectName>
            <x>95</x>
            <y>200</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <bdresolution>0.001</bdresolution>
            <value>0.436</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample pitch 2</objectName>
            <x>425</x>
            <y>90</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>3.0</maximum>
            <bdresolution>0.01</bdresolution>
            <value>2.14</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample start 2</objectName>
            <x>95</x>
            <y>90</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <bdresolution>0.001</bdresolution>
            <value>0.186</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
            <objectName>file3</objectName>
            <x>100</x>
            <y>120</y>
            <fileName>/home/menno/csound/Samples/808loopMono.wav</fileName>
            <textFieldWidth>600</textFieldWidth>
            <stringChannelEnabled>true</stringChannelEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
            <objectName>file2</objectName>
            <x>100</x>
            <y>65</y>
            <fileName>/home/menno/csound/Samples/808loopMono.wav</fileName>
            <textFieldWidth>600</textFieldWidth>
            <stringChannelEnabled>true</stringChannelEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>80</x>
            <y>120</y>
            <label>3</label>
            <font>
              <name>System Bold</name>
              <size>20.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample pitch 4</objectName>
            <x>425</x>
            <y>200</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>3.0</maximum>
            <bdresolution>0.01</bdresolution>
            <value>1.25</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample start 3</objectName>
            <x>95</x>
            <y>145</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>1.0</maximum>
            <bdresolution>0.001</bdresolution>
            <value>0.0</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>false</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
            <objectName>sample pitch 1</objectName>
            <x>425</x>
            <y>35</y>
            <automationAllowed>true</automationAllowed>
            <minimum>0.0</minimum>
            <maximum>3.0</maximum>
            <bdresolution>0.01</bdresolution>
            <value>0.99</value>
            <sliderWidth>250</sliderWidth>
            <randomizable>true</randomizable>
            <valueDisplayEnabled>true</valueDisplayEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>395</x>
            <y>95</y>
            <label>pitch</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>80</x>
            <y>10</y>
            <label>1</label>
            <font>
              <name>System Bold</name>
              <size>20.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>395</x>
            <y>150</y>
            <label>pitch</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>80</x>
            <y>175</y>
            <label>4</label>
            <font>
              <name>System Bold</name>
              <size>20.0</size>
            </font>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
            <objectName>file4</objectName>
            <x>100</x>
            <y>175</y>
            <fileName>/media/menno/datae/EigenWerk/eigenwerk/samples/b64_01.wav</fileName>
            <textFieldWidth>600</textFieldWidth>
            <stringChannelEnabled>true</stringChannelEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
            <objectName>file1</objectName>
            <x>97</x>
            <y>8</y>
            <fileName>/home/menno/csound/Samples/808loop.wav</fileName>
            <textFieldWidth>600</textFieldWidth>
            <stringChannelEnabled>true</stringChannelEnabled>
          </bsbObject>
          <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
            <objectName></objectName>
            <x>5</x>
            <y>40</y>
            <label>start in sample</label>
            <font>
              <name>System Regular</name>
              <size>12.0</size>
            </font>
          </bsbObject>
        </bsbObject>
      </bsbObject>
    </graphicInterface>
    <parameterList>
      <parameter uniqueId='486201736' name='scale amplitude envelope' label='' min='1.0' max='50.0' bdresolution='0.1' automationEnabled='false' value='1.0'>
        <line name='' version='2' max='50.0' min='1.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201739' name='grain amlitude tableON' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201742' name='amplitude exponential' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201745' name='sample pitch 1' label='' min='0.0' max='3.0' bdresolution='0.01' automationEnabled='false' value='0.99'>
        <line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.99'/>
        </line>
      </parameter>
      <parameter uniqueId='486201748' name='sample start 3' 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='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201751' name='sample pitch 4' label='' min='0.0' max='3.0' bdresolution='0.01' automationEnabled='false' value='1.25'>
        <line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.25'/>
        </line>
      </parameter>
      <parameter uniqueId='486201754' name='sample start 4' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.436'>
        <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.436'/>
        </line>
      </parameter>
      <parameter uniqueId='486201757' name='sample pitch 2' label='' min='0.0' max='3.0' bdresolution='0.01' automationEnabled='false' value='2.14'>
        <line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='2.14'/>
        </line>
      </parameter>
      <parameter uniqueId='486201760' name='sample start 2' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.186'>
        <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.186'/>
        </line>
      </parameter>
      <parameter uniqueId='486201763' name='sample start 1' label='' min='0.0' max='1.0' bdresolution='0.001' automationEnabled='false' value='0.153'>
        <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.153'/>
        </line>
      </parameter>
      <parameter uniqueId='486201766' name='sample pitch 3' label='' min='0.0' max='3.0' bdresolution='0.01' automationEnabled='false' value='1.65'>
        <line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.65'/>
        </line>
      </parameter>
      <parameter uniqueId='486201773' name='FM intensity' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201776' name='FM input' label='' min='0.0' max='3.0' bdresolution='1' automationEnabled='false' value='3.0'>
        <line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='3.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201779' name='FM frequency' label='' min='0.1' max='10.0' bdresolution='-1' automationEnabled='false' value='1.981'>
        <line name='' version='2' max='10.0' min='0.1' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.981'/>
        </line>
      </parameter>
      <parameter uniqueId='486201788' name='grain size' label='' min='2.0' max='1000.0' bdresolution='0.1' automationEnabled='false' value='170.0'>
        <line name='' version='2' max='1000.0' min='2.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='170.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201791' name='grain rate' label='' min='1.5' max='100.0' bdresolution='0.1' automationEnabled='false' value='38.4'>
        <line name='' version='2' max='100.0' min='1.5' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='38.4'/>
        </line>
      </parameter>
      <parameter uniqueId='486201794' name='grain envelope window' label='' min='0.0' max='2.0' bdresolution='1' automationEnabled='false' value='0.0'>
        <line name='' version='2' max='2.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201797' name='grain envelope' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201800' name='grain speed' label='' min='0.0' max='3.0' bdresolution='0.0001' automationEnabled='false' value='0.5595'>
        <line name='' version='2' max='3.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.5595'/>
        </line>
      </parameter>
      <parameter uniqueId='486201803' name='grain random position' label='' min='0.0' max='500.0' bdresolution='0.1' automationEnabled='false' value='0.0'>
        <line name='' version='2' max='500.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201806' name='grain cent' label='' min='0.0' max='1000.0' bdresolution='0.1' automationEnabled='false' value='0.0'>
        <line name='' version='2' max='1000.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201809' name='grain cent random' label='' min='0.0' max='1000.0' bdresolution='0.1' automationEnabled='false' value='0.0'>
        <line name='' version='2' max='1000.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201814' name='total volume' label='' min='0.0' max='20.0' bdresolution='-1' automationEnabled='false' value='4.0'>
        <line name='' version='2' max='20.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='4.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201817' name='grain distribution' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.4'>
        <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.4'/>
        </line>
      </parameter>
      <parameter uniqueId='486201820' name='panning spread speed' label='' min='0.0' max='1.0' bdresolution='0.1' automationEnabled='false' value='1.0'>
        <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201823' name='panning random spread' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201826' name='tuning' 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='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='1.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201829' name='wavemix X' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201832' name='wavemix Y' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201837' name='sweepON' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201840' name='sweep sound' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201843' name='sweep shape' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='486201846' name='sweep depth' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.42'>
        <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.42'/>
        </line>
      </parameter>
      <parameter uniqueId='486201849' name='trainlets amplitude' label='' min='0.0' max='1.0' bdresolution='-1' automationEnabled='false' value='0.71'>
        <line name='' version='2' max='1.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.71'/>
        </line>
      </parameter>
      <parameter uniqueId='486201852' name='trainlets quantity' label='' min='1.0' max='20.0' bdresolution='-1' automationEnabled='false' value='4.420000000000001'>
        <line name='' version='2' max='20.0' min='1.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='4.420000000000001'/>
        </line>
      </parameter>
      <parameter uniqueId='486201855' name='trainlets chroma' label='' min='0.0' max='2.0' bdresolution='-1' automationEnabled='false' value='0.5599999999999999'>
        <line name='' version='2' max='2.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.5599999999999999'/>
        </line>
      </parameter>
      <parameter uniqueId='486201858' name='trainletsON' 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='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
        </line>
      </parameter>
    </parameterList>
    <presetGroup name='Presets'/>
    <opcodeList>
      <udo>
        <opcodeName>sampleONCE</opcodeName>
        <outTypes>i</outTypes>
        <inTypes>S</inTypes>
        <codeBody>Sfile xin
itable	chnget	Sfile
if (itable == 0) then
    iSample   ftgen 0, 0, 0, 1, Sfile, 0, 0, 0
	chnset	itable, Sfile
endif
    xout    iSample</codeBody>
        <comments></comments>
      </udo>
    </opcodeList>
  </instrument>
  <comment>Partikkulary is a granulator.
Partikkulary accepts 4 samples, mono or stereo.
Start In Samples are relative to the samples length combined, so a smaller sample gives better resolution for setting a loop. 

The Sound SoundObject , like all Sound SoundObjects, passes the mixer through the SubChannel. This means:
1. a name entry must be given  in the box SubChannel:
2. create a subchannel 
3. rename this Subchannel to name given  in the box SubChannel:
4. apply effects (if needed) 

version 1.0, Juin 2019
- available as Instrument and Sound SoundObject
- amplitude envelope can be scaled and looped</comment>
</soundObject>