First time here? Check out the FAQ!

Is there some kind of 1/4 samp shift per second going on?

0 votes

I'm currently working on some smoothed random curves and encountered some very strange behaviour. Here is the Sound I'm talking about:

The thing is when I start the Sound the first 4 seconds everything is fine but then it seems like the Delay (1 samp) isn't delaying the input anymore... You can tell because of the spike in the curve. See this screenshot:












The left channel is the smoothed noise and the right channel is the interpolation function (I'm doing cosine interpolation here but you can switch the Sound to linear interpolation and get the very same strange behaviour).

Now if I increase the Delay (1 samp) to 2 samp of delay time I get the same thing after 8 seconds:












So it seems like there is a 1/4 samp shift going on here? How can I get around this? Or am I doing something wrong here?

EDIT: I just changed the whole thing to work at 0.5 s and at first I thought it works now... But after 2 minutes I get the spikes again...


asked May 21, 2015 in General by kymaguy (Virtuoso) (10,580 points)
edited May 21, 2015 by kymaguy

2 Answers

+1 vote
Best answer

By using TriggeredSampleAndHold, (rather than SampleAndHold as you have here), you can create the interpolated random numbers at any rate and adjust it while it's playing.  Since all the sampling is triggered off the master OscillatorTimeIndex, there is no possibility for jitter.

answered May 21, 2015 by ssc (Savant) (116,410 points)
selected May 22, 2015 by kymaguy
Very clever! Great! Thanks!
Neat, thanks SSC!
0 votes
What time index are you using for you interpolation?

Is it from a wavetable or capytalk? Is it sample rate?
answered May 21, 2015 by cristian-vogel (Master) (8,140 points)
I'm using the OscillatorTimeIndex to create the interpolation function. I guess that one is from a wavetable but the Sound doesn't tell. It ought to be samplerate. You can download the Sound by clicking the link above and have a look if you like! Thanks!