General Question about the capabilities of OpenAL

Hello,



for the project I'm working on at the moment we want to set up a soundsystem with 8 loudspeakers. In the real world the user will be standing inside a cube, and we want to install a loudspeaker in every corner, so that we have sound coming from all directions, left right front and back at the bottom and left right front and back at the top.  All dolby systems etc. usually are designed for loudspeakers standing around the listener all on the same height. You could refer to that as being "2D sound" and as far as I see OpenAL is also designed for loudspeakers set up this way. In our project we actually need "3D sound", so my question now is, is there a way that OpenAL, and especially the OpenAL implementation of jme, can handle this setup?



Thanks for your answers in advance.



David

I think the first question you need to ask is, " Is there a sound card that is capable of handling this configuration? (8 speakers, setup differently than a normal 7.1 system). 

even 5.1 would be capable of handling that…just because you don't have a speaker in that location is no reason to think it's not capable of giving the impression of the sound coming from a specific direction. :slight_smile:

Seems like this is an issue that is related to your audio drivers and their speaker setup app.  Most sound cards have a setup app that let's you describe how your speakers are setup.  In my experience, the OpenAL API abstracts those details away from the programmer.  You just describe the audio scene in space and your driver's implementation of OpenAL is responsible for determining speaker levels and output.



So in other words, I don't think this is a jME question.

It's a driver issue. Most drivers won't allow you to specify the "height" of a speaker. jME sends the coordinates of a sound source to OpenAL as 3D, so you'll need a soundcard + driver that will handle this in 3D. I've never seen that in a consumer lever card though… on I guess I'd say try linux.



and @darkfrog: 4.1 etc. can simulate 3d sound reasonably, but eg if you you tilt your head to the side, it doesn't work. Trust me, that now the soundcard companies have made us upgrade from 2.0 to 4.0 to 4.1 to 5.1 to 6.1 to 7.1 this will be the next thing eventually…

Thanks once again for your numerous and fast answers.



Maybe the solution would be to stuff 4 old soundcards into a pc and use some kind of software-mapper to put the OpenAL signal on the 8 speakers the way I want it to be. The only open question then is, where do I get this kind of mapper or driver. Or does anybody here know of a soundcard with a driver that can handle this setup? As always suggestions are very welcome :slight_smile:

I guess (?) OpenAL can direct output to specific channels… (not jME though). However you're still limited to 6 channels per sound card with normal hardware.

llama said:

It's a driver issue. Most drivers won't allow you to specify the "height" of a speaker. jME sends the coordinates of a sound source to OpenAL as 3D, so you'll need a soundcard + driver that will handle this in 3D. I've never seen that in a consumer lever card though.. on I guess I'd say try linux.

and @darkfrog: 4.1 etc. can simulate 3d sound reasonably, but eg if you you tilt your head to the side, it doesn't work. Trust me, that now the soundcard companies have made us upgrade from 2.0 to 4.0 to 4.1 to 5.1 to 6.1 to 7.1 this will be the next thing eventually..


I was figuring the next "thing" would be to buy replacement walls, floor, and ceiling that are covered with speakers so no matter where you listen, sound will be coming from it.....or you could simply wear headphones. :o

Bose seems to do a pretty awesome job of surround with just two speakers though....but that's just silly. :o