<soundObject type='blue.soundObject.Sound'>
  <subjectiveDuration>13.390625</subjectiveDuration>
  <startTime>0.0</startTime>
  <name>partikkel</name>
  <backgroundColor>-12566464</backgroundColor>
  <instrument type='blue.orchestra.BlueSynthBuilder' editEnabled='true'>
    <name>ajmparticle</name>
    <comment></comment>
    <globalOrc>; Example by Joachim Heintz and Oeyvind Brandtsegg 2008

giCosine	ftgen	0, 0, 8193, 9, 1, 1, 90		; cosine
giDisttab	ftgen	0, 0, 32768, 7, 0, 32768, 1	; for kdistribution
giFile		ftgen	0, 0, 0, 1, &quot;&lt;filename&gt;&quot;, &lt;skiptime&gt;, 0, 0	; soundfile for source waveform
giWin		ftgen	0, 0, 4096, 20, 9, 1		; grain envelope
giPan		ftgen	0, 0, 32768, -21, 1		; for panning (random values between 0 and 1)

gi_scroll_&lt;INSTR_ID&gt; ftgen 0, 0, 8193, 7, &lt;scroll_env&gt;</globalOrc>
    <globalSco/>
    <instrumentText>
; *************************************************
; partikkel example, processing of soundfile
; uses the file &quot;fox.wav&quot; 
; *************************************************

/*score parameters*/
kspeed			= &lt;speed&gt;		; 1 = original speed 
kgrainrate		= &lt;grainrate&gt;		; grain rate
kgrainsize		= &lt;grainsize&gt;		; grain size in ms
kcent			= &lt;transposition&gt;	; transposition in cent
iposrand_ratio		= &lt;tposrnd&gt;		; time position randomness (offset) of the pointer in ms
kcentrand		= &lt;trnsprnd&gt;		; transposition randomness in cents
ipan			= &lt;panning&gt;		; panning narrow (0) to wide (1)
idist			= &lt;graindistrb&gt;		; grain distribution (0=periodic, 1=scattered)
ixmode			= 1			; for scrolling tablei (1 = from 0 - 1)

/*get length of source wave file, needed for both transposition and time pointer*/
ifilen			tableng	giFile
ifildur			= ifilen / sr
iposrand		= ifildur * 1000 * iposrand_ratio 

/*sync input (disabled)*/
async			= 0		

/*grain envelope*/
kenv2amt		= 1		; use only secondary envelope
ienv2tab 		= giWin		; 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;amplitude&gt;*0dbfs	; grain amplitude
igainmasks		= -1		; (default) no gain masking

/*transposition*/
kcentrand1		rand kcentrand	; random transposition
iorig			= 1 / ifildur	; original pitch
kwavfreq		= iorig * cent(kcent + kcentrand1)

/*other pitch related (disabled)*/
ksweepshape		= 0		; no frequency sweep
iwavfreqstarttab 	= -1		; default frequency sweep start
iwavfreqendtab		= -1		; default frequency sweep end
awavfm			= 0		; no FM input
ifmamptab		= -1		; default FM scaling (=1)
kfmenv			= -1		; default FM envelope (flat)

/*trainlet related (disabled)*/
icosine			= giCosine	; cosine ftable
kTrainCps		= kgrainrate	; set trainlet cps equal to grain rate for single-cycle trainlet in each grain
knumpartials		= 1		; number of partials in trainlet
kchroma			= 1		; balance of partials in trainlet

/*panning, using channel masks*/
imid			= .5; center
ileftmost		= imid - ipan/2
irightmost		= imid + ipan/2
giPanthis		ftgen	0, 0, 32768, -24, giPan, ileftmost, irightmost	; rescales giPan according to ipan
			tableiw		0, 0, giPanthis				; change index 0 ...
			tableiw		32766, 1, giPanthis			; ... and 1 for ichannelmasks
ichannelmasks		= giPanthis		; ftable for panning

/*random gain masking (disabled)*/
krandommask		= 0	

/*source waveforms*/
kwaveform1		= giFile	; source waveform
kwaveform2		= giFile	; all 4 sources are the same
kwaveform3		= giFile
kwaveform4		= giFile
iwaveamptab		= -1		; (default) equal mix of source waveforms and no amplitude for trainlets

/*time pointer*/
afilposphas1		phasor kspeed / ifildur
;kscroll			line 0, p3, 1
afilposphas 		tablei afilposphas1, gi_scroll_&lt;INSTR_ID&gt;, ixmode
/*generate random deviation of the time pointer*/
iposrandsec		= iposrand / 1000	; ms -&gt; sec
iposrand		= iposrandsec / ifildur	; phase values (0-1)
krndpos			linrand	 iposrand	; random offset in phase values
/*add random deviation to the time pointer*/
asamplepos1		= afilposphas + krndpos; resulting phase values (0-1)
asamplepos2		= asamplepos1
asamplepos3		= asamplepos1	
asamplepos4		= asamplepos1	

/*original key for each source waveform*/
kwavekey1		= 1
kwavekey2		= kwavekey1	
kwavekey3		= kwavekey1
kwavekey4		= kwavekey1

/* maximum number of grains per k-period*/
imax_grains		= 300		

aL, aR		partikkel kgrainrate, idist, giDisttab, async, kenv2amt, ienv2tab, \
		ienv_attack, ienv_decay, ksustain_amount, ka_d_ratio, kgrainsize, kamp, igainmasks, \
		kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \
		ifmamptab, kfmenv, icosine, kTrainCps, knumpartials, \
		kchroma, ichannelmasks, krandommask, kwaveform1, kwaveform2, kwaveform3, kwaveform4, \
		iwaveamptab, asamplepos1, asamplepos2, asamplepos3, asamplepos4, \
		kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains

blueMixerOut	aL, aR
</instrumentText>
    <alwaysOnInstrumentText></alwaysOnInstrumentText>
    <graphicInterface editEnabled='false'>
      <gridSettings>
        <width>10</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.BSBLabel' version='2'>
          <objectName></objectName>
          <x>11</x>
          <y>8</y>
          <label>.: partikkel :.</label>
          <font>
            <name>System Bold</name>
            <size>18.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBSubChannelDropdown'>
          <objectName>subChannelOut</objectName>
          <x>130</x>
          <y>10</y>
          <channelOutput>Master</channelOutput>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>595</x>
          <y>241</y>
          <label>graindistribution (0-1)</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>grainsize</objectName>
          <x>163</x>
          <y>180</y>
          <automationAllowed>true</automationAllowed>
          <minimum>20.0</minimum>
          <maximum>500.0</maximum>
          <value>197.6</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>trnsprnd</objectName>
          <x>450</x>
          <y>170</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>5000.0</maximum>
          <value>100.0</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>360</x>
          <y>140</y>
          <label>timeposrnd (0-1)</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>grainrate</objectName>
          <x>94</x>
          <y>179</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>500.0</maximum>
          <value>110.0</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>graindistrb</objectName>
          <x>610</x>
          <y>166</y>
          <automationAllowed>false</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <value>0.74845394</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>30</x>
          <y>150</y>
          <label>speed</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>170</x>
          <y>150</y>
          <label>grainsize</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBFileSelector'>
          <objectName>filename</objectName>
          <x>12</x>
          <y>63</y>
          <fileName>C:\Users\stevenyi\work\study\USSSTOOLSKIT\selected_sounds\gong.wav</fileName>
          <textFieldWidth>248</textFieldWidth>
          <stringChannelEnabled>false</stringChannelEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>720</x>
          <y>240</y>
          <label>scroll - remember to press return after entering points</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>transposition</objectName>
          <x>250</x>
          <y>180</y>
          <automationAllowed>true</automationAllowed>
          <minimum>-12000.0</minimum>
          <maximum>12000.0</maximum>
          <value>5280.0</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>speed</objectName>
          <x>18</x>
          <y>178</y>
          <automationAllowed>true</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>12.0</maximum>
          <value>0.2817947</value>
          <knobWidth>60</knobWidth>
          <randomizable>false</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>310</x>
          <y>114</y>
          <label>skiptime(&lt; dur)</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLineObject'>
          <objectName>scroll</objectName>
          <x>710</x>
          <y>120</y>
          <canvasWidth>300</canvasWidth>
          <canvasHeight>80</canvasHeight>
          <xMax>8193.0</xMax>
          <relativeXValues>true</relativeXValues>
          <separatorType>COMMA</separatorType>
          <leadingZero>false</leadingZero>
          <locked>false</locked>
          <lines>
            <line name='env' 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.0' y='0.0'/>
              <linePoint x='1.0' y='1.0'/>
            </line>
          </lines>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>230</x>
          <y>150</y>
          <label>transposition(cent)</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>panning</objectName>
          <x>520</x>
          <y>170</y>
          <automationAllowed>false</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <value>0.78</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>430</x>
          <y>260</y>
          <label>transprand (cents)</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>530</x>
          <y>140</y>
          <label>panning</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>440</x>
          <y>90</y>
          <label>amplitude</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>skiptime</objectName>
          <x>320</x>
          <y>40</y>
          <automationAllowed>false</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>100.0</maximum>
          <value>1.9239194</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>100</x>
          <y>150</y>
          <label>grainrate</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBHSlider' version='2'>
          <objectName>amplitude</objectName>
          <x>390</x>
          <y>60</y>
          <automationAllowed>false</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <bdresolution>0.001</bdresolution>
          <value>0.162</value>
          <sliderWidth>150</sliderWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBLabel' version='2'>
          <objectName></objectName>
          <x>10</x>
          <y>40</y>
          <label>filename</label>
          <font>
            <name>System Regular</name>
            <size>12.0</size>
          </font>
        </bsbObject>
        <bsbObject type='blue.orchestra.blueSynthBuilder.BSBKnob' version='2'>
          <objectName>tposrnd</objectName>
          <x>376</x>
          <y>171</y>
          <automationAllowed>false</automationAllowed>
          <minimum>0.0</minimum>
          <maximum>1.0</maximum>
          <value>0.58</value>
          <knobWidth>60</knobWidth>
          <randomizable>true</randomizable>
          <valueDisplayEnabled>true</valueDisplayEnabled>
        </bsbObject>
      </bsbObject>
    </graphicInterface>
    <parameterList>
      <parameter uniqueId='-865240060' name='grainrate' label='' min='0.0' max='500.0' bdresolution='-1' automationEnabled='true' value='110.0'>
        <line name='grainrate' version='2' max='500.0' min='0.0' bdresolution='-1' color='-14623488' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
          <linePoint x='0.051028179741051026' y='41.76334106728541'/>
          <linePoint x='0.3214013709063214' y='24.36194895591648'/>
          <linePoint x='0.3747143945163747' y='118.32946635730856'/>
          <linePoint x='0.392993145468393' y='386.31090487238976'/>
          <linePoint x='0.4067022086824067' y='18.561484918793504'/>
          <linePoint x='0.6062452399086062' y='191.41531322505801'/>
          <linePoint x='0.6892612338156893' y='49.88399071925753'/>
          <linePoint x='0.7585681645087585' y='192.5754060324826'/>
          <linePoint x='1.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='-865240058' name='grainsize' label='' min='20.0' max='500.0' bdresolution='-1' automationEnabled='true' value='197.6'>
        <line name='grainsize' version='2' max='500.0' min='20.0' bdresolution='-1' color='-16776961' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='20.0'/>
          <linePoint x='0.03884234577303884' y='270.58004640371223'/>
          <linePoint x='0.19040365575019041' y='65.661252900232'/>
          <linePoint x='0.25057121096725055' y='300.64965197215776'/>
          <linePoint x='0.6344249809596344' y='33.36426914153135'/>
          <linePoint x='1.0' y='20.0'/>
        </line>
      </parameter>
      <parameter uniqueId='-865240056' name='transposition' label='' min='-12000.0' max='12000.0' bdresolution='-1' automationEnabled='true' value='5280.0'>
        <line name='transposition' version='2' max='12000.0' min='-12000.0' bdresolution='-1' color='-23296' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.0'/>
          <linePoint x='0.12185833968012186' y='-4761.0208816705335'/>
          <linePoint x='0.2932216298552932' y='9828.30626450116'/>
          <linePoint x='0.428027418126428' y='-3368.9095127610217'/>
          <linePoint x='0.5255140898705255' y='9438.515081206497'/>
          <linePoint x='0.6747905559786748' y='-2645.0116009280755'/>
          <linePoint x='0.8408225437928408' y='1197.2157772621813'/>
          <linePoint x='0.9855293221629855' y='-751.7401392111369'/>
          <linePoint x='1.0' y='0.0'/>
        </line>
      </parameter>
      <parameter uniqueId='-865240054' name='trnsprnd' label='' min='0.0' max='5000.0' bdresolution='-1' automationEnabled='true' value='449.99999999999983'>
        <line name='trnsprnd' version='2' max='5000.0' min='0.0' bdresolution='-1' color='-16741632' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='100.0'/>
          <linePoint x='0.1210967250571211' y='2888.6310904872394'/>
          <linePoint x='0.38842345773038844' y='870.0696055684454'/>
          <linePoint x='0.6968773800456969' y='3793.503480278422'/>
          <linePoint x='1.0' y='2204.1763341067285'/>
        </line>
      </parameter>
      <parameter uniqueId='-908717819' name='speed' label='' min='0.0' max='12.0' bdresolution='-1' automationEnabled='false' value='0.2817947'>
        <line name='' version='2' max='12.0' min='0.0' bdresolution='-1' color='-8355712' rightBound='true' endPointsLinked='false'>
          <linePoint x='0.0' y='0.2817947'/>
        </line>
      </parameter>
    </parameterList>
    <presetGroup name='Presets'/>
    <opcodeList/>
  </instrument>
  <comment/>
</soundObject>