<html><head></head><body><div style="color:#000; background-color:#fff; font-family:verdana, helvetica, sans-serif;font-size:16px"><div id="yiv1314894189"><div id="yui_3_16_0_1_1498830651056_51659"><div style="color:#000;background-color:#fff;font-family:verdana, helvetica, sans-serif;font-size:16px;" id="yui_3_16_0_1_1498830651056_51658"><div id="yiv1314894189"><div id="yiv1314894189yui_3_16_0_1_1498791375634_2729"><div style="color:#000;background-color:#fff;font-family:verdana, helvetica, sans-serif;font-size:16px;" id="yiv1314894189yui_3_16_0_1_1498791375634_2728"><div id="yiv1314894189"><div id="yiv1314894189yui_3_16_0_1_1498779387870_42429"><div style="color:#000;background-color:#fff;font-family:verdana, helvetica, sans-serif;font-size:16px;" id="yiv1314894189yui_3_16_0_1_1498779387870_42428"><div id="yiv1314894189"><div id="yiv1314894189yui_3_16_0_ym19_1_1497725391516_92866"><div id="yiv1314894189yui_3_16_0_ym19_1_1497725391516_92865" style="color:#000;background-color:#fff;font-family:verdana, helvetica, sans-serif;font-size:16px;"><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4454"><div dir="ltr" id="yiv1314894189yui_3_16_0_1_1498791375634_3518">Hi list !</div></div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4555"><br></div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4528"><div dir="ltr" id="yiv1314894189yui_3_16_0_1_1498791375634_3159">I'm Stk beginner and i would like to play a large amount of sounds controlled by a physic engine (Cuda).</div></div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_5605">Like a giant maracas, it shake 100000 particles producing spatialized sound's collisions.</div><div id="yiv1314894189yui_3_16_0_1_1498791375634_4996">For a maximum of 500 particles it sound's ok, but over this number it produce an weird hash or saturated sound..</div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_5623"><br></div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4997"><div dir="ltr" id="yiv1314894189yui_3_16_0_1_1498791375634_4188">Here's the&nbsp; code part concerning tick loop: </div></div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4554"><br></div><div dir="ltr" id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4627"><font id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_5710" size="2" face="Courier New, courier, monaco, monospace, sans-serif">&nbsp; TickData *data = (TickData *) dataPointer;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4806">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; StkFloat shk, tk, vol, pan;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4810">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; register StkFloat outs[data-&gt;channels],*samples = (StkFloat *) outputBuffer;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4811">&nbsp;<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4814">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for ( unsigned int i=0; i&lt;nBufferFrames; i++ )
{
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4821">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for( int h=0;h&lt;data-&gt;channels;h++)
{
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4825">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; *samples = 0;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4826">&nbsp;<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4827">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; for( int j=0;j&lt;data_MAX;j++)
{
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4829">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shk = (StkFloat) cpu_shkData-&gt;shakes[j];
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4830">&nbsp;<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4831">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; if ( shk &lt;= MIN_ENERGY ){
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4833">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; tk = 0.0;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4836">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; }else
{
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4839">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;tk = data-&gt;noises[j].tick() ;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4840">&nbsp;<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4841">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; tk = data-&gt;onepoles[j].tick(tk);
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4842">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; tk = data-&gt;filters[j].tick(tk);
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4845">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tk *=&nbsp;&nbsp; shk;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4846">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shk *= SYS_DECAY;<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4847"></font><div id="yiv1314894189yui_3_16_0_1_1498791375634_5173"><font id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_5710" size="2" face="Courier New, courier, monaco, monospace, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data-&gt;shakes[j] =&nbsp; shk;
<br></font></div><div id="yiv1314894189yui_3_16_0_1_1498791375634_4616"><br><font id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_5710" size="2" face="Courier New, courier, monaco, monospace, sans-serif"></font></div><font id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_5710" size="2" face="Courier New, courier, monaco, monospace, sans-serif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vol = data-&gt;volumes[j];
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4853">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pan = data-&gt;pans[j];
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4854">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( pan &lt; 0.0f &amp;&amp; h==0) {
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4856">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vol *= -data-&gt;pans[j];
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4859">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if( pan &gt;= 0.0f &amp;&amp; h==1){
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4861">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vol *= data-&gt;pans[j];
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4862">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4865">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tk *= vol;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4870">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4875">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; outs[h] = tk;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4879">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; *samples += outs[h];<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4880">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4889">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;*samples /= data_MAX;
<br id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4894">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;samples++;</font></div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_5637" dir="ltr"><br></div><div dir="ltr" id="yiv1314894189yui_3_16_0_1_1498779387870_42448"><div id="yiv1314894189yui_3_16_0_1_1498791375634_4782"><div id="yui_3_16_0_1_1498830651056_54233">I use a slider to set dynamicly the frequencies range, dispatched on each particles; but there's no harmonic rules.</div><div id="yui_3_16_0_1_1498830651056_54126"> So i probably need a rule to equalize none harmonic's frequencies ?</div></div><div id="yiv1314894189yui_3_16_0_1_1498791375634_4783"><br id="yiv1314894189yui_3_16_0_1_1498791375634_4784"></div><div id="yiv1314894189yui_3_16_0_1_1498791375634_4785">Thank's</div><div dir="ltr" id="yiv1314894189yui_3_16_0_1_1498791375634_4786">greg</div></div><div id="yiv1314894189yui_3_16_0_ym19_1_1497563933133_4600"><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></body></html>