[chuck-users] WarpTable inconsistency

Kassen signal.automatique at gmail.com
Sun Mar 15 23:49:06 EDT 2009

Dear Dan,

WarpTable seems to have a issue where .lookup() doesn't behave like scanning
it with another UGen does for values slightly less than 1. I think the
scanning feature is wrong here, at least scanning doesn't behave according
to the docs.

Consider this example that uses WarpTable as a wave-shaper on a sine wave;
SinOsc s => WarpTable wp => dac;

//some trickery to offset and scale the input
Step st => wp;
.50 => st.next;

//notice this line; .5 should be fine here yet isn't
//increasing this to .5 will cause artefacts
.4997 => s.gain;

//scale the range back and avoid DC offset
Step stInv => dac;
-.1 => stInv.next;
2 => wp.gain;

200 => s.freq;

//increase the second value for "drive"
//this is the bit that's actually useful and interesting here
//in this case we keep it linear to be able to hear the artefacts more
wp.coefs([1., 1. ]);

minute => now;

Or; to demonstrate the exact same issue in it's most extreme case;
Step s => WarpTable wp => dac;
wp.coefs( [1., 1. ] );

//UGen based index
1 => s.next;
//allow for the value to be updated
samp => now;

//both should be 1.000000

I believe this to be a error.

Additionally; the various Gen UGens would be a lot easier to use for wave
shaping if they could have a mode where they would get indexed from -1 to 1
and output the same range; this would avoid the need for Step ugens and
setting gains to compensate like in the top example above. Right now they
can only be indexed usefully by things like Phasor and Envelope and chaining
a few can yield interesting phase distortion effects using Gen10 but using
them in the amplitude domain is quite inconvenient, even when they would
make a lot of sense there. Maybe this would be worthy of consideration,
especially as some of the pages referenced by the Gen docs do hint at this
usage as well.

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

More information about the chuck-users mailing list