Niels Ole Salscheider <niels_ole at salscheider-online.de> wrote: > Hello, > > > 1) Is the license of the HRTF dataset that you use compatible with > > GPL? > > The Listen HRIR dataset is public domain so it is GPL compatible. OK > > > 2) Why should we do this advanced downmixing in an optional module? > > I.e., why not just replace the default downmixing algorighm without > > creating a module for that? > > Replacing the default downmixing algorithm is not a good idea since > this one only works for headphones. And you might want to use a > simpler one on a low end machine since folding needs some cpu cycles. > But if there is a better place to implement this, I am fine with it, > too. <insane requirements follow, feel free to ignore for now> OK, so in the future we need a different algorithm for desktop speakers. Something like "find out stereo sound that, when convolved with the HRIR and summed for each ear, produces the same result as the original 5.1 sound convolved with the appropriate HRIR", but at high-enough frequencies only. As for the complexity - yes, it can be reduced substantially, because you use the simplest possible implementation of convolution with a rather long filter. Please try to use FFT-based convolution and benchmark. Or, even better, try to approximate one of the available HRIRs with a combination of an IIR filter of some low (4-6) order and a fixed-per-channel delay, and hard-code that. As there is no scientific way of designing IIR filters with arbitrary impulse response yet, the simplest possible way of doing such approximation is to autogenerate random IIR filters of a given order, compare their response with the desired one, and leave the whole thing running for a day or so until it finds something suitable. -- Alexander E. Patrakov