Sign in to follow this  
remdul

Is OpenAL dead?

Recommended Posts

Can someone tell me if OpenAL still has a future? It doesn't seem to be actively developed anymore. Or so I have the impression. I've always liked the OpenGL API interface, so it was natural to pick up OpenAL for audio. But I have little positive experience with it. On all of the Creative hardware I tested the OpenAL drivers where broken (broken listener orientation, crackling/popping, doppler not working, inconsistent/unpredictable behavior, some wouldn't even install). I think that's rather sad, since Creative is supposed to be the 'driving force behind OpenAL' (or so their press releases state from time to time). Personally I don't put any trust in Creative because of their low quality drivers, lack of tech support and immoral business practices (patent trolling, see ID Software and A3D cases) in the past. The only reason I still use OpenAL is because it does work consistently in software mode and provides the very minimal. But it still lacks basic features like 2d panning. I'm considering dropping AL and moving on to something that is actively developed. I also believe hardware audio isn't any good anymore these days, software audio seems the way to go. Maybe this is because Creative has a virtual monopoly on the audio accelerator market and killed off all competitors? Please, I don't want to start a flame war. I'm just interested in opinions, your view on things. I don't intend to bash Creative either, it just seems to be the sad state of things; their stuff just doesn't work, and they're not improving. [Edited by - remdul on November 19, 2007 11:37:45 AM]

Share this post


Link to post
Share on other sites
I believe it is, we're using it as our primary library for audio. 1.1 was released a bit ago but not too long. Creative is lacking in their drivers overall. Direct Sound is, I could be wrong here though, being discontinued? I want something that is cross platform and OpenAL fits the bill nicely for now.

Share this post


Link to post
Share on other sites
It's great to see someone who totally agrees with me about Creative. Unfortunately though it seems like your choice of sound libraries are somewhat limited - there are some good ones that are not free, and some average ones that are free.

If I was starting a new C++ project now and had to pick a sound library, I'd probably choose between IrrKlang and FMOD.

Share this post


Link to post
Share on other sites
Yes, IrrKlang seems very promising, but I have yet to try it.

FMOD is very, very good. It is really as good as they say it is. You can literally get it working in less than an hour. The only downside is the license, the only reason I'm not using it.

Just a few days ago this popped up on the nearly deserted OpenAL-dev mailing list:

http://kcat.strangesoft.net/openal.html

"OpenAL Soft" is a software implementation based on the original source from Creative. I hope this will become an actively developed fork.

The only problem is that the spec won't be updated as long as it is in hands of Creative, but one can add extensions. I wouldn't be surprised if extensions covering EAX/EFX will be added eventually as well, if this thing is picked up by the masses.

I would wonder if Creative would patent-troll against a fork.

Share this post


Link to post
Share on other sites
I have used Audiere and I love it. In my previous project I basically kicked out fmod and completely replaced it with Audiere after it turned out that Audiere got the job done, provided a much nicer API and was free.

Only later did I discover that Audiere's developer had created the library because he didn't like the hacky fmod C API :)

One word of warning, though: Audiere is still lacking in some places. It's not as tightly optimized as fmod and it has very limited support for 3D audio. It was the perfect match for me, but depending on what features you need and on whether you can accept a C API with void pointers, you might want to stay with fmod.

-Markus-

Share this post


Link to post
Share on other sites
The thing that made me stop even thinking of using OpenAL was that its new license, in 1.1, not only is a full plate of b***, since it literally kills any project you may have, but also you dont even get the right to distribute your programs.

Keeping it short, the license said the following:

* You cant distribute binaries of OpenAL
* You must support only Creative cards
* You must contact a distributer from Creative to distribute your program
* You cant modify OpenAL except for the source of the examples included
* You cant even write an engine that supports OpenAL and license it, they wont accept that

At least that's what i read the last time i was there, and its still the same.

Link

Note: The link points to the OpenAL 1.1 SDK, but it wont start the download unless you accept the license.

So you can see why i also dislike Creative, since they're starting to become yet another developer-unfriendly company lately...

Its sad to see the great ones fall like this.

Share this post


Link to post
Share on other sites
nuno_silva_pt: Isn't that license for OpenAL SDK? I mean all of your points against OpenAL applies to SDK of OpenAL, not redistributable. Redistributable has much more better license which can be read on installer screen of redistributable.

Share this post


Link to post
Share on other sites
Quote:
Original post by nuno_silva_pt
Keeping it short, the license said the following:

* You cant distribute binaries of OpenAL
* You must support only Creative cards
* You must contact a distributer from Creative to distribute your program
* You cant modify OpenAL except for the source of the examples included
* You cant even write an engine that supports OpenAL and license it, they wont accept that

At least that's what i read the last time i was there, and its still the same.


I believe that only applies to the SDK packaged by Creative, if you compile your own from source, none of that applies, I am even uncertain as to whether it is legal for them to impose those restrictions regardless of how much code they actually contributed.

Related Question: why is it supposed to be version 1.1.0 but the source labels it as 0.0.8?

Share this post


Link to post
Share on other sites
Creative has released its new SDK (for windows) only a few monthes ago; see developer.creative.com for it. It supports the OpenAL 1.1 environmental extensions for occlusion and such. Apple has extended its release of OpenAL w/ Leopard as well. Linux support ... well, the latest SI for linux available from www.openal.org is fairly old and always crashed in my trials to open any specific device, and it lacks e.g. device enumeration. The implementation available from the link provided by remdul works well so far, but isn't complete w.r.t. OpenAL 1.1 yet. However, the author seems currently very active to complete it.

So OpenAL seems me not dead yet, I would say it _is_ under active (although slow?) development. But of course its future depends on its attraction of games/engines, and that is a totally other point. The most standpoints in this thread make clear that OpenAL isn't that popular...

Share this post


Link to post
Share on other sites
Quote:
Original post by Kwizatz
why is it supposed to be version 1.1.0 but the source labels it as 0.0.8?

1.1 is the version of the current OpenAL specification, and 0.0.8 is AFAIK the version of their (SI?) implementation.

Share this post


Link to post
Share on other sites
bubu LV: So, if the SDK is licensed and the redistributable version is not, does that not mean that you must not be a developer in order to use OpenAL? Because i'm talking from the developer point of view, which obviously applies to the OpenAL SDK only.

Kwizatz: 0.0.8 was the last GPL-styled licensed version, new versions seem to be under direct Creative License, it seems. Also, i was talking about the win32 SDK for OpenAL.

Quoting OpenAL.org download page, svn section:

"There are various tagged and branched versions of OpenAL available in openal/tags and openal/branches. These are some of the most relevant:

* Linux_Spec1-0 for the last Linux code before the transition towards OpenAL 1.1 began
* MacOSX1-1_Spec1-0 for the last MacOS X code before the transition towards OpenAL 1.1 began
* Win1-1-2_Spec1-0 for the last Windows code before the transition towards OpenAL 1.1 began"

Doesnt that seem like they want us to download only the code before 1.1? That's why i think 1.1 and such is no longer "valid" as open-source, according to Creative, at least.

Share this post


Link to post
Share on other sites
Quote:
Original post by nuno_silva_pt
Kwizatz: 0.0.8 was the last GPL-styled licensed version, new versions seem to be under direct Creative License, it seems. Also, i was talking about the win32 SDK for OpenAL.


I took a look at the SVN, seems like you could compile your own under Windows as well (uses CMake now).

Now, I may be wrong, but you just can't take a LGPL piece of software and decide to release it under a different license unless you own the IP of said piece of software, which in the case of OpenAL should still belong to Loki or whoever Loki appointed as the holder of rights (its not Creative or is it?).

haegarr's explanation makes more sense in that regard, I know libtool's versioning is closely related to the library's API.

I think it would be interesting to finally find out how well the LGPL/GPL stands in court though.

Share this post


Link to post
Share on other sites
I hope OpenAL isn't dead yet. SFML uses OpenAL internally. At least as long as I'm using a wrapper, the wrapper's author can reimplement the wrapper functions with OpenSL (Open Sound Library) when it comes out. OpenSL is managed by the Khronos group which is the same group that manages OpenGL.

Share this post


Link to post
Share on other sites
Quote:
I hope OpenAL isn't dead yet. SFML uses OpenAL internally.

Well, lots of high profile developers use OpenAL as well, but that is irrelevant.
What is relevant is that, AFAIK, Creative holds the spec and they are not updating it to the industry's demands.

Quote:
At least as long as I'm using a wrapper, the wrapper's author can reimplement the wrapper functions with OpenSL (Open Sound Library) when it comes out. OpenSL is managed by the Khronos group which is the same group that manages OpenGL.

Does 'OpenSL' exist? I'm aware of 'OpenSL ES', but not of the non-mobile equivalent (zero hits on Google?). If Khronos adopts OpenAL, or really creates an 'OpenSL', that would be awesome.

Share this post


Link to post
Share on other sites
Quote:
Out of intrest, what demands are these?
The EAX/EFX feature set (rooms, occlusion etc). They are available on Creative hardware, but locked out of the OpenAL API with the intention of IP-whoring. Unlike with OpenGL, extensions will not be adopted as native API features.

How about 2d panning? This comes up on the mailing list almost every week.

But admittedly, the biggest issue is that there are few reliable implementations. I'd say the problem with OpenAL is Creative.

Share this post


Link to post
Share on other sites
So, in short, your problem is that;

- no one else makes an implimentation apart from Creative
- Creative won't give away their IP for EAX
- The above some how stops others from implimenting their own EFX solution
- This is all Creative's fault despite the spec being public and there being source code out there for people to build on (even if it doesn't include Creative's IP)

The 2D thing might well be a valid issue, although I dare say the rational for not including it is that you can do the same with the 3D system in place just on 2 axis instead of 3. (I've not tried yet, maybe when I do I'll moan about it, we'll see).

However, based on my short list above, and despite having their hardware I'm no Creative fan (the hardware is great, the drivers are often lacking, although I've been pleased thus far with the recent 2 Vista drivers), your complaints seem... lacking.

- No one else doing it is hardly Creative's fault.
- Who gives away IP? Generally no one; GPUs, case and point.
- I've not seen anything in the EFX docs saying 'lulz, Creative only, no else use' which would stop anyone implimenting the interface.
- The stuff is out there, it's free, it's hardly Creative's fault that apart from them no one else bothers with implimenting it.

Share this post


Link to post
Share on other sites
I don't think implementing a few API functions is giving away your IP! Creative's intellectual property is in the implementation of the algorithms, not in the presumably trivial interface to activate them.

Personally I wish people would use other sound cards and abandon OpenAL. Giving one company control over both most of the hardware and the supposed 'open' standard for sound means progress is going to stay stagnant. Sound has barely improved since the 90s, because Creative were allowed to kill off their leading competitor and have never needed to innovate since then.

Share this post


Link to post
Share on other sites
Quote:
Original post by Kylotan
Creative were allowed to kill off their leading competitor and have never needed to innovate since then.
Their competitor being? The only other time I was aware of another company, or another type of sound device was trying to choose the right one in the old DOOM and DUKE NUKEM config programs. I had a SoundBlaster 16 (like, everyone else it seems), and SoundBlaster variants made up about 80% of the list.

The name ROLAND comes to mind.

Share this post


Link to post
Share on other sites
Quote:
The 2D thing might well be a valid issue, although I dare say the rational for not including it is that you can do the same with the 3D system in place just on 2 axis instead of 3. (I've not tried yet, maybe when I do I'll moan about it, we'll see).
Yes, I tried this by placing a source near the listener, and moving it on a straight line or an arc. But on most Creative cards, the attenuation of sources are inconsistent, it works on one implementation, but not another. With 3d sound you have many more factors that influence the final output, and quite frankly there are few implementations that get all of those factors right.
Quote:
However, based on my short list above, and despite having their hardware I'm no Creative fan (the hardware is great, the drivers are often lacking, although I've been pleased thus far with the recent 2 Vista drivers), your complaints seem... lacking.
Yeah, that always bothered me most. I could very well have excellent hardware sitting in my machine, but the drivers screwing it all up. Frustrating.
I had some hope that with Vista Creative would finally be forced to re-write their drivers from scratch. But they didn't even start working on the drivers until the Vista beta came along, and with Vista adoption failing right now, there's little motivation for Creative to improve their drivers.
Quote:
No one else doing it is hardly Creative's fault.
I thought it was common knowledge that Creative has, and continues to destroy competitors through immoral business practices? I'd rather not go in to it further because it is pointless and will only result into a flame war, but here are some quick pointers:

http://en.wikipedia.org/wiki/A3D
http://en.wikipedia.org/wiki/Sensaura
http://en.wikipedia.org/wiki/Ensoniq

You even mentioned it yourself: you are no Creative fan, but you do have their hardware. Why is that? Where are the competitors?
Quote:
Who gives away IP? Generally no one; GPUs, case and point.
Both nVidia and ATI have, and continue to share IP (albeit for hard cash) to improve the OpenGL standard. Many, if not most of the OpenGL extensions have been incorporated in OpenGL.
They don't have to give away IP for free. Others can license it. If Creative really wants to push a standard, they just need to expose it through a single interface (OpenAL is that interface). I have the impression Creative does not want to share their IP with other audio manufacturers in order to put them out of business. Maybe Creative even joined the OpenAL party with that purpose in mind?
Quote:
I've not seen anything in the EFX docs saying 'lulz, Creative only, no else use' which would stop anyone implimenting the interface.
I think that technically you're right, but that's not really how it plays out in practice. Maybe it is just me, but it doesn't sit right.
Quote:
The stuff is out there, it's free, it's hardly Creative's fault that apart from them no one else bothers with implimenting it.
I don't know if the poster who pointed it out above is correct, but it seems very much that Creative is backpedaling with regard to the initial freedom it gave to OpenAL users.

[Edited by - remdul on November 26, 2007 7:21:47 AM]

Share this post


Link to post
Share on other sites
There's some talk on the dev mailing list now (sorta rare).

One of the OpenAL developers from Creative is suggesting the new OpenAL Soft implementation to become the new "Sample Implementation". Sounds good!

Share this post


Link to post
Share on other sites
I don't think OpenAL is dead. Its just somewhat stagnant and slow developing because of Creative's tight grip over it. About a year or two ago I posted on the mailing list suggesting ways to improve OpenAL's development model, because at the time I was having a horrible experience with getting my OpenAL engine to work cross-platform. A few engineers from Creative responded and generally agreed with everything I had to say, but said the company probably wouldn't allow the engineers to work on it because it wasn't a "business priority". [mad]


My project was using SDL_mixer, but our latest release uses OpenAL because we required a more powerful library. It seems to be working alright across our Linux/Windows/OS X releases and the playback quality is much better than it was with SDL_mixer. After our initial failure with using OpenAL our team had a long discussion about what library we should use for our game. We couldn't use FMOD because of its licensing and cost (we're a free-as-in-beer, GPL project), SDL_mixer didn't have the features we wanted, and Audiere seemed lacking in a few areas.


I had wanted to create a fork of OpenAL and give a big "F U" to Creative. Last I looked at the OpenAL code base, it was a mess. There are completely separate code bases for Linux, Windows, and OS X, and as you can guess this causes some grave problems when trying to use OpenAL for a cross-platform product (we had to hack around at least one of these problems for our latest release). Also I don't think its easy to contribute to the OpenAL source unless you work at Creative, and do only the things that Creative wants you to do with the code.


If there were a better alternative than OpenAL that suits my projects needs, we'd likely fly over to it in a heartbeat. Unfortunately OpenAL remains the best solution for us, so we have to put up with the BS associated with it. I'm interested to see where the OpenAL Soft goes, and if it becomes an actual fork of OpenAL that is truly free (FreeAL?).

Share this post


Link to post
Share on other sites
Hello. Found this thread through a discussion in #openal on Freenode. :)

Quote:
Original post by Roots
I don't think OpenAL is dead. Its just somewhat stagnant and slow developing because of Creative's tight grip over it.

I wouldn't even say that. It's somewhat stagnant sure, but the very latest open source sources have always been available from their SVN repo. As it says on the downloads page, first thing under the OpenAL Source Code heading:
Quote:
The OpenAL source code is available via Subversion from http://www.openal.org/repos/openal. Links to Subversion clients can be found on the links page.

From the command line, you can do the following to retrieve the current trunk:
svn checkout http://www.openal.org/repos/openal/trunk openal

The very latest Linux/Unix version, based off the original Loki implementation, is there (under OpenAL-Sample), as well as the Apple-controlled OSX code (whether or not it's the actual code as shipped with the Mac, I have no idea), and the latest Creative-controlled Windows code (before it closed up). Even FreeALUT is there (under alut). All of it under the LGPL.. except the OSX version which actually seems to be under an X11-like license.

The only thing stopping anyone from working on it (improving the code, creating extensions) is that no one wants to.

Quote:
Also I don't think its easy to contribute to the OpenAL source unless you work at Creative, and do only the things that Creative wants you to do with the code.

Not entirely true. I can't say the same about the Windows or OSX code, but ever since Loki went belly-up, the Linux/Unix code (the "Sample Implementation") has been an entirely open-source community driven project. The only direct ties Creative has with it are that, besides controlling the core API, the mailing list and repo used for its development are on their servers. But no one's prevented from trying to move it elsewhere if there was a benefit from doing so, and they could convince the maintainers (who don't work at Creative, btw).

When I started with the OpenAL code, I initially tried to work on cleaning up the SI. The only troubles I had with submitting patches was that the maintainers were very busy and don't have much time to dedicate to OpenAL. But even still, because I was doing so much work on it, after a few months the maintainers asked if I wanted write access to the SVN repo. I said sure, and after Daniel Peacock (the guy at Creative in charge of the SVN repo's access control) came back from his vacation, I got it. No hassles.

I've since decided that the SI is more or less a lost cause, which is what lead me to fork the original Windows code as a pet project. And while I have no intention of moving development of OpenAL Soft away from repo.or.cz (I like GIT too much), it's likely that Creative's OpenAL repo, which I still have write access to, will hold a mirror of the main development branch of OpenAL Soft as the "new" SI. I've also been told that Creative would likely have no problems hosting downloads of the SI at openal.org, as releases are tagged and put together (the last release, 0.0.8, is there).


As for EAX/EFX, IP, and patents, last I knew, Creative is under a will-not-enforce agreement of its patents against open source projects. I have expressed my desire for implementing EFX in OpenAL Soft multiple times on their mailing list, and they've never said I can't or shouldn't. Though if you need/want to go commercial, I don't know the situation (eg. if you're allowed to use a lib that implements EFX, as long as your product doesn't use it; it'd be kind of silly to not allow that, though).


Quote:
1.1 is the version of the current OpenAL specification, and 0.0.8 is AFAIK the version of their (SI?) implementation.

0.0.8 is the release version of the SI, which implements most, but not all, of the 1.1 spec. The two numbers have no other correlation. (OpenAL Soft implements all of the 1.1 spec, btw).


And an interesting idea to toss out there, for those who want to see OpenAL evolve.. perhaps some people could get together to form an not-for-profit open-source Foundation or Group specializing in audio design and APIs, and ask Creative if they can help control the API and feature set as it goes into the future. Who knows.. I'm sure Creative is feeling a nice pinch from consumers not caring much about audio cards these days, and not being near the top in the professional market. Perhaps someone to help push the OpenAL API forward is something they want, and that we'd all benefit from.

- Chris, OpenAL Soft maintainer

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this