CUDA for audio synthesis? transform graphics chip into audio chip

Hi there,

if anyone is looking for interesting things to do with CUDA

I believe CUDA is very well suited to implement a polyphonic and multi-timbral audio synthesizer on a graphics card (a mixture of wavetable synthesizer and FM or physical modeling). This could include effects as well. In essence the entire process of audio synthesis, track effects (e.g. distortion), mixing and post processing effects (e.g. hall and reverb) could be offloaded from the CPU to the GPU.

So the graphics card in essence becomes something like an integrated wavetable synthesizer, like the dated Yamaha SW 1000 XG PCI card. The CPU would only provide some high level control, for example the MIDI processing.

Since the graphics card does not have an audio out (except possibly HDMI audio?) , the CPU also has to grab the resulting PCM samples and feed them to the sound card.

This is certainly feasible, but the challenge is to find enough parallelism to keep all the processors busy. I guess if you want 128 tone generators in parallel this would be easy. Many DSP algorithms are iterative (depend on previous results) and not trivially data parallel. Latency may also be a problem.

There is an interesting article in the ShaderX 6 book that does something along these lines, although using traditional GPGPU techniques: