Nvidia Takes on Amd TruAudio

I'm every bit as sceptical as with True Audio, albeit I'd welcome more immersive audio, but I don't see many GPU cycles being free to spare.
Yeah agreed.
It would be great to have true immersive audio, but surely the cycle cost would be high, although I guess they could do it lite in same way Physx could be done heavily or crudely.
Cheers
 
I've wondered if Trueaudio was actually a power saving tech that they just tried to also market to gaming.

Nobody seems to notice but Intel has something called Smart Sound Technology in its Atom and newer Core chips. The audio device shows up as Intel SST Audio.
 
Last edited:
I've wondered if Trueaudio was actually a power saving tech that they just tried to also market to gaming.
Currently, gaming is its primary use case.
It seems more important in that it is an SoC partition that can be customized by partners. The most successful examples of hardware supporting TrueAudio-type hardware that is actually used are the consoles. It was claimed that TrueAudio is used more in that space, but I am still fuzzy on what kind of penetration it has in the PC space.
Nvidia's solution might not have the hardware basis, but it puts in place more of the software that puts it to use that AMD left to others.

It probably matters more for the consoles due to their more limited platforms. The computational needs for what AMD was marketing are a rounding error for a decent CPU, and at least for the early PS4 the latency picture for the DSP block was worse than it was for the CPU.

TrueAudio should be better latency-wise than the GPU proper, and I would have thought VR would be an opportunity to tout it again. Maybe I've missed that particular discussion.
 
Leveraging NVIDIA’s OptiX ray tracing engine, VRWorks Audio traces the path of sound in an environment in real-time, delivering physical audio that fully reflects the size, shape, and material properties of the virtual world. Learn More at https://developer.nvidia.com/vrworks


Am I the only one thinking this demo was pretty underwhelming? All they showed was wall reverb, occlusion and sound positioning.
15 year-old EAX 3.0 says hi.
 
Demoing Audio is hard. And trying to show the benefit of actually correctly processed audio is even harder. Reverbs and stuff are mostly predefined and varied within limits. Simulated audio (also in True Audio) is much harder to do and much harder to evaluate.

Personally, I would love to see this in VR in conjunction with a physically based renderer, where every material not only has it's visual but also acoustical properties encoded.
 
Yeah really needs VR gear with tracking to make it immersive, assuming the sound-ambience-reverb-echo-etc could adjust in the demo (would like to think so).
Cheers
 
Demoing Audio is hard. And trying to show the benefit of actually correctly processed audio is even harder. Reverbs and stuff are mostly predefined and varied within limits. Simulated audio (also in True Audio) is much harder to do and much harder to evaluate.

Hum?


Demoing audio requires a pair of headphones..
 
Yeah, that certainly is enough for positional audio and youtube compression really helps you appreciating the difference between correctly calculated acoustics and some cheapo reverb filter from the nineties.
 
Theif 2 with EAX 2.0
USE HEADPHONES
(with postprocessing effects like CMSS-3D disabled)
 
Last edited:
About the nvidia video,
that audio processing must be massively intensive, they cant even maintain a constant 60fps
on a level that (minus audio) looks like it could be done in quake 3 at a constant 999 fps (thats what the built in fps conter maxes out at)
or am I missing some great rendering technique thats being used ?
 
Yes, the cost for accurate raytracing of soundwaves is huge. Not so much because the final mixing or the effects applied to each channel would be expensive, even old EAX hardware could handle that with ease.

But because you need to raytrace with multiple bounces on diffuse textures over the entire(!) scene to determine the predominant reverb sources. That's like raytracing a scene with a lot of almost totally reflecting objects, it's pretty much the worst case for any ray / path tracer.

I actually wouldn't compare this to EAX x.0, but rather against A3D 2.0 / 3.0, which did actually perform just this, wavetracing, before. EAX is just for hardware mixing for effects specified by the game engine, A3D did accept a level geometry, albeit only a simplified one, and raytraced the sound sources in that.

If Nvidia did actually raytrace it accurately based on a normal mapped scene with diffuse reflections, using the same geometry as the graphics portion, for both ears independently, then it's not much of a surprise that it performed so badly. And I don't think this is the way to go yet, not unless the cost of raytracing for the sound perception is at least offset by reusing the results for other parts of the render path as well. And even then not by using the full scene geometry, but still only a good approximation.
 
About the nvidia video,
that audio processing must be massively intensive, they cant even maintain a constant 60fps
on a level that (minus audio) looks like it could be done in quake 3 at a constant 999 fps (thats what the built in fps conter maxes out at)
or am I missing some great rendering technique thats being used ?

They probably forgot to enable async compute.
/s
 
Ray tracing audio seems hard - the speed of sound is really low in comparison to light, so I guess you have to deal with doppler shifts due to moving sources but potentially also reflectors? And I imagine that diffraction / interference are important effects - how are those even modeled with a ray tracer?
 
Here's something that always gets my gears grinding on this topic (but I never figure anything out, since I'm totally crap at higher level maths and don't know anything about this stuff): sound isn't rays; sounds are waves. Sound waves have area (and I suppose, volume), not just a vector. How do you deal with that on an algorithm level...?
 
In physics, light is a wave as well. At a more macroscopic level, light's speed and behaviors can allow for approximations (or omission) for things like doppler shift and fine levels of interference at scales that human beings can intuit or have evolved mechanisms to evaluate--usually.
A lot of the physically-based rendering, energy-conserving algorithms, and light/reflection/shadow rendering do perform approximations and transformations that reflect the fact that light in the real world isn't a 1-dimensional affair.

I am curious how much more can be hand-waved for sound, since human beings do not rely on echolocation and hearing is generally easier to fool at lower computational cost. Phenomena like Doppler shift, complex interference, and even the speed of sound seem to be grasped less intuitively than occlusion and attenuation over distance are. Getting some of the behaviors of sound right can sometimes seem less real than applying localized assumptions to it.
 
Last edited:
In physics, light is a wave as well.
Yes, but it's still individual quantas of energy, photons. (And I wasn't concerned with light anyway, but rather sound...:p) Sound is fundamentally not a particle/ray, so how is it described via raycasting? Shooting shitloads of rays, sawed-off shotgun-blast style?
 
Sound is fundamentally not a particle/ray, so how is it described via raycasting? Shooting shitloads of rays, sawed-off shotgun-blast style?
Yes and no. Technically, a wave is just a growing sphere sweeping an area of limited size, whereby the intensity of the wave at each angle can be described by a spline with support points on the spheres surface.

You can use the limited travel distance, to subdivide the scene into voxels first. You then only need to sample each sweep for each frame against the adjacent voxels geometry. If you hit geometry, you have to dispatch new waves from the geometry, based on the interpolated density of the wave at the hit point. The virtual center of the wave is mirrored upon reflection. If a wave leaves the voxel on one edge, you clone it into the new voxel with the same center. The center doesn't need to be in the same voxel, it's just for getting the curvature right.

Actually using spheres, not rays, saves you a lot already. But this would still lead to an explosion in the number of traced wavefronts. The actual problem is interference. If interference would be ignored, you could just accumulate multiple waves with far off centers into single waves again, greatly simplifying the simulation, by performing a merge pass, approximating the joint wavefront as soon as the center points are far enough away from the current voxel (but close enough together).

So I wonder if Nvidia does actually compute interference patterns, or not...
 
Back
Top