I'm trying to simulate the behaviour of a bucket brigade delay with pure data and am getting some very distorted results at the moment. The basic principle is to have a fixed array size with a clock that moves samples through the array - changing the clock speed changes the delay time and so as the delay time increases the sample rate effectively drops and you get a darker delay. Another quirk of this design are the pitch shifting glitches that you get when you change the delay time as audio is passing through. As far as I can tell, it is not possible to control the write speed to a delay or array so instead I had the idea of creating many arrays of size 1 and then controlling the read and write to each one with a metro object. At the moment I've have a patch with 64 'buckets' and the metro object should be passing them through at the sample rate, so at this point the sound should be passing through with a tiny delay but no loss of quality (I need to find an efficient way to create many buckets, I think with a subpatch and using [clone]? But I need to sort out the distortion issue first).
Here's patch so far: BBD.pd