[pulseaudio-discuss] [PATCH] add module-virtual-surround-sink
Niels Ole Salscheider
niels_ole at salscheider-online.de
Sun Jan 22 05:32:04 PST 2012
Hello,
> 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.
That is possible with crosstalk cancellation. It requires knowledge of the
transfer functions from each speaker to each ear, though. I have no idea how
well it would work if we just estimate the transfer functions but there seem
to be commercial products that do so.
> 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.
Sure, my code is O(n^2) while FFT is O(n log n) but it is somewhat simpler and
has less overhead.
I will try your proposed alternatives when I find the time to do so (exams are
coming up).
Regards,
Ole
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20120122/e9b893d5/attachment.pgp>
More information about the pulseaudio-discuss
mailing list