[Openal-devel] Doing sound fields

Jean-Michel TRIVI jmt at atc.creative.com
Mon Mar 17 18:19:36 PDT 2008





Hi Scott,

> Now the problem. I have what amounts to a theater, rigged for 7.1 sound,
> with seating for several people. In some situations, I want to produce a
> sound that's "out there", in "that direction". This works fine. But in
many
> cases I'd want to create a sound that appears to originate from just a
few
> feet away from the listener - well inside the area bounded by the
speakers.
> The only way to do this is to fire multiple speakers at different
volumes,
> so the vectors add up to a point inside the room.

I believe there are two concepts you're dealing with here, let's see how
OpenAL can help you.

The first is being able to specify sound source coordinates in 3D (i.e.
anywhere around the listener), and OpenAL is the right API to do that:
regardless of your output configuration (headphones, 2 speakers, 5.1, 7.1),
your app can send X/Y/Z coordinates to the OpenAL engine.

The second concept is about your output configuration, and what sound
processing algorithms the OpenAL engine you're using implements. OpenAL
doesn't specify or standardize the way a sound source is rendered at a
specific location. It is up to the implementation. To achieve the effect
you're trying to achieve, i.e. perceiving a sound source between the
listener(s) and the speakers, would probably rely on a technique called
Sound Field Synthesis, which relies on a large number of speakers. We're
talking 20, 40 speakers here, not just 7. I'm not aware of OpenAL
implementations that offer SFS rendering. But such a solution could
certainly be driven by OpenAL, just remember that the OpenAL API doesn't
expose anything about the actual 3D audio engine.

      Jean-Michel

Notice
The information in this message is confidential and may be legally
privileged.  It is intended solely for the addressee.  Access to this
message by anyone else is unauthorized.  If you are not the intended
recipient,  any disclosure,  copying or distribution of the message,  or
any action taken by you in reliance on it,  is prohibited and may be
unlawful.  If you have received this message in error,  please delete it
and contact the sender immediately.  Thank you.




                                                                           
             Jason Daly                                                    
             <jdaly at ist.ucf.ed                                             
             u>                                                         To 
             Sent by:                  Scott Mayo                          
             openal-devel-boun         <scottm at obsessionaudio.com>         
             ces at opensource.cr                                          cc 
             eative.com                openal-devel at opensource.creative.co 
                                       m                                   
                                                                   Subject 
             03/17/2008 02:41          Re: [Openal-devel] Doing sound      
             PM                        fields                              
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Scott Mayo wrote:
> This question came up in a discussion with Chris Robinson, and he
suggested
> it might be worth bringing up here. To set the background, Chris sent me
a
> .dll for openAl Soft, which allows me to specify my speaker setup with an
> environment variable, which gets around the Vista brain-dead problem of
> forced stereo. (Thanks, Chris!) I've got this working, and can specify a
> position x,y,z position for sound, and can hear the sound off in the
right
> direction. Yay openAL.
>
> Now the problem. I have what amounts to a theater, rigged for 7.1 sound,
> with seating for several people. In some situations, I want to produce a
> sound that's "out there", in "that direction". This works fine. But in
many
> cases I'd want to create a sound that appears to originate from just a
few
> feet away from the listener - well inside the area bounded by the
speakers.
> The only way to do this is to fire multiple speakers at different
volumes,
> so the vectors add up to a point inside the room.
>
> I don't see a way to explain to openAl that my speakers positioned X feet
> apart, (X typically about 15), and laid out in a given configuration, and
> that a sound 3' from the center needs to be handled by using all the
> speakers (or most) at different volumes.
>
> I could probably write my own mixing and do it myself. I'd rather not. IS
> there an openAL solution, now or planned?
>

I don't know if it's planned, but I agree that we need a way to do
this.  My question is whether this is an API thing or an implementation
thing.

For example, Creative's X-Fi drivers have a way to configure speakers in
the manner that you suggested.  There's no reason why this information
couldn't be used to drive their native OpenAL implementation and get the
results you mentioned.  In the same way, OpenAL-Soft could allow this
kind of information to be specified in the configuration file.

The other option is to create an extension that would allow this data to
be specified at run time.  Then, it would be up to the application to
configure the speaker array settings.

To me, the more sensible solution is to put this at the implementation
level.  To me, it's not likely that these settings would need to change
between applications.

--

--"J"

"I'm a castaway stranded in a desolate land,
 I can see the footprints in the virtual sand."
             --Neil Peart

_______________________________________________
Openal-devel mailing list
Openal-devel at opensource.creative.com
http://opensource.creative.com/mailman/listinfo/openal-devel

ForwardSourceID:NT000292AA



More information about the Openal-devel mailing list