OpenAL Audio Library Released 134
Straker Skunk writes, "Loki, in conjunction with Creative Labs, has announced OpenAL, an LGPL'ed audio library for 3D sound generation. It's aimed for use in games as a cross-platform, nonproprietary means of accessing the 3D sound features on many newer sound cards. What's especially cool about it is that the API is designed with the same style, philosophy, and polish as OpenGL. Given enough time, it might very well become just as popular.
" I've always been a fan of Loki and it's great to see them supporting the community - someone also sent an interview with Michael Vance, one of the developers behind OpenAL, who talks about the development of OpenAL and how it compares to other sound offerings.
Re:OpenX, SDL and OpenAL (Score:1)
Re:There's more to 3D than games... (Score:1)
$500 consumer hardware?!? The fastest consumer 3D hardware right now is the GeForce, which costs ~$300 in its fastest incarnation. NVIDIA was started by ex-SGIers who have a much higher regard for OpenGL than Direct3D. NVIDIA OpenGL drivers are among the best around.
Anyway. Nice to see you putting down my technical knowledge. You might be suprised by the truth. I have afterall been doing both D3D and GL (much less intensively, since I hate it) for several years. And that's in software that actually has to work on your average users machine.
I guess that's great as long as your "average user's machine" is running Windows. If its running Linux, BeOS, MacOS or any of the other up-and-coming alternative OSen you'll have a fun time porting to OpenGL which you hate so much. ;-)
The average user doesn't have the latest and greatest SGI.
Irrelevant, since you don't need an SGI to have great OpenGL performance. :-)
And about the geometry, older style hardware might be quitte happy accelerating geometry using GL. But for modern hardware in normal pricerange D3D offers a direct path to exactly what the hardware does.
Non-sequitor time. Only the most modern hardware (GeForce) provides hardware geometry support, so your statement doesn't make sense. Further all the major 3D vendors now have pretty good to excellent OpenGL implementations (NVIDIA, ATI, Matrox, S3, 3dfx).
And that is the result of carefull crafting and discussing by lots of major developers and IHVs.
Yes, with Microsoft as the ultimate judge of what actually gets included and implemented. Anyone with an eye to see realizes that Direct3D has been playing catch up with OpenGL over the last few versions. Heck, by the next version it will even include an open extension mechanism (which OpenGL has had since before Direct3D existed). No matter what Microsoft does, though, it can't fix the fundamentally crufty API, or the dependence on COM - which will leave Direct3D forever tied to Windows. Whither now, Fahrenheit? ;-)
Finally, the OpenGL ARB provides an open forum for improvements to OpenGL - one that is working well, if sometimes rather slowly. For the full scoop on OpenGL check out www.opengl.org.
BTW, I started the OpenAL effort, and I'm very glad to see it succeed after so many people's hard work!
Re:Now maybe I'll get drivers (Score:1)
Or even:
http://www.alsa-project.org [alsa-project.org] if ALSA is more your thing.
Nick
Re:OpenGL != popular (Score:1)
Re:Networked Ability ? Please let it be so... (Score:1)
m.
Re:Loki's plan (Score:1)
I mean, come on, it's LGPL
m.
Re:Is OpenSource about replacing superior solution (Score:1)
a) easier for me to write
b) easier for me to maintain
c) easeir for my peers to read and understand, and thus maintain
OpenGL is a beauty of an API for several reasons, from a stricly syntactic point of view because it is data-type neutral. When I need to port Direct3D code to OpenGL, I can almost always make the data structures work the way I need them, despite the best efforts of the minds at Microsoft to introduce D3DTLVERTEX and the FVF flags (ye gods).
m.
Re:This can only be good in the end (Score:1)
DirectSound*
Apple GameSprockets
QSound
BeOS Media Kit
EAX
A3D
IASIG Specifications
etc. Insofar as EAX is a set of extensions to DirectSound, I guess that doesn't count so much.
m.
Re:This can only be good in the end (Score:1)
Support for MP3, etc., is planned, as an optional parameter for specifying a Buffer waveform. There is an issue of canonicalization though (stereo sound doesn't make sense for noise in a three dimensional space... it's just a sound).
m.
Re:This can only be good in the end (Score:1)
I thought that there were already various libraries and systems to support ear poping sound on linux someting called ALSA or the like but I wouldn't know because my computer never has been able to say a word to me (I think it's mute)
Next time, read the article, OK? It was specifically said that (unlike ALSA) OpenAL would not be a part of the kernel or a module. You're saying, "Why do we need Mesa when there are already drivers for my VGA card?" OpenAL will provide functionality (3D audio) that doesn't currently exist in the sound drivers that it will sit on top of.
Re:Networked Ability ? Please let it be so... (Score:1)
I have a dream, a dream of quake or sommat like that churning away in the foreground plinking out that sound. My audio enhanced mail program simultaneously plays a little wav to tell me that something has arrived. Off in the distance sound output of a audio tweaked top is playing away giving me some sort of feedback of the system load
Multiple sound programs working together, sniff.
And all sound routes too mind, multiple networked midi port access as well. If I recall correctly sgi had a sound library that everyone had to use to access the sound device. Microsoft now has DirectSound which does the same thing (btw: the lead developer (possibly the only one!) on DirectSound is an ex SGI employee, so DirectSound could be said to be built on the expertise and experience of SGI)
C. (spurned by XAudio, broken on the wheel of nas, crushed by lack of esd documentation, impaled on the pain tree of sound editing under linux, /dev/audio, just say no)
Networked Ability ? Please let it be so... (Score:1)
All the other networked sound methods have fallen by the wayside to my mind, the Xaudio one because the X consortium stopped work on it, nas because it had zero documentation, and against nas and esd theres the problem that there is nothing that can be done with them except play static snippets of sound.
I reckon the problem is that noone who actually knows anything about sound or serious use of sound has even investigated network sound.
If OpenAl stuff could be routed to sound daemon on a remote machine then it would appear to fit the bill perfectly. Serious sound apps using OpenAL, and OpenAl supporting a network connection.
Sigh, in a perfect world...
C.
Amiga : Dead as a doornail? (Score:1)
To my understanding this company was about as dead as a coffin nail (according to the Dickens phrase). So why do people persist in talking about them?
Most people agreed that Apple was 'dead as a coffin nail' (or whatever) a couple of years ago... then they released the iMac and sprang back to life like something out of a bad Hammer House of Horrors movie...
Now I'm not suggesting that Amiga are going to release a translucent / aqua machine (they'd get sued ;) - but perhaps there's life left in the old dog yet?
Regards,
Denny
PS, I've never used an Amiga in my life, so I know even less than usual about what I'm pontificating about :)
# Using Linux in the UK? Check out Linux UK [linuxuk.co.uk]
Re:OpenX, SDL and OpenAL (Score:1)
Now it would be nice if a GLX-like tunnel was defined so that the destination of the sound can be determined by the display you opened with X. In fact I can see it useful to have the sound linked with an X window, so that they can have individual volume controls or be muted when iconized, without program support...
Re:Is OpenSource about replacing superior solution (Score:1)
You cannot program a good OO api atop another OO api. You can program a good OO api atop a functional api, like the computer hardware, or a low-level abstraction like OpenGL. Just try it.
Trying to make the low-level portable interface "object oriented" is entirely against object orientation.
Okay, you can go back to playing with your HBRUSHES and HPENS now.
Re:OpenX, SDL and OpenAL (Score:1)
X should be replaced. But there is a tiny germ of an idea that needs to be kept. What I want is something that can tunnel over a network. This means bufferable commands. This can also greately improve performance on local machines by reducing the number of context switches. Microsoft says they need to put the graphics in the kernel because it halves the number of context switches. But a well-designed buffered command system (mostly without need for bi-directional communication that requires a sync) can reduce the number of context switches by 10,000 or more (and still leave the server in user space!).
GLX is a sample of how you can take a call-based system and lay it atop a buffered command system.
I would dearly love to see X replaced. I want antialiased and transparency everything, and it is inexcusable that I have to use a library to do even the simplest graphics!
OAL -> DD/DTS 5.1? (Score:1)
Your Working Boy,
Re:Unfortunately (Score:1)
It could have been fun, if it could have been open to ALL software developers.
Instead Linus Torvalds attitude was near to go away and make your own things.
While everyone is on party of this big announcement, we are forced to choose between:
- Implement yet another operating system
- Follow Linus path, and hope to survive in the shadow of Linus
- "Gold old MINIX is enough!"
- Buy a proprietary Microsoft operating like Windows 2000
I would have prefered that all software developer got to define a standard with everyone, but one established developer prefer to be alone on the spotlight.
Aw! Diddums!
Hamish
Badly-named (Score:1)
Should be OpenSL.
"audio" is to "video" as "sound" is to "graphics".
Hamish
Re:A first look (Score:1)
Re:A first look (Score:1)
"3D sound" isn't (Score:1)
Have you ever noticed that the so called "3D Sound" is in reality only 2D ?.
F.ex. if you are playing System Shock 2, there is *no way* to know if the monsters are on the steps above or below.
--
Why pay for drugs when you can get Linux for free ?
Re:This can only be good in the end (Score:1)
(Which brings up and interesting question about OpenGL -- how do vendor-specific additions get integrated into the standard? How are implementation disagreements handled? I assume there's some committee at SGI that handles these sorts of issues.)
--
Re:There's more to 3D than games... (Score:1)
DirectX/Direct3D exist only to support and encourage game development on Windows, but with today's home computer market the way it is, that's where the game development would be anyway even without it. The fact that DirectX is not cross-platform is not a nefarious plot to destroy other OSes (well, maybe a goal was to destroy DOS games), it's just how Microsoft builds things.
--
Re:I still dont trust creative (Score:1)
Yes, wavetracing is nifty, but it is a serious CPU hit, and honestly it is not that much greater than 3D audio with EAX.
Maybe you do not trust Creative, but right now this is all we have, Aureal would be much worse frankly, they are going to release A3D for Linux, it is going to be closed, who wants that? Aureal is free to write their own OpenAL drivers for their soundcards, just as they are free to write their own EAX drivers (did they ever release these, they have been promising them for a year now).
Why people still talk about Amigas (Score:1)
"The company" has nothing to do with it, just as they had nothing to do with AHI. People talk about Amigas because people use Amigas, and that will probably continue to be the case until the machines die or something better comes along.
It's easier to port some things to the Amiga than it is to find something to replace the Amiga with. I am trying very hard to replace my Amiga. Last year, I bought a $3000 Mac for my brother, and also so I could scope one out a bit. I gave it a try, and decided that it just isn't the right OS for me, so I didn't buy a second one. Now I'm spending almost as much on an Athlon Linux box. I think I can move some of the Amiga's work over to that (and even do some new things with it!), but overall, it's already clear that the Amiga's place is still secure.
Oh well, maybe next year I'll be able to retire the Amiga? Frankly, I'm not holding my breath. Sometimes it seems like the whole idea of real progress in the computer industry is about as dead as the Amiga itself. And what was one of the last things that happened before the stagnation period set in? The Amiga. The personal computer revolution: 1977-1985 R.I.P. (To be fair, I'll admit that's an oversimplification which ignores NeXT (1988) and BeOS (1995). Still, it has been pretty lean pickings for the last decade and a half.)
---
Re:What we need next... (Score:1)
Anyone wishing to take part, e-mail me below!
Dan Guisinger
d.guisinger@qwlsoft.com
Re:"3D sound" isn't (Score:1)
This is the second library called OpenAL (Score:1)
Re:There's more to 3D than games... (Score:1)
Anyway. Nice to see you putting down my technical knowledge. You might be suprised by the truth. I have afterall been doing both D3D and GL (much less intensively, since I hate it) for several years. And that's in software that actually has to work on your average users machine.
The average user doesn't have the latest and greatest SGI.
And about the geometry, older style hardware might be quitte happy accelerating geometry using GL. But for modern hardware in normal pricerange D3D offers a direct path to exactly what the hardware does. And that is the result of carefull crafting and discussing by lots of major developers and IHVs.
Thanks for listening.
Re:Is OpenSource about replacing superior solution (Score:1)
gl style syntax is the horrid syntax you can see in OpenGL, and now in OpenAL. Thing like 'alSource3f'. Game development world on PC has pretty much moved over to classes/interfaces for APIs.
Also both are not hardware specific.
And as a game developer, I can tell you, we couldn't care less about the API porting across. If we publish on another platform, this takes a fair bit of cash anyway. A programmer to rewrite specific lowlevel code is hardly an issue.
This is what happens all the time when doing ports between PC and various consoles.
Re:There's more to 3D than games... (Score:1)
MS indeed is ultimate judge about what gets implemented, but since this interaction process has started it's never really worked out in any bad way as I see it.
Geometry acceleration support is ofcourse about the API supporting it, and the hardware being on the way. Ofcourse GL supports it as well, and in it's most basic form has supported it since its existance. But the D3D methods are much more flexible. This will be even more so with DX8.
And no, there is no reason for D3D to be tied to Windows. It could be implemented on Linux. Just nobody does it. Because it wouldn't be considered very cool
Re:Is OpenSource about replacing superior solution (Score:1)
How do we choose an API? 1. Consumer demand. 2. features/performance 3. Ease of use to developer 4. portability. But first 3 are way more important.
And even if the code would be a clean recompile another platform, publishing it properly for another platform takes a lot of testing anyway. Testing, customer support, etcetc
And for now it indeed looks like the Windows OpenAL is just a layer ontop of DirectSound. Doesn't that basically mean you have one extra reason not to use it?
The only sortof usefull thing would be to reimplement DX on Linux. There is no reason why COM can't work on Linux. (See CrystalSpace).
Re:GPL and API's (Score:1)
Re:There's more to 3D than games... (Score:1)
GL geometry acceleration really couldn't get much easier:
glLoadIdentity();
glRotatef(0,1,0,rot_angle);
And that same code will run on any platform, from software-driven Pentium-100s to hardware acceleration on Onyx2 Infinite Reality racks, as quickly as the driver developers choose to optimize their drivers. I haven't worked with DX7's geometry acceleration, but from what I hear, it's considerably more obfuscated, and requires all old code to be rewritten to take advantage of it.
MS indeed is ultimate judge about what gets implemented, but since this interaction process has started it's never really worked out in any bad way as I see it.
The only problem is that Direct3D will permanently be tied down to the current hardware. OpenGL 1.1 still has features (glConvolutionFilter, glTexImage3D, etc.) that have yet to be implemented in hardware on any consumer card, and has supported geometry acceleration since its inception. Plus, if a feature isn't available in hardware, OpenGL has a guaranteed software fall-back renderer for all features in the spec - something Direct3D sorely needs. Sure, a few new features have been added to improve performance (glMultiTextureARB), but that's more a result of card manufacturers optimizing their texel units for write-only, rather than read/write. Multi-texturing can be just as easily implemented with alpha blending two images; however, when writes are 2-3x faster than reads, it's considerably more efficient to pre-alpha blend the pixel in the texel unit and write once, then to write once, read back in, and write again.
And no, there is no reason for D3D to be tied to Windows. It could be implemented on Linux. Just nobody does it. Because it wouldn't be considered very cool :)
Actually, since neither ActiveX nor the Component Object Model exist in a complete enough form for any other OS (MacOS has a partial implementation), it's easily arguable that DirectX will remain tied to Windows. Not too many operating systems have any idea what extending IUnknown is supposed to do. Hell, check the Cygnus Gnu-Win pages - it's difficult just to port the DirectX libraries to a different Win32 compiler, let alone an entirely different operating system!
Out of curiosity... (Score:1)
From a developer's standpoint, these cross-platform APIs are A Good Thing but if the open platforms are limited to graphics and sound alone then Linux game dev will continue on its slow, six-months-behind-Wintel-releases course.
Re: (Score:1)
Finally, DirectSound for Linux! (Score:1)
C is the lingua franca (Score:1)
Now WHY do we need a totally new API? Because it's hip to use the totally outdated gl style syntax?
Perhaps you want to be stuck with C++ indefinitely ? It's better to write a library in C because
Personally I use Common Lisp and other esoteric languages (because IMHO they are better) and they can all interface with C (without ugly kludges) but interfacing with C++ would be a pain. If the interfaces were in C++ there would be a language lock-in, which I think we all want to avoid.
3D sound is, but not implemented (Score:1)
The way you can tell which direction a sound is coming from is by which ear hears the sound louder and which hears it first.
Actually you can tell by the way the sound is reflected from you ears, shoulders and travelling through you skull. You don't need to move to know the direction. The HRTF (head related transfer function) varies also according to the horizontal position of the sound source. It's just that the games don't implement it properly.
why do we need OpenAL? maybe I just don't get it (Score:1)
I get OpenGL, but why OpenAL?
(no offense meant, just curious, so hold the flames, pickles and mayo)
Want to work at Transmeta? Hedgefund.net? Priceline?
Re:This can only be good in the end (Score:1)
Good news (Score:1)
Expect FUD about this from your nearby Microserf.
All other PC audio companies signing up on this is good in my book and I will start buying one card a week to show my appreciation. Or maybe two. They probably deserve all my money, and somebody gotta pay when they start losing all their money supporting open standards.
Bill Gates: We cannot open the source on Windows, as people wouldn't know what they get when they buy Windows anymore.
[Aside from the obvious paradox:]
Me: Your problem is that people are beginning to realize just exactly what they really get!
- Steeltoe
OpenAL, a layer on DirectSound for Windows Boxes? (Score:1)
[RFC: a layer on top of DirectSound?
[NOTE: At first. I was wonder how this parallels OpenGL. I'm fairly sure under windows it isn't a layer on D3D.
What we need next... (Score:1)
Anyone want to give it a go?
OpenX, SDL and OpenAL (Score:1)
-------------------------------------------
Re:This can only be good in the end (Score:1)
From what I can tell from talking to Michael Vance, the standard is as neutral as, say, OpenGL. That is to say, we're not in a position to say that OpenGL is geared more towards NVIDIA cards than towards 3dfx or ATI cards. OpenAL has been designed in the same spirit and should favor no hardware over another, in principle.
Now, if one company has hardware support for more features than another, it may seem as though the API is geared more towards the former hardware than the latter, but that's not the fault of the API.
matt
Writer, Linux Games [linuxgames.com]
Um, yeah! (Score:1)
3D positional audio is actually much cooler than (high performance) 3D graphics in some ways, so I can see this API quickly supplanting vendor- and platform- specific standards.
For one example, in video conferencing it is pretty well accepted that audio quality and continuity is more important than the video. If that audio were 3D positional, so that voices matched up spatially with the position of participants, you could realize a major increase in realism with a minimal bandwidth cost. As video conferencing moves toward multi-vendor, multi-platform H.323, a similiarly multi-vendor, multi-platform 3D positional audio API could be a major BUSINESS win.
Yup; as soon as companies figure out that this API is a money maker, I would expect to see it take off in a big way.
Perfect timing for me (Score:1)
Hats off to Loki for yet another fine release.
Re:Unfortunately (Score:1)
Re:Unfortunately (Score:1)
Re:Unfortunately (Score:1)
Given the circumstances and NDA's or whatever it still does not matter.
Granted Loki did do this openly and thats a helluva a lot better than many companies would do and this qualifies as open source there is still the matter of initial design that was *very* closed.
How would you feel if 6Months into a project yet another be all end all API comes out? What do you do? Reimplment? Redo all your sound code? Stick with what you got?
I think everyone is a bit hasty to flame including myself. Loki IS being a bit sensational and I do agree they are not the *only* game company out there. Sure they did a lot and they were one of the first but dont get all defensive for them without at least learning both sides of the story..Thanks
JA
Re:Unfortunately (Score:1)
Re:Unfortunately (Score:1)
Creative Labs weren't able to talk much about 3d and Linux... sound like nda.
We also talked to another sound card company that were not able to work to much on Linux at this time.
This was not flaming, but a way to explain our choices to be able to make a good decision.
Re:Unfortunately (Score:1)
Sorry: "Good old stereo"
Re:Unfortunately (Score:1)
I'm sorry if Linux users got my comment as a attack to Linux.
C-style API syntax is outdated (Score:1)
I agree that the C-style focus of a NEW api today is outdated. To relate the new api to 'OpenGL'-style to illustrate how 'great' it might be, is IMHO a big mistake. OpenGL's interface is old, and born in the C world of IRIX. Today we have powerfull tools,methods, techniques and ideas how to model data plus logic in a more 'natural' way. Keeping this new API C-style, as OpenGL is, is a missed chance to do it right: an Audio API is not about just functions, so functionbased thinking is at place; it's OO for a large part. Defining it in C style is THE first big, and IMHO the deadly nail to the coffin of this unborn child, mistake of a large list to come. I can understand it's C-style because most Unix code is C-style (still), but this library is not for the past, it's for the future. The definers of the new API should have put more time into that before publishing a definition that has only slightly a chance in the C-focussed Unix world, which is narrowing every day.
And as Jurjen pointed out: there is already a set of API's doing what this should be doing. Instead of joining these forces, the wheel is re-invented again, on a windy, dusty road towards the 1.0 version, if that will be ever reached, which I doubt.
--
o no... (Score:1)
You post 2 examples of code no-one would use on both api's. it's useless to mention the Execution buffer and glVertex calls.
OpenGL is not a state machine. The api is in a certain state but a statemachine is something else: + = . This is not the case for OpenGL. Don't call it a state machine then. If you focus on Hardware you can declare OpenGL a good api, however OpenGL is based on the fact that it's totally hardware/windowmanager independant. Refering to hardware is therefor useless. And not right also: it's perfectly defendable to see a set of faces with materials and geometry as a set of objects. Visualizing these objects should be done using methods of these objects. OpenGL on the other hand is totally function based, C-style. Ok if you prepare yourself for a functionbased application, but horrible for applications that are Object based, like most common 3D engines (except perhaps Quake3's engine). In an OO based application you suddenly have a transformation to a functionbased api, which is, _logically speaking_, stupid.
For OpenGL the reason it's being functionbased C-style is clear, it's historical. For a _NEW_ api there are no reasons to stick with C-style functionbased designs. Just because if you have an OO based application, like a game (more and more games are OO based), you want to talk to an api that understands things like 'here is the geometry objecttree, here are the sound objects'. And all sound properties/data are stored with these soundobjects. No crappy structs inside whatever array pointer vehicle. It makes so much sense to do it the OO way, ESPECIALLY Because more and more people are going the OO way.
I agree with you that having a cross platform api for sound would be very ok. However I HOPE you'll understand that a C-style API, which has to be born yet, has simply NO CHANCE on win32, where more and more is going to be OO/COM. So 'cross-platform' will IMHO eventually be just 'cross-Unix-platform', and it's not the fault of MS.
--
eheh the statemachine example is parsed out: (Score:1)
--
Cool. (Score:1)
kwsNI
The wonderful thing about standards... (Score:1)
That is every platform has its own sound API, so I hope this does catch on. What we really need is a port to games consoles. Ease of portability would be a great selling point.
Re:This can only be good in the end (Score:2)
I doubt this, simply because 3D audio hardware is very nearly a commodity item today. You can play multiple sound sources in multiple locations in 3D space, optionally with a variety of mostly standard effects (echo, reverb, etc.).
Different hardware differs only in minor ways: the number of concurrent streams supported, the quality of the effects, and how much host CPU time is required. They don't vary much in their basic feature set, so there's not much to do in an API to favour one vendor over another.
I might be more skeptical if Aureal were the company involved, as the Vortex chipset supports some extra features (geometry based wavetracing) that the Creative hardware currently does not.
Re:This can only be good in the end (Score:2)
> beginning of a true cross platform 3D audio
> system. Hopefully it provides more functionality
> than Microsofts proprietary single platfrom DirectAudio(?)
> system, otherwise it will be hard to get companies to switch over.
I don't see the benefit of doing something like that when you can just have standard sound from multiple speakers. Just take one speaker and put in on one side of the room and another and the other then you have sterophonic sound. Largely unless the sounds are intensely more complex your mind will associate the sound comming from different sources and allow for the "3d" effect.
Huh? So 3D sound isn't necessary, so we don't need an API? I think you've missed the point.
I think that making anything a standard that involves massive cpu computations or involves games in general would be a bad idea.
Do you reimplement qsort from scratch every time you write a new piece of code? Any function that provides a common functionality, regardless of nature, is a valid target for an API. Especially the ones that involve massive cpu computations, as they stand to reap the most benefit from concentrated, incremental optimization by many people.
I thought that there were already various libraries and systems to support ear poping sound on linux someting called ALSA or the like...
The best thing about standards is that there are so many to choose from. -- Andrew Tanenbaum
Yes, there's a standard, but we want a standard cross-platform standard, so we don't have to code for three different nonstandard standards!
No (Score:2)
GPL relies on copyright law
An API is a specification rather than something
that you need to copy in order to conform to
the API.
You don't have the right (as far as I know) to
write a specification and say: "everybody who
produces something that fulfills this specification must abide by these conditions"
- and nor should you IMO, IP laws should be weaker, not stronger. For instance, MS has no
right to impose restrictions (apart from practical ones) on who can implement win32 api,
hence legaility of WINE.
Re:"3D sound" isn't (Score:2)
Of course, when we get better sound setups (with speakers above *and* below the listening plane), this API would let us take advantage of those extra speakers without needing new versions of the games.
Re:OAL -> DD/DTS 5.1? (Score:2)
When will it be used. (Score:2)
Then I'll be mightily impressed.
For now it's a noble and admirable effort. Kudos to 'em.
--
Re:A first look (Score:2)
The material/geometry stuff is not in the spec right now, because we're still discussing the issue of a canonical filter representation for surfaces, etc.
Feel free to mail me any specific questions (briareos@lokigames.com).
m.
Re:I still dont trust creative (Score:2)
The level 2 stuff is the environmental reverb. This is approved by a whole host of companies, which you can see by visiting the IASIG website, including Aureal. You'll also note that this isn't currently a core part of the API--it's an extension (AL_ENVIRONMENT_IASIG, etc.), as we felt this might not be the Right Way to do environmental reverberations, etc., for the forseeable future.
Geometry specification is nice and clean from an API standpoint, but doesn't reflect what's really happenning on the card. When 3D sound boards are doing these geometry calculations in hardware, we can talk about the OpenAL 1.1 API or whatever.
There is also an issue of how to represent "materials". This is far from an easy task to decide.
OpenAL was a lot harder to specify than, say, OpenGL--they already had IrisGL, and they had a very straightforward silicon path--textured triangles.
m.
There's more to 3D than games... (Score:2)
You seem to have fallen victim to M$ FUD; as usual they took the truth but twisted it so it's presented with a slant.
Re:Is OpenSource about replacing superior solution (Score:2)
Now WHY do we need a totally new API? Because it's hip to use the totally outdated gl style syntax?
Please explain what "gl style syntax" is and what exactly is outdated about it.
A3D and EAX are here. They are far more well featured. Have had bugs hammered out of them for a long time. This are PROVEN APIs.
Neither of them are open or cross-platform, and AFAIK they are both hardware-specific. This makes them pretty useless to game developers.
As a game developer, why would I want to write to an API supported on only one kind of hardware or one platform? Talk about primitive!
Hopefully A3D and EAX will go the way of RRedline and Glide.
________________________________
Re:Is OpenSource about replacing superior solution (Score:2)
Well, I don't really see much difference between
glBegin (GL_TRIANGLES);
glVertex (0,0,0);
glVertex (1,1,0);
glVertex (2,0,0);
glEnd ();
and:
v = &buffer.vertexes[0];
v->x = 0; v->y = 0; v->z = 0; v++;
v->x = 1; v->y = 1; v->z = 0; v++;
v->x = 2; v->y = 0; v->z = 0;
c = &buffer.commands;
c->operation = DRAW_TRIANGLE;
c->vertexes[0] = 0;
x->vertexes[1] = 1;
c->vertexes[2] = 2;
IssueExecuteBuffer (buffer);
besides the amount of code needed in each case. OpenGL is a state machine, and it's API reflects this. Most if not all hardware (graphics and sound) are all basically register-based state machines, so OpenGL and OpenAL resembles the hardware's characteristics more closely.
Also both are not hardware specific.
I stand corrected. How then do your game developers choose an API to use? Certainly ease of use and portability should play a role!
And as a game developer, I can tell you, we couldn't care less about the API porting across. If we publish on another platform, this takes a fair bit of cash anyway. A programmer to rewrite specific lowlevel code is hardly an issue.
But it doesn't have to be this way. Good programmers will not tie their code to a single platform or a single architecture, especially if they know their program is to be ported later. Writing to spec on a portable API means less money and effort will be needed when the program is eventually ported.
Having a cross-platform sound API is going to be a major timesaver. Perhaps EAX or A3D or DirectSound will be used as the "low-level" guts for the Windows version of OpenAL--who knows!
________________________________
Don't drink and Moderate! (Score:2)
Does he/she understand what an analogy is?
Does he/she even understand what the topic is?
Moderators please put more thought into moderation, instead of just jumping the gun to get rid of those moderator points. Note that the poster in question has a default score:2 so maybe (just maybe) they are not prone to offtopic comments. Meanwhile there are many score:0's on this post, some of which deserve to be 1's.
In other words:
Have you read the moderation guidelines [slashdot.org]?
Chris
Re:o no... (Score:2)
Also, remember that OO is not the be-all end-all of programming approaches. OpenAL would be a lot less flexible and useful if it were implemented that way (as, say, a set of fully-OO C++ classes).
Re:This can only be good in the end (Score:2)
What make the approach they're taking really nice is that the API is staying clean. They're not trying to throw everything under the sun into the library-- they're keeping its scope razor-sharp, and leaving application-specific concerns like those to other libraries.
That way, you don't run into library overlap, which is incredibly bothersome if you're trying to write elegant code. (E.g. when you're using GLib, do you go with printf(), or g_print()? I hate having to decide things like that)
Kudos to Loki for following the footsteps of one of the most beautiful API's in existence, and for committing to keep it that way. I just know I'm going to write an OpenGL+OpenAL program someday, and I'm going to enjoy it immensely }:-)
IMHO very good news. (Score:2)
That said, what I'd really like to be able to do is to drive these uber-kewl 3D sound cards from MIDI more effectively, and if I could to all of my MIDI work from Linux, that would give me the final reason I need to banish M$ software from my home machine permanently.
Is there an Open API for MIDI under Linux, and if not, would any /. readers be interested in starting one over on CodeForge?
Re:GPL and API's (Score:2)
Re:Amiga : Dead as a doornail? (Score:2)
Then there are lots of next-gen AmigaOS replacements occurring, some of them are actually making headway now, such as AROS [aros.org]. Other interesting ideas include trying to get the Linux Mac emulator (than runs on Linuxed Macs) to run on PPC enabled Amigas... That would be fun. Amigas have a wealth of OS's available to them, OpenBSD is the latest, others include Linux, NetBSD, QNX (well, it must run on the hardware, but it won't be released for a while I am sure), AmigaOS (never!) and probably a lot more.
Interestingly, the next-gen Amiga OS was going to be called Aqua - until Apple released their new UI. The Amiga has had a pretty rough year, even by the Amigas standards! Hoefully Tao [tao-group.com] will improve the fortunes, and maybe they should take a gander at OpenAL as their sound system. Sony also have relationships with Tao...
Re:This can only be good in the end (Score:2)
I read that there is an API for reading CD audio and playing it (how many more CD Players do we need :-) ?). Does OpenAL include support for mp3, MSAudio, Liquid Audio, Barry's Mega Audio, etc, or include hooks for these to be implemented, perhaps by third party software such as XMMS? Or am I getting a bit to specific...
Dolby AC3 support would be nice as well... I suppose I should take a gander at the API!
OpenAL and the uses of 3D sound. (Score:2)
Re:OpenX, SDL and OpenAL (Score:2)
Re:Is OpenSource about replacing superior solution (Score:2)
OpenGL API style. (Score:2)
Re:GPL and API's (Score:2)
You mean to say that if someone changes it they must release source code to the changes?
The GPL does not make sense for this kind of thing. It is a license that was specifically written to apply to computer programmes, and while its concepts may be generalizable beyond that, the GPL is legally worded to address specific issues of distribution of programmes and their source code.
M-x less-pedantic-mode
You mean can an "open" license be applies to this API? What would that do? An implementation of this API is already LGPL'd, so you CAN go ahead and extend or modify the API if you like..
Re:Unfortunately (Score:2)
That's now how open source innovation typically works. The way new stuff usually happens is somebody wants a programme* to exist and implements it first, rather than spending 8 months saying "Hey, I want everyone in the world to tell me how to write the programme I want to use".. Once they have it doing something, they say "Hey, this is cool, anyone want to contribute?" and then the ball gets rolling.
*Libraries, protocols, API's, etcetera all count too.
GPL and API's (Score:2)
what I'm thinking about is M$ standard "embrace, extend, destroy" model for implementing standard APIs.
Re:This can only be good in the end (Score:2)
Well duh if you ran a company and you were working on a standard wouldn't you create one that your programmers and hardware technicians actually knew how to use?
Anyway, Open Audio Library will signal the beginning of a true cross platform 3D audio system. Hopefully it provides more functionality than Microsofts proprietary single platfrom DirectAudio(?) system, otherwise it will be hard
to get companies to switch over.
I don't see the benefit of doing something like that when you can just have standard sound from multiple speakers. Just take one speaker and put in on one side of the room and another and the other then you have sterophonic sound. Largely unless the sounds are intensely more complex your mind will associate the sound comming from different sources and allow for the "3d" effect.
John Carmack should love this, him being a fan of cross-platform APIs and OpenGL etc.
I think that making anything a standard that involves massive cpu computations or involves games in general would be a bad idea. Imagine if the standards for C++ were designed by a group of PC game peddlers I really don't think your would like that very much.
Apples audio libraries probably aren't available for Linux, only Macs and Windows at the moment, and I don't know much about the Mac Sprockets or whatever they are called libraries, but I thought I should mention them so that it
didn't look like I only thought that DirectAudio was the only competitor.
I thought that there were already various libraries and systems to support ear poping sound on linux someting called ALSA or the like but I wouldn't know because my computer never has been able to say a word to me (I think it's mute)
Now to wait the three years for the Amigas Audio system, AHI, to support this
To my understanding this company was about as dead as a coffin nail (according to the Dickens phrase). So why do people persist in talking about them?
Re:Unfortunately (Score:2)
I think that using Loki's API isn't going to make your program less useful or able to compete with say a game produced by Loki. People have games that are compiled for win32 and most likely use Visual C++ does that mean that Microsoft is winning in the game market? Hell no.
Instead Loki president attitude was near to go away and make your own things.
I assume you meant the possesive form of opinion attributed to Loki in that case you would use Loki's but that's for another day. It's really hard to interpret that statement.
I don't see them stopping you from using their API they will not break your fingers.
While everyone is on party of this big announcement, we are forced to choose between:
- Implement yet another 3d sound library
- Follow Loki path, and hope to survive in the shadow of Loki
- "Gold old stereo is enough!!!"
- License a proprietary Windows library like Miles Sound System
I also assume you meant to say Loki's in the second point.
Also what is a Gold stero. Most of mine are usually grey or tan.
You could also use an already existing API for 3d sound if that's your cup of tea and make it better if you can't use it. I most likely don't have the technical expertice to code my own 3d sound API so I would probably use Loki's.
Re:Unfortunately (Score:2)
It could have been fun, if it could have been open to ALL Linux developers. Instead Loki president attitude was near to go away and make your own things.
Fun had nothing to do with it. Loki had a problem so they built a solution. They built an opensolution. Thats a good thing. They built a cross-platform solution. That was better still.
I would have prefered that all Linux developer got to define a standard with everyone, but one established developer prefer to be alone on the spotlight.
Did you read the interview? OpenAL was a stalled project. Loki took it up because no-one tried to get any further with developing it.
Would you be telling ESR that you would have preferred 'that all Linux developer got to define a standard with everyone' for Fetchmail because you didnt like 'one established developer prefer to be alone on the spotlight'
You have an itch, you scratch it. Thats the point.
Show me the bandwidth (Score:2)
If they go the protocol route, will it be an X server extension, or some custom daemon?
I want to have my cake and eat it too- hardware acceleration *and* run over the network. Witness running GL apps over the net to a non-GLX server. Barf, transmitting pixels on the wire.
Unfortunately, the current crop of hardware-accelerated drivers cross-network is fairly difficult to install. It took me a long time get get a TNT, running GLX on Linux. (hint: nVidia's instructions don't work- goto Mesa3d.org and use those). Until this gets resolved, I really can't see any Linux games reaching end-users.
Re:GPL and API's (Score:2)
Seriously though, why couldn't you GPL an API? If you write it, you can liscense it however you want. If you want to open source it, I'd say go for it.
kwsNI
I still dont trust creative (Score:2)
With that in mind, Creative has been good about keeping their EAX for windows fairly open, and they opened their sound drivers for linux, while Aureal still has only partially opened their code. Open code or not, looking at the API specs for OpenAL, its pretty obvious that this is oriented towards the SB Live cards. It looks to implement the same sort of setup as EAX, depending on a reverb engine, as opposed to the wavetracing setup that A3D uses. If you want to hear the difference between the two setups, play Half-Life on a EAX card and then try it on an A3D card. Its a huge difference. The A3D style, is much better IMHO. The positional audio sounds much more realistic. Still A3D 2.0 and higher (1.0 doesn't support wavetracing) isn't open, and no linux equivalent exists. Creative beat them to the punch on this one, and even opened it up. Still, dont be deluded into thinking that they are doing this for the good of the community, it is at least as much to crush aureal, as it is to improve 3d sound in Linux.
Re:This is the second library called OpenAL (Score:3)
m.
This can only be good in the end (Score:3)
Anyway, Open Audio Library will signal the beginning of a true cross platform 3D audio system. Hopefully it provides more functionality than Microsofts proprietary single platfrom DirectAudio(?) system, otherwise it will be hard to get companies to switch over.
John Carmack should love this, him being a fan of cross-platform APIs and OpenGL etc.
Apples audio libraries probably aren't available for Linux, only Macs and Windows at the moment, and I don't know much about the Mac Sprockets or whatever they are called libraries, but I thought I should mention them so that it didn't look like I only thought that DirectAudio was the only competitor.
Now to wait the three years for the Amigas Audio system, AHI, to support this :-)
GPLed (Score:3)
Also, it is quite telling that they whent for LGPL straight away.
It is probably the best way to create a "de facto standard" if you are not one of the big 5 or 6 software powerhouses. It is much better than waiting for a standards body to go through a formal process that would take years.
It would be great if now the OS comunity has enough power to start setting up the first draft for future standards, instead of the big bad gorillas!
Re:This can only be good in the end (Score:3)
This is a good move by Loki and Creative, although Creatives involvement might put off other audio companies from wanting to use it - I bet the API is particularly suited towards Creative chipsets. A 3D Open API at this early stage should be something almost any company should be looking hard at. If at the moment it has features that favour Creative, then it is up to Aureal to get in there, do some spade work and add and help form the API to be more balanced. From the sounds of it, the audio geometry processing that A3D 2.0 does is under consideration by the OpenAL team, so if Aureal sees this as a worthwhile opportunity (and I think they should) they should contribute. Like the argument over open/closed source drivers, these big audio card companies make their money from the hardware - getting widespread acceptance of that hardware by making sure that it is widely usable is essential, and OpenAL can only help in getting these cards working in more environments on more platforms. But it does require the companies to seize the moment and help build the API.
Cheers,
Toby Haynes
Re:There's more to 3D than games... (Score:3)
By the way, nice troll on the "exposing geometry features" bit. That has got to be the easiest troll for OpenGL baiters. It's just so obviously wrong that it sucks people right in. It's a bit like arguing with someone who claims gravity doesn't exist: It just hurts your head...
Then again, the number of people with related in-depth technical knowledge responding to a subject in a slashdot article can probably be counted on one hand :)
All output, no input (Score:3)
Useful input-side tools are mixers, noise reduction, conference bridges with adaptive echo cancellation, and such. Those are tools you need for high-quality voice over IP. Anybody doing that?
Loki raises the bar again (Score:5)
Think about it: How many companies jump onto the Linux bandwagon and just toss out a couple of closed-source programs? How much easier would it be for Loki not to release their stuff?
In short, thanks, Loki.
----
A first look (Score:5)
From the
OpenAL includes several separate sub-libraries:
It looks like the developers have thought carefully about the spec and managed to combine a clean API with lots of flexibility. Environments can be defined in terms of geometry and materials and "listeners" can have position, velocity and orientation, leading to all sorts of cool stuff like doppler effects and sound radiosity. And yes, if you know OpenGL it takes about ten minutes to get your head around OpenAL.
Great job Loki.