I’m new to GPU programming, and I’m wondering if it’s feasible to use the GPU for processing audio streams real time, especially for spectral analysis and FIR filtering. I’d like to use such techniques in Windows Media Player DSP and visualization plug-ins.
From a throughput perspective (important for real-time) a modern GPU should be able to handle just about any 1D signal processing task you want to throw at it, in real time.
Using a GPU will also insert some amount of latency (as will any processing technique). Latency may also be important for real-time behavior depending on signal synchronization characteristics and over how much of the signal processing pipeline you have control. The latency associated with GPU processing should be manageable for a 1D audio signal for some tasks, even without inserting pipeline delays or synchronization. Other tasks may only be feasible if you can delay/synchronize the audio for the visualization, for example.