Sorry if I'm just acting like my head is made of wood, but 1: why would anyone want to reproduce a chuck program sample-accurately? and 2: if reproducing something sample-accurately is important to you, you can still accomplish that by having a single global randomizer in your program (seeded), and use that one.

/Stefan

2010/9/11 Kassen <signal.automatique@gmail.com>


2010/9/11 Stefan Blixt <stefan.blixt@gmail.com>

Gotcha! Or at least, I can see a flaw here in ChucK's randomizers: there is only one of them! 

That's not really a flaw; everything random, including the Std.rand* functions, all UGen noise sources and all noisy components of STK instruments depend on the same PRNG. I looked at the source back when I was obsessed with audio-rate resetting of the seed. This means that pieces with a set seed will be perfectly and sample-accurately be reproducible. CSound has always taken that into account, as well as backwards compatibility, which means that we can now listen to CSound pieces composed decades ago using modern converters for exact accuracy.

This is a non-trivial feature from a "serious computer music" point of view. 

What we can do is implement our own PRNG in ChucK. Random number generators have been under a LOT of analysis as cryptographic security and thus banking and government secrets depend on them. To facilitate this PRNG of a strength way beyond our needs are open and free.

For a more music-based look at it all I can't recommend "A Look at random Numbers, Noise and Chaos with Csound" by John Ffitch in the CSound handbook highly enough. Sadly I can't quickly find a online version; you may be more lucky or a local library might (should!) have the book.

Yours,
Kas.

_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users




--
Release me, insect, or I will destroy the Cosmos!