calculating feedback delay (karplus/strong etc.)

Roman Thilenius's icon


there was a thread a while ago (which i cannot find back now) where graham w. suggested two methods to calculate the runtime delay at frequency for a butterworth lowpass inside an (MSP) tapout~-based feedback loop (in order to compensate for the latency and get the k/s generator tuningstable.)

in one of my older resonator modules i am simply using a butterworth followed by a matching correction allpass (both biquad based), so that the feedback loop delay now is simply vectorsize + ~2 samples at (almost) any frequency.

it means that in an vs32 enviroment a poly~ foo up 8 no longer supports the generator to go up to ~5500 Hz (4-5 samples) but only up to ~3600 Hz (6 samples fixed), but you "win" a lot of simplicity with that approach.

the only CPU cost is the additional biquad kernel, calculating the phase correction allpass is a simple matrix conversion (aka an empty subpatcher.)

what do you guys think about that?