Realtime Audio Dsp On Gpu Based Graphics Cards

interesting read found in the kvr-vst forums…

A Method to process real-time digital audio using graphical processing unit (GPU) of video hardware is announced. The official site is not up yet, and information about the upcoming beta and products will be released soon at

This is a public announcement of the technical processing that is employed:

The audio processing software generates digital audio effects including reverberation, impulse response convolution, flange, chorus, delay, echo, pitch-shifting, and harmonizing by (1) transforming audio streams into audio samples, (2) transforming audio samples into video data elements, (3) combining video data elements into video data structures, (4) sending video data structures to 3D video cards, (5) executing audio algorithms as video processing instructions in pixel or fragment shaders on incoming video data structures, (6) storing results of the processed pixels as textures in video memory when multiple iterations are performed (or in the case of a single pass sending results to the buffer), (7) retrieving textures from the video memory when multiple iterations are performed, (Cool sending final shaded pixels to an off-screen video buffer, (9) retrieving the shaded pixels in the audio software or plug-in module, (10) decoding and translating the processed or shaded pixels into audio samples, (11) combining sequences of audio samples back into recognizable audio streams which possess the characteristics of the aforementioned audio effects.

Different manufacturers of video hardware produce video cards with varying amounts of memory, bandwidth through the video pipeline, processing speeds, and other capabilities to process and generate 2D and 3D video. These factors are taken into consideration by using known and gathered information about the video card to select or determine: 1) which pipeline to employ, 2) the numeric data type to use for video data, 3) the one, two, or three dimensional video data structure, 4) which version of a pixel shading application to load on the video card, 5) the sequence of steps to retrieve and decode processed pixels. The artificial intelligence applied in this adaptive selection of components, pathways, data types, and data structures exhibits decision making to select the most efficient path and process for the desired effect, while factoring the size of the audio samples with the characteristics and capability of the video card.

More information will be available at soon.

James M. Cann
Cambridge, MA.