Блочная свёртка (partitioned convolution)
Разбиение длинной импульсной характеристики на блоки, каждый из которых сворачивается через БПФ, — так свёрточная реверберация становится и посильной по ресурсам, и почти безлатентной.
Прямая свёртка требует одного умножения на каждый отсчёт импульсной характеристики на каждый выходной отсчёт: для трёхсекундного собора на 48 кГц это около 144 000 операций на отсчёт. Свёртка через БПФ несравнимо дешевле, но должна дожидаться целого блока, а блок длиной с импульсную характеристику — это секунды задержки.
Решение — нарезать характеристику. С блоками равного размера задержка равна одному блоку, а спектры, уже посчитанные для прежних блоков, можно использовать повторно. Билл Гарднер в 1995 году показал, как дойти до нуля: самое начало характеристики сворачивается напрямую как КИХ-фильтр, а каждый следующий участок вдвое длиннее предыдущего. На том или ином варианте этой схемы работает всё — от Altiverb до браузерного ConvolverNode.