[openal] Speaker test
anders.genell at gmail.com
Sun Jun 4 16:14:35 EDT 2017
Hi again, sorry for the huge delay - I kind of forgot about this but was recently reminded so I thought I'd get back here once more.
First: congrats on the new release - great work!
Second: upon installing a fresh system I realized alsoft.conf is now referring to a jack backend in addition to the previous ones (alsa, pulse etc.) - this is brilliant and something I believe I even posted a request for way back! Yay!!
Ok, back to business.
So, does OpenAL Soft use a matrix of predefined possible speaker positions when decoding b-format (there are som standard ones related to the wave-x format in some way, isn't there?) or how is the b-format otherwise decoded to a speaker array?
You say a multi-channel audio file may or may not have corresponding output channels, but if the number or channels in the file or stream exactly matches the number of channels in the output format set in alsoft.conf should they then at least match channel to channel?
The we could simply create a speaker test file or stream that has the required number of channels..?
Also, what kind of b-format decoder does OpenAL Soft use? Would it be possible to have it decode to a horribly skewed speaker setup that would need both angular and time/phase correction?
> 29 apr. 2017 kl. 21:45 skrev Chris Robinson <chris.kcat at gmail.com>:
>> On 04/28/2017 10:07 AM, Anders Genell wrote:
>> Well, when queing buffers and applying spatialization OpelAL-soft
>> uses whatever backend there is (Alsa in our case) and does panning
>> over the number of speakers defined in alsoft.conf, right?
> Kind of. The channel configuration set in alsoft.conf is just a hint, and if it can't be set, OpenAL Soft will automatically try to set anything else that can work. Also, some configurations don't deal directly with speakers, like Ambisonics/B-Format which is a speaker-agnostic representation of 3D sound.
>> Would it be possible to bypass the panning and just play buffers
>> straight to one speaker/channel at a time?
> You can bypass the panning, but only for playing specific (non-mono) buffer formats. You can't cycle through individual output channels since OpenAL doesn't expose the output configuration... you can only cycle through individual buffer channels that may or may not have a corresponding output channel.
>> I guess a workaround would be to position a sound source at the exact
>> angle where a speaker is placed according to alsoft.conf?
> alsoft.conf doesn't specify the speaker placement. OpenAL Soft itself doesn't even know the speaker placement, but instead uses ambisonic decoder coefficients which correspond to particular layouts for the various configurations.
> openal mailing list
> openal at openal.org
More information about the openal