Shruthi-1 sample start point rotation

I think I really like the results of rotating the starting point of the wavetable samples in the Shruthi-1, I think I’m going to create a 0 to 127 param for this per patch, 0 no effect, 127, one sample before start of next waveform. I’m just guessing that what’s happening when I add a number, that seems to be what sounds like what’s happening. I put it here for now (add number here) to experiment, there might be a better location. It could be a simple way of getting a whole new set of waveforms, they seem totally musically useful so far.

void Oscillator::RenderInterpolatedWavetable(uint8_t* buffer) {

*buffer++ = InterpolateTwoTables(
wave_1 + 40, // add number here
wave_2 + 40, // add number here
phase.integral >> 1,
~gain,
gain);

What’s happening is not a rotation.

Shruthi-1 “samples” are single cycle waveforms. Rotating them should have no perceptual effect since the ear does not perceive a phase shift.

What you are doing it is shifting the cycle - instead of looping on the first waveform, 128 bytes long + guard ; it is looping on the last 88 bytes of the first table, and the first 40 bytes of the next one.

This should create many discontinuities (hence aliasing), and make the interpolation/scanning with the parameter less smooth…