[openal] Speaker test
chris.kcat at gmail.com
Mon Jun 5 11:36:45 EDT 2017
On 06/04/2017 09:43 PM, Anders Genell wrote:
> Oh?! Fantastic! Is it documented somewhere how to implement this?
> Looking at e.g. Fons Adriaensen's ambisonics decoder for linux, it
> seems angles should be possible too.
What exactly do you mean by angular correction? The speaker itself being
turned to a different angle (e.g. it facing away from you instead of
toward you), or that it's placed at a different angle relative to your
front (e.g. front-right is 40 degrees to your right, instead 30
degrees)? The latter is possible by generating new decoder matrices for
your specific layout, using something like the Ambisonic Decoder Toolbox
(a set of MATLAB/GNU Octave scripts to generate ambisonic decoders).
OpenAL Soft doesn't currently have a way to generate the decoders
itself, since the math behind doing so isn't very straight forward, but
I do plan on doing it eventually.
For setting the time/phase correction, the first step would be to look
at the ambdec presets provided in the presets/ directory and find the
one that's most appropriate for your speaker setup (keeping in mind that
7.1 should use "hexagon"). Make a copy of that file and edit it. In the
"speakers" section of the file, you'll see speaker IDs and their
distances. Set the the correct distances (in meters) for each speaker
and save. Then run alsoft-config, and under the Renderer tab you'll see
the Decoder Configuration section; click Browse and select the new
preset you made for the correct speaker layout, and click Apply. It's
now set. You can also enable High Quality Mode while you're there if you
wish to use frequency-dependent processing.
More information about the openal