[chuck-users] continuous random values

Kassen signal.automatique at gmail.com
Tue Sep 28 14:58:34 EDT 2010

> Got it. I just learned something about SubNoise!
To larger or smaller amounts this is a factor in nearly all DSP. Flanks will
normally be quantised to the sample-clock. This can affect timing a lot (as
in the case of SubNoise) in small amounts of jitter (as in Enveloppe or
SndBuf which will only start at clock pulses) or even in harmonics (as in
the case of hard-sync).

In some cases the effect is so minor it's not worth bothering with; I'm not
that concerned about highhat samples being on average half a samp late, but
in others it might be worth looking into. For example if osc A modulates osc
B using hard-sync the actual reset will only be dealt with at the next clock
pulse. If we are aware of osc A's phase and period we can calculate when the
correct moment was, calculate what phase osc B should be at by now and set
it to this, instead of a phase of 0.

In this simple example that should only lead to a cleaner and -probably-
more "pleasant" sound. In cases where feedback is involved not compensating
for this behaviour will mean that a digital system in practice will behave
wildly different from the idealised model we imagined.

This is one of those surprising cases where a analogue system like the chips
used in some FM chips meant for telephone modems will be far more stable and
predictable than our digital systems, despite the common idea those are
"perfect" or even "too perfect". Complex FM feedback on those chips can
sound both extremely predictable and stable because while they may have far
more noise this isn't as large a influence as the added complexity of
quantising all modulations and resets to the sample-clock.

Rounding errors occur in time, as well as in amplitude. Our "strongly timed"
code may not be bothered by those that much, but a 44.1KHz sample clock
certainly is.

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

More information about the chuck-users mailing list