OR, because it's chuck and therefore more fun than your average language:

if (maybe)
   1.0 => sampleRate;
else
   1.5 => sampleRate;



Message: 2
Date: Fri, 3 Sep 2010 11:21:34 -0400
From: Timothy Leonido <timothy.leonido@gmail.com>
To: chuck-users@lists.cs.princeton.edu
Subject: [chuck-users] "Or"
Message-ID:
<AANLkTikKmHj+557HnyR5wB3Mpd1owLc+D8zhwrKrFFZT@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Hallo,

Once again, sorry for the rudimentary questions, but I can't seem to find
the correct language for a very simple function: Instead of using
Std.rand2f( ) for fluctuating volume or buf.rate, I'd like to simply have an
either/or option. Play sample at a rate of 1.0 *or *1.5, randomly. The moses
function (in pure data) was useful for this. Direction to the appropriate
helpful would also be appreciated.



Thanks so much,

Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20100903/a938743d/attachment-0001.html>

------------------------------

Message: 3
Date: Fri, 3 Sep 2010 08:46:08 -0700
From: Mark Cerqueira <mark.cerqueira@gmail.com>
To: ChucK Users Mailing List <chuck-users@lists.cs.princeton.edu>
Subject: Re: [chuck-users] "Or"
Message-ID: <7C3AA188-1842-4494-A6B5-613D133C1C9F@gmail.com>
Content-Type: text/plain; charset="us-ascii"

Tim,
You can use rand2f to do this....

float sampleRate;

if (std.rand2f(0.0, 1.0) < 0.5)
   1.0 => sampleRate;
else
   1.5 => sampleRate;

I ran this section of code 1,000,000 times in my program doing this chunk of code every 1 sample and:

1. ChucK did not make my computer explode :)
2. The rate was set to 1.0 500,814 times and 1.5 499,186 times (pretty good distribution)

Hope that helps!

Best,
Mark