Audio processing via GPU

H

hsyq8xg

Came across a very interesting subject -- Efficient 3D Audio
Processing on the GPU.

It's available at http://www-sop.inria.fr/reves/projects/GPUAudio/

What interest about it is the ingenuity of the project, in tapping
into the enormous power of the GPU -- even the low-end videocards
based on Radeon HD 2600 GPU has 120 stream processors running in
parallel !!! -- in doing something truly amazing.

According to the article -- in comparing an optimized SSE assembly
code running on a Pentium 4 3GHz processor and an equivalent Cg/OpenGL
implementation running on a nVidia GeForce FX 5950 Ultra graphics
board on AGP 8x, with the following result ....

"The SSE implementation achieves real-time binaural rendering of 700
sound sources, while the GPU renders up to 580 in one time-frame
(about 22.5 ms). Assuming floating-point texture resampling could be
done in hardware, not requiring explicit interpolation in the shader,
the GPU could render up to 1050 sources.

For mono processing, the GPU treats up to 2150 (1 texture fetch) /
1200 (2 texture fetches and linear interpolation) sources, while the
CPU handles 1400 in the same amount of time. On average, the GPU
implementation was about 20% slower than the SSE implementation but
would become 50% faster if floating-point texture resampling was
supported in hardware."

If you read the above quote, please pay attention to the fact that the
GPU was an ancient GeForce FX 5950 Ultra, circa 2003 !!

Imagine what we can achieve with super-duper-ultra-powerful GPUs that
are on our videocards??

And if that's not enough, imagine what we can do if we can tap into
the raw power of the GPUs, with assembly language?? The entire
soundcard industry would crash and burn overnite !!
 
W

Wolfgang Kern

Came across a very interesting subject -- Efficient 3D Audio
Processing on the GPU.
What interest about it is the ingenuity of the project...

Yes, GPUs show a lot of abilities which can be used for many
non 3D-graphic issues as well.
Last thing I heard, it may be capabible for speach to text/command
already, beside FFT or matrix-calculations.

AMD did a real good job on ATI cards here... even I still have some
problems to convert recent published docs into hardware driver
solutions.
Perhaps I need to read it several times (as usual required :)
Nvidea is still an invisible dog within my reach... Any hints ?

__
wolfgang
 
C

cr88192

Came across a very interesting subject -- Efficient 3D Audio
Processing on the GPU.

If you read the above quote, please pay attention to the fact that the
GPU was an ancient GeForce FX 5950 Ultra, circa 2003 !!

Imagine what we can achieve with super-duper-ultra-powerful GPUs that
are on our videocards??

you... know... what...

sound processing is usually a minor enough task (not usually all that CPU
intensive), and usually tweaky enough (most actually CPU-intensive
audio-processing tasks are not those well suited to the GPU pipeline), that
at present there is little practical reason to do most audio processing
tasks on the GPU...


for some narrow commercial or scientific tasks, this could be useful, but
for most general uses, it makes no real difference...

And if that's not enough, imagine what we can do if we can tap into
the raw power of the GPUs, with assembly language?? The entire
soundcard industry would crash and burn overnite !!

you know what...


most soundcards are little more than glorified DACs, ADCs, and the machinery
to get the audio to/from said DACs and ADCs.


the older SoundBlaster cards used DMA to move data to/from the cards
(program the IO ports, handle IRQs, and mess with the DMA controller).

AFAIK nearly all newer soundcards just use some memory-mapped buffer or are
mapped into the address space somewhere, and the card itself plays this
region in a loop, leaving it up to the driver to manage the specifics.

unlike video cards, the soundcard doesn't "do" a whole lot anymore, mostly
just hadling said raw PCM data in its buffers, with nearly everything else
(mixing, midi-playback, ... being done in software, usually by the drivers,
the task of the drivers then is to periodically "paint" the samples to be
played into the buffer, avoiding that annoying looped-sound effect so
evident of a hard-freeze...).


and, in fact, some video cards now include soundcards (for example, the ATI
HD 2400), the reason being to allow sound output through said HDMI cables
(in my front room, for example, this serves to run both audio and video from
the computer to the TV).

presumably, much like the onboard variant, this is just another
address-space mapped buffer.


so, then:
given "most" people I think anymore just use onboard audio anyways;
the DAC's and ADC's (and maybe also amplifier circuits, ...) are still
needed for any sound to come out of the computer;
....

thus, there is really nothing to be overturned...


this is about like saying laptops are going to overthrow the cellphone
industry...
 
R

Rat River Cemetary

Dr.White said:
Good DACs are still expensive to buy new, even in bulk, to
mount on a soundcard or other audio device.

When bought in bulk they are not expensive. I read about five bucks
each, depending on which DAC.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top