A fast, partitioned convolution engine library
Convolution engine based on FFT convolution and using non-uniform partition sizes: small ones at the start of the IR and building up to the most efficient size further on. It can perform zero-delay processing with moderate CPU load.
* Any matrix of convolutions between up to up 64 inputs and 64 outputs, as long as your CPU(s) can handle it.
* Allows trading off CPU load to processing delay, and remains efficient even when configured for zero delay.
* Sparse and diagonal matrices are handled as efficiently as dense ones. No CPU cycles or memory resources are wasted on empty cells in the matrix, nor on empty partitions if IRs are of different length.