I really like how you can program tight sequencers that never fall out of sync in an easy an clean way. E.g. you can spork two different shreds that each contain a loop where they wait once for 100::ms. Even though they don't necessarily know anything about each other, they will always say tightly synchronized, beating once every 100 milliseconds.<br>
<br>I'm sure you can accomplish this in other languages as well, but it's so easy and easily read in ChucK.<br><br>/Stefan<br><br><div class="gmail_quote">On Fri, Aug 10, 2012 at 4:11 AM, David Ogborn <span dir="ltr"><<a href="mailto:ogbornd@mcmaster.ca" target="_blank">ogbornd@mcmaster.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Great answer - I'm going to save it and quote it whenever needed! :)<div><br></div>
<div>Yours truly,</div><div>David</div><div><div><div class="h5"><br><div><div>On 2012-08-09, at 10:03 PM, Kassen wrote:</div><br><blockquote type="cite"><div>Hey Ronni,<br><br><blockquote type="cite">Hi, i was wondering, is there any benefit in  chuck approach  having<br>
</blockquote><blockquote type="cite">one sample block size comparing with supercollider ?<br></blockquote><br>Yes, there is, we're not totally silly :-)<br><br>Not using block processing has two big advantages for us. The biggest<br>
one is that that way you can use a feedback loop over a series of<br>UGens and not have the block-size added as a delay to the loop. This<br>becomes quite important in things like feedback in FM modulation for<br>noise, physical modelling, tuned delays, etc, etc.<br>
<br>The other is that we can easily modulate UGens with a precision down<br>to the sample. Theoretically you could do that with block processing<br>as well, but then it becomes a lot more complicated.<br><br><blockquote type="cite">
are there things that can be done with chuck that cannot be done with sc3?<br></blockquote><br>To be honest; not really. All of this can be done in SC as well by<br>creating a new UGens plugin for SC. All of the things SC can do we can<br>
do too... but of course some things will be easier, even much easier<br>in one of the two. A good example of what ChucK is good at is this<br>kind of thing; doing DSP in the language itself using feedback over<br>UGens or by writing a function that does the processing and makes a<br>
"Step" UGen output those values as a audio stream. Other<br>timing-related things ChucK also tends to be strong at, for example<br>execution order is  always deterministic and nearly always very<br>obviously clear, even with parallel processes. The integration of the<br>
analysis/resynthesis stuff with the timing thing seems unique to me,<br>not sure how SC handles that in the details. I think it is nice how<br>ChucK abstracts stuff like HID interfaces in the same way across OS's,<br>
I don't think SC does that (yet). There are other cases, I'm sure, you<br>get the picture.<br><br>Generally, unless you really need some specific feature in either, I'd<br>say you should pick the one that has a syntax that makes you feel at<br>
home, everything else is just icing. SC's larger library of UGens or<br>ChucK's timing accuracy will be little consolation if you end up not<br>happy coding in it. If you're not sure which one I suggest that you<br>
spend a weekend with both. Expressive code makes for expressive<br>music*.<br><br>Yours,<br>Kas.<br><br>*not a actual scientific proven fact (yet?).<br>_______________________________________________<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>
<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><div>
<br>--------------------------------------------------------------------------------<br>Dr. David Ogborn, <<a href="mailto:ogbornd@mcmaster.ca" target="_blank">ogbornd@mcmaster.ca</a>></div><div>Communication Studies & Multimedia, McMaster University</div>
<div>Director, Cybernetic Orchestra & ESP Studio</div><div><br></div><div><a href="http://soundcloud.com/cyberneticorchestra" target="_blank">http://soundcloud.com/cyberneticorchestra</a></div><div><a href="http://esp.mcmaster.ca" target="_blank">http://esp.mcmaster.ca</a><br>
<a href="http://davidogborn.net" target="_blank">http://davidogborn.net</a><br><a href="http://twitter.com/ogbornd" target="_blank">http://twitter.com/ogbornd</a><br></div><div><a href="tel:1-905-525-9140%20ext%2027603" value="+19055259140" target="_blank">1-905-525-9140 ext 27603</a></div>
<div><br></div></span><br></span><br>
</div>
<br></div></div><br>_______________________________________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu">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>
<br></blockquote></div><br><br clear="all"><br>-- <br>Release me, insect, or I will destroy the Cosmos!<br>