You (Fons) obviously know your stuff when it comes to implementing
convolution, and I'm very grateful you gave us libzita-convolver, but I
have to disagree with this statement:
On Sat, 2012-10-20 at 12:00 +0000, Fons Adriaensen wrote:
Thirdly, for the use case of reverbs, the whole
latency issue is
just irrelevant. A reverb IR should not contain the direct sound
(since this will be mixed in separately), and in fact the first
10 ms or so should be silence anyway, they don't contribute to
the effect and just cause coloration. Which means you can adopt
a scheme that permits arbitrary block sizes by allowing one (Jack)
period of latency. Just remove as many samples from the start of
the IR to compensate.
When you use a reverb plugin for ambience or things like the Bricasty M7
Bass XXL impulse, the coloration it is 90% of the effect you are using
the plugin for.
There is a whole range of useful coloration to be had by changing the
pre-delay within 0-20ms. Often it will sound best with 0ms, because that
how the maker of the impulse listened to it.
An ambience impulse is an important part of practically every mix I do.
That is why I am so happy with libzita-convolver and it's offspring :)
That is also why I would *love* latency compensation on buses in Ardour.
All the best,
Bart.