OK – this is probably more than you wanted to know, but here’s the deal. For a particular value of frequency, wiggle() generates a certain waveform. As you increase the frequecy, the same waveform gets generated, it just gets compressed in time and moved to the left a bit. When you animate the frequency value, at any given frame, wiggle() will generate its value as if the current frequency had always been the frequency and use that waveform. This can result in big jumps in value from one frame to the next, and it gets worse the farther out in time you go. So you might get away with animating the frequency value close to time zero, but eventually it will get jerky. You’d probably be better off animating wiggle()’s fifth parameter (time). Then what you’re doing is just moving along the same waveform at different speeds, instead of switching to a different version of the waveform at each frame. It’s easier to understand all this using a rotation wiggle() expression with the graph editor and fiddling with the frequency and time parameters.
How hard it would be to set up for your application depends on how you were animating frequency, but it should give you smoother results if you’re up for it.
Dan