Headphone-based Spatial Sound with a GPU Accelerator

Multichannel acoustic signal processing has undergone major development in recent years. The incorporation of spatial information into an immersive audiovisual virtual environment or into video games provides better sense of “presence” to applications. Spatial sound consists in reproducing audio signals with spatial cues (spatial information embedded in the sound) through headphones. This spatial information allows the listener to identify the virtual positions of the sources corresponding to different sounds. Headphone-based spatial sound is obtained by filtering different sound sources through special filters called Head Related Transfer Functions (HRTFs) prior to render them through headphones. Efficient computation plays an important role when the number of sources to be managed is high. This situation increases the number of filtering operations, requiring high computing capacity specially when the virtual sources are moving. Graphics Processing Units (GPUs) are high parallel programmable co-processors that provide massive computation when the needed operations are properly parallelized. This paper discusses the design, the implementation and the performance of a headphone-based spatial audio application whose processing is totally carried out on a GPU. This application is able to interact with the listener who can select and change the location of the sound sources in real-time. This work analyzes also specific computational aspects inside the CUDA environment in order to successfully exploit GPU resources. Results show that the proposed application is able to move up to 2500 sources simultaneously, while leaving free CPU resources for other tasks. This work emphasizes the importance of analyzing all CUDA aspects, since they can influence drastically the performance.

[1]  Stefan Bilbao,et al.  Computing room acoustics with CUDA - 3D FDTD schemes with boundary losses and viscosity , 2011, 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[2]  Kevin Skadron,et al.  A performance study of general-purpose applications on graphics processors using CUDA , 2008, J. Parallel Distributed Comput..

[3]  Sascha Spors,et al.  Efficient range extrapolation of head-related impulse responses by wave field synthesis techniques , 2011, 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

[4]  Maic Masuch,et al.  RAY ACOUSTICS USING COMPUTER GRAPHICS TECHNOLOGY , 2007 .

[5]  Yuvi Kahana,et al.  Numerical modelling of the spatial acoustic response of the human pinna , 2006 .

[6]  Krzysztof Marasek,et al.  Computation of Room Acoustics using Programmable Video Hardware , 2004, ICCVG.

[7]  Tomoya Sakai,et al.  Multi-level Optimization of Matrix Multiplication for GPU-equipped Systems , 2011, ICCS.

[8]  Yu. Yu. Kloss,et al.  Solving Boltzmann equation on GPU , 2010, ICCS.

[9]  Jose A. Belloch,et al.  Real-time massive convolution for audio applications on GPU , 2011, The Journal of Supercomputing.

[10]  A. Willsky,et al.  Signals and Systems , 2004 .

[11]  V. Ralph Algazi,et al.  Headphone-Based Spatial Sound , 2011, IEEE Signal Processing Magazine.

[12]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[13]  Bill Kapralos,et al.  GPU-Based One-Dimensional Convolution for Real-Time Spatial Sound Generation , 2009 .

[14]  Bill Kapralos,et al.  Spatial sound for video games and virtual environments utilizing real-time GPU-based convolution , 2008, Future Play.

[15]  Shoji Shimada,et al.  A study on switching of the transfer functions focusing on sound quality , 2005 .

[16]  Manuel Ujaldon,et al.  Parallel 3D fast wavelet transform on manycore GPUs and multicore CPUs , 2010, ICCS.

[17]  Stefan Bilbao,et al.  Virtual Room Acoustics: A Comparison of Techniques for Computing 3D-FDTD Schemes Using CUDA , 2011 .

[18]  Emil L. Torick Highlights in the History of Multichannel Sound , 1998 .