home   |   about   |   contact us   
    news    |     Audigy™    |    features    |    musician    |    tech/info    |    drivers    |   download   |   wishlist   |   polls   |   links    
 
 
features

EAX - The API Of Choice

EAX 2.0 is still not a complete Audio API, as it doesn't position sound. Will Creative come up with it's own feature complete set of audio API to compete with A3D2.0?

No. DirectSound 3D, in our opinion, is the proper place for the positional API. To duplicate this functionality in our own API would be a move backwards in terms of standardization, with no benefit. While the DS3D API is not perfect (see Q5 in 3D Audio, above), we prefer to work with Microsoft on improvements rather than dilute the standard. Nevertheless, we believe that DS3D plus EAX2.0 is a superset of A3D2.0.


Due to the fact that EAX is an open API, it is able to rapidly gain support in the industry. But this give cards like the MX300 an advantage while the SB Live! is at a disadvantage since it can't support proprietary APIs like the A3D 2.0. Do you think Creative has made a wrong move in this issue? Will future versions of EAX continue to be open?

I think Creative’s opening of the EAX API, and our work to make it available as an industry standard, were without question the right moves. While we appear at a disadvantage since we can’t reciprocally support A3D2.0, in reality the disadvantage is with Aureal because they can’t promise developers support for A3D in the majority of platforms.

The strategy of open vs. proprietary API’s is very difficult to predict. As you may remember, the Sound Blaster proprietary standard served Creative very well, so everybody knows we are quite happy to reap the benefit of a proprietary standard when we can. I expect that we will "surf" the wave of acceptance of EAX, keeping certain features proprietary for as long as we can, but ultimately opening them up to keep the momentum of the wave increasing.

Aureal has stated they will be supporting EAX. We're flattered, but thus far there's been no sign of them delivering on this promise. Keep in mind we would require them to provide samples for compatibility testing, and would expect them to comply with the necessary disclaimer requirements to recognize our technology, so I think it's unlikely we'll see EAX support from Aureal anytime soon.


Strictly speaking, EAX 2.0 is not a real time geometry based API. If that's the case, how does it achieve occlusion and obstruction in a dynamic gaming environment?

There are calls to the API, which are made to achieve these effects. The SDK we provide to the developers help them use these effects in a natural and simple way. The audible effects are straightforward to make interactive and dynamic. We believe that our role, as the provider of the Environmental Audio API, is to provide carefully designed knobs for manipulating the sound directly (not through the description of the geometry). The rest — that is, detecting obstacles between the source and the listener or determining whether they are in the same room — is handled more efficiently and more consistently by the game geometry engine itself. The developers seem to be in agreement with us.


There're complaints that the activation between different EAX settings in games are too sudden, giving them an unnatural feel. Will there be an improvement in this area?

This was one of my own biggest complaints in the early EAX games. This issue is addressed in the upcoming driver enhancements. Additionally, developers are becoming more skilled in working with the EAX API, and are starting to use some of the more advanced parameters to control the transitions between environments. With EAX 2.0 and its successors, these possibilities will be extended by the additional environmental parameters exposed in the API.


Does EAX 2.0 have any other new features than the occlusion calls?

In addition to the occlusion and obstruction properties (which are designed to simulate the effects of obstacles or room partitions standing between the source and the listener), EAX 2.0 contains several nifty enhancements. These include a more extensive control of room reverberation and reflection parameters (including room size), and an improved model for rendering distance effects.


In a game using EAX the reverb is only affected by the environment within which the listener is located, not the sound source. Do you have any plans to change that in future releases?

Actually, in EAX 1.0, the distance from the source to the listener is used to automatically adjust the intensity of the reverberation for each individual sound source. Without that, the reproduction would not be convincing for the more distant sounds. In EAX 2.0, there is a more sophisticated distance model, which also adjusts parameters of the initial reflections for each individual source. In the future, initial reflection parameters of each individual source will be more completely exposed to the programmer.


The following are extracted from a press release dated 17/11/97 - Creative Introduces the EMU10K1.

The EMU10K1 can provide very sophisticated real-time audio rendering technology analogous to the "ray-tracing" capabilities of professional 3D graphics engines."…

The EMU10K1 utilizes the unique E2M technology to break down a room, area, or environment into its mathematical representations of size, shape and acoustical properties. It goes further to break down the room or area and maps X, Y, and Z coordinates to objects. It then combines the acoustical properties and coordinates and applies a series of digital algorithms called environmental filters to any incoming audio streams in real-time, thereby rendering accurate representations of real-world environments with different sounds and effects.


Can you clarify the mentioned "ray-tracing capabilities" and the way is which E2M is utilized? These two technologies do not seem to be included in EAX 1.0 now.

When that release was written, we were still evaluating different algorithms for our environmental audio support. The "ray tracing" analogy was the best way to describe the results we intended to achieve, but ultimately aren’t a very accurate description of how we go about it. Similarly, we’ve recognized that it is not the role of the Environmental Audio API to handle the geometry of the virtual world. Offering only a geometry based model of the environment creates unnecessary obstacles for sound designers. In EAX, we have chosen the approach of exposing reflection and reverberation parameters under a form that is relevant to the sound designer, but still makes it possible to handle them via the game geometry engine.

Given you’ve opened the subject, let me rant and rave a bit. Aureal promotes their "wave-tracing" technology with a similar analogy to graphics ray tracing. The problem is that, unlike light, sound waves don’t behave like rays. This is obvious: if you hold you hand between your eye and a light source, the light is blocked, while if you hold your hand between your ear and a sound source, you still hear most of the direct (as well as reflected) sound. Light waves are much smaller than natural objects, and vary over a two to one range, while sound waves vary from inches to yards over a one thousand to one range. While it’s true that acousticians use some ray tracing techniques, particularly when the dimensions of a concert hall element are much larger than most sound wavelengths, the principle is not generally valid. Instead, to get the true sound propagation for an arbitrary space, you must solve a wave equation from the boundary conditions. While that’s not even close to practical with today’s processors, fortunately the human ear can only perceive a small part of that physical complexity. The problem with simplistic implementations of the ray tracing analogy is that they fail completely to produce the late reverberation decay, instead creating noticeable artifacts that do more harm than good in the resulting output!

We believe strongly that the proper approach to environmental modeling for interactive audio entertainment requires two levels. At the base must be a complete and carefully designed layer of environmental sound parameters which can address the needs of any application. On top of this are tools which enable game geometry engines to track occlusion and reflections, so these phenomena can be interactively rendered via the sound design parameters (for the sub-class of first-person games which can benefit from this approach). This gives the best of both worlds - a general, friendly sound design interface that applies to all applications, and the benefits of dynamic tracking for occlusions and reflections in a way that doesn’t preclude full control over the final audio product.


EAX has come under frequent Aureal bashing as being just plain old "canned" reverb and "non-interactive". Do you have any comments on that?

This seems to be one of Aureal’s most common criticisms of our EAX implementations. Given that top quality studio reverb units can cost tens of thousands of dollars, I’m also not quite sure what "plain old canned reverb" means either. I think the best response is simply to ask people to listen to EAX implementations and see if they find the environments interesting and compelling. In general, I do. I must say that while the degree of interactivity in the room models was fairly modest in EAX 1.0, this is improving dramatically with each release.

 

 
recent stuff

Audigy 2
Information on Creative's latest sound card!

The Audigy Forum is open!

Extigy Review

Audigy Review

Contribute information & news

Talk in the ALive! Forum

Our Sponsor:



 
   Back To Top  
h t t p : // a l i v e . s i n g n e t . c o m . s g
Copyright © 1998-2003 ALive! and its writers.