-
mjhbrowne
Thanks for the replies guys. Seb - thanks, I've already read that pdf though.
David - there are BBD chips of varying lengths, 512 stages being one of the options. In effects pedals they often chain a few of them together - my choice of 512 was simply for testing purposes. I'm also very aware of how sampling works - my maths was correct in this case though - to calculate the time in ms for the [metro] object you need to divide 1000ms by 44100hz - I just simplified it to 1 / 44.1 so the 44.1 in the patch is kHz, not Hz,
Anyway, I have managed to get it working with [ipoke~] which allows variable speed writing to arrays (I couldn't get poke to work on my system). The vd object only allows for changing the read speed whereas I need to change the read and write speeds for this patch. Anyway, you can see the working patch here if you want: BBD2.1.pd (you will need to install [ipoke~] if you haven't got it)
Now I just need to add all the other features that you usually get with delays...
-
mjhbrowne
Ok, so I've tried again using a slightly different method. Instead of creating lots of arrays, I'm now using a single array but controlling the speed of writing by using snapshot and then tabwrite with a counter. This is a more elegant solution and it does work but still has a seriously distorted output - it looks like each sample gets written several times to the array for some reason. Any help would be appreciated! BBD2.pd
-
mjhbrowne
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