Adjusting reverb algorithms against changes in sample rate

Algorithm development and general DSP issues

Moderator: frank

Post Reply
Digital Larry
Posts: 338
Joined: Mon Nov 12, 2012 1:12 pm
Contact:

Adjusting reverb algorithms against changes in sample rate

Post by Digital Larry »

I have a customer (using the FV-1) who has a reverb that sounds great at (sample rate X) but really their board is designed to use (sample rate Y). They don't like the sound at (sample rate Y).

Now I figure there are a few things that need to be adjusted.

#1 the length of any all pass filters and delay lines should be proportionally adjusted so that the delay TIME stays the same.

#2 the coefficients of any damping filters need to be adjusted to keep the frequency the same. This requires a little calculation with exp/ln (natural log) but that is not too difficult.

#3 The all-pass coefficient(s). Here's where I get a little lost. My experiments with all passes show that the center frequency (where the phase shift is the greatest) depends on the length (probably TIME) of the delay line, while the sharpness of the phase shift depends on the coefficient. But I'm unaware of any formula which would allow you to make an all-pass equivalent at different sample rates (other than adjusting the length).

Anyone have a clue? Of course I can "adjust it by ear" but as I'm doing this for someone else I'd like to have a solid theoretical basis for getting everything as close as possible.

btw I have used the spectrogram view available in Audacity to visualize all pass phase shifts. It is very handy and I suggest you try it if you are at all interested in these things.
Aaron
Posts: 54
Joined: Wed Mar 04, 2015 8:10 pm
Location: Oklahoma

Post by Aaron »

I haven't tried this at all, but it would seem that you could use the address pointer and rmpa instead of rda from the end of the delay space. It would definitely take up more code but it should work.
Digital Larry
Posts: 338
Joined: Mon Nov 12, 2012 1:12 pm
Contact:

Post by Digital Larry »

I don't need an algorithm that can dynamically adapt itself to different sampling rates fortunately. The question has to do with all pass coefficients.

I asked the same question over at the Stk (Synthesis Toolkit) mailing list which has some Stanford/Princeton DSP wizards at the helm. General feeling is that if the time of the delay lines are kept the same by adjusting the number of samples, then the coefficients for all-pass and krt should not have to change.

As of right now, it's just "a theory" - although my client appears happy with the result.
Post Reply