<div dir="ltr">hey Casper thanks! I think the issue may also be in the statement<div><br></div><div><blockquote type="cite"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(0,0,255)">if</span><span style="color:rgb(96,144,16)"> </span>(i%iMax<span style="color:rgb(96,144,16)"> </span>><span style="color:rgb(96,144,16)"> </span>jCount<span style="color:rgb(96,144,16)"> </span>)<span style="color:rgb(96,144,16)"> </span><span style="color:rgb(212,128,16)">0</span>.<span style="color:rgb(212,128,16)">0</span><span style="color:rgb(96,144,16)"> </span>=>s.gain;</div></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco">which is not the same as </div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(0,0,255)">if</span> (<span style="color:rgb(0,0,255)">now</span>%iMax > jCount ) <span style="color:rgb(212,128,16)">0</span>.<span style="color:rgb(212,128,16)">0</span> =>s.gain;<br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco">because I don't think "now" increments at the same rate as i (I wonder if now increments one sample at a time, rather than .1 ms at a time, then they become equivalent, thus your fix.). Anyway, not sure--haveto try this at home.</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco">Cheers,</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco">Charlie</div></div></div></div></div></div></div></div></blockquote></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 31, 2019 at 12:00 PM <<a href="mailto:chuck-users-request@lists.cs.princeton.edu">chuck-users-request@lists.cs.princeton.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Send chuck-users mailing list submissions to<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:chuck-users-request@lists.cs.princeton.edu" target="_blank">chuck-users-request@lists.cs.princeton.edu</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:chuck-users-owner@lists.cs.princeton.edu" target="_blank">chuck-users-owner@lists.cs.princeton.edu</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of chuck-users digest..."<br>
Today's Topics:<br>
<br>
1. Re: two similar shreds with different results (Casper Schipper)<br>
<br><br><br>---------- Forwarded message ----------<br>From: Casper Schipper <<a href="mailto:casper.schipper@gmail.com" target="_blank">casper.schipper@gmail.com</a>><br>To: ChucK Users Mailing List <<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a>><br>Cc: <br>Bcc: <br>Date: Thu, 31 Jan 2019 09:31:01 +0100<br>Subject: Re: [chuck-users] two similar shreds with different results<br><div style="overflow-wrap: break-word;"><div dir="auto" style="overflow-wrap: break-word;">Hi Charlie,<div><br></div><div><div>I think I found it: .1::ms is not the same as 1::samp</div></div><div>You do in both scripts .1 ::ms => now, but in the second variant, this means now will have increased by 4.1 samples, instead of 1 unit (depending on your samplerate).</div><div>I could get the same sound from both scripts by changing .1::ms => now to samp => now;</div><div><br></div><div>Best,</div><div>Casper<br><div><br><blockquote type="cite"><div>On 27 Jan 2019, at 14:58, Charlie <<a href="mailto:taos.points@gmail.com" target="_blank">taos.points@gmail.com</a>> wrote:</div><br class="gmail-m_-4376994146981749008Apple-interchange-newline"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hey folks, I'm puzzled why these two shreds don't make the same sound. I created a simple bit crusher using an integer as an index and then using time as an index; I thought these were equivalent but they aren't. I wonder if this is because the integer increments at a different rate than the sampling rate? Any guidance on this gratefully received! Thanks,<div><br></div><div>Charlie </div><div><br></div><div>First shred:</div><div>//---------------------------------------------</div><div><br></div><div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;color:rgb(162,0,236)">SinOsc<span> s => </span><span style="color:rgb(0,0,255)">dac</span><span>;</span></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">110</span> => s.freq;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">0</span> => <span style="color:rgb(0,0,255)">int</span> i;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">250</span> => <span style="color:rgb(0,0,255)">int</span> iMax;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">0</span> => <span style="color:rgb(0,0,255)">int</span> jCount;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;color:rgb(0,0,255)">while<span> (</span>true<span>) {</span></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>i++;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><br class="gmail-m_-4376994146981749008webkit-block-placeholder"></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;color:rgb(96,144,16)">//<span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>if (i%130 == 0 || i%201 ==0 || i% 737 == 0) 0 =>s.gain;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(0,0,255)"> if</span><span style="color:rgb(96,144,16)"> </span>(i%iMax<span style="color:rgb(96,144,16)"> </span>><span style="color:rgb(96,144,16)"> </span>jCount<span style="color:rgb(96,144,16)"> </span>)<span style="color:rgb(96,144,16)"> </span><span style="color:rgb(212,128,16)">0</span>.<span style="color:rgb(212,128,16)">0</span><span style="color:rgb(96,144,16)"> </span>=>s.gain;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>jCount++;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><span style="color:rgb(0,0,255)">if</span> (jCount > iMax) <span style="color:rgb(212,128,16)">0</span> => jCount;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;color:rgb(96,144,16)">//<span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>1::samp => now;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"> .<span style="color:rgb(212,128,16)">1</span>::<span style="color:rgb(0,0,255)">ms</span> => <span style="color:rgb(0,0,255)">now</span>;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><span style="color:rgb(212,128,16)">1</span> => s.gain;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco">}</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><br></div><div>//---------------------------------------------</div><div><br></div><div>second shred:</div><div><br></div><div><div>//---------------------------------------------</div></div><div><br></div><div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;color:rgb(162,0,236)">SinOsc<span> s => </span><span style="color:rgb(0,0,255)">dac</span><span>;</span></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">110</span> => s.freq;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">0</span>::<span style="color:rgb(0,0,255)">samp</span> => <span style="color:rgb(0,0,255)">dur</span> jMin;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">250</span>::<span style="color:rgb(0,0,255)">samp</span> => <span style="color:rgb(0,0,255)">dur</span> iMax;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">0</span>::<span style="color:rgb(0,0,255)">samp</span> => <span style="color:rgb(0,0,255)">dur</span> jCount;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span style="color:rgb(212,128,16)">1</span>::<span style="color:rgb(0,0,255)">samp</span> => <span style="color:rgb(0,0,255)">dur</span> jDelta;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;color:rgb(0,0,255)">while<span> (</span>true<span>) {</span></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;color:rgb(96,144,16);min-height:17px"><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><span style="color:rgb(0,0,255)">if</span> (<span style="color:rgb(0,0,255)">now</span>%iMax > jCount ) <span style="color:rgb(212,128,16)">0</span>.<span style="color:rgb(212,128,16)">0</span> =>s.gain;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>jCount+jDelta => jCount;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><span style="color:rgb(0,0,255)">if</span> (jCount > iMax) jMin => jCount;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>.<span style="color:rgb(212,128,16)">1</span>::<span style="color:rgb(0,0,255)">ms</span> => <span style="color:rgb(0,0,255)">now</span>;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><span style="color:rgb(212,128,16)">1</span> => s.gain;</div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco;min-height:17px"><span class="gmail-m_-4376994146981749008gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><br class="gmail-m_-4376994146981749008webkit-block-placeholder"></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco">}</div></div><div><br></div><div><br></div><div><div>//---------------------------------------------</div></div><div><br></div><div style="margin:0px;font-stretch:normal;font-size:13px;line-height:normal;font-family:Monaco"><br></div></div></div></div></div></div></div></div>
_______________________________________________<br>chuck-users mailing list<br><a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br><a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br></div></blockquote></div><br></div></div></div>_______________________________________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
</blockquote></div>