@willgerwat Sorry to be so slow..... it was dinner time....

No, it's not the samplerate. It's the sample size that changes with each recording. [soundfiler] outputs the total number of samples.

So as the faders are all 0-1..... and the array has been resized to equal the samplesize......

Start point = left limit fader value x samplesize

End point = right limit fader value x samplesize

Samplerate will always be 44100 if Pd is set to that.

The phasor ramps from 0 to 1...... and is set to do so in the time that is required to play the range of samples.

So it's frequency is samplerate / (end point - start point) (e.g. ramp every 2sec for 88200 samples between the points....... 0.5Hz) if you want it to play at the correct speed.

Vary that frequency if you want to change the playback speed.

When it is at zero, you want it to output the starting sample number......

..... and when it is at 1 you want the endpoint sample number.

So the output of [phasor~] is multiplied by the "playback length" and then the Start point is added.

So (phasor output x (end point - start point) ) + start point........ is sent to tabread~

I hope that is easy to understand (and correct....... )

This might work........ bspoke.pd ..... or at least get you part way.......

I have not dived into your glitch patch yet to understand what it does..... how it works........... but that math should apply regardless.

David.