A Toolkit for Customizing the ambiX Ambisonics-to- Binaural Renderer 143rd AES Convention Engineering Brief 403 Session EB06 - Spatial Audio October 21st, 2017 Joseph G. Tylka (presenter) and Edgar Y. Choueiri 3D Audio and Applied Acoustics (3D3A) Laboratory Princeton University www.princeton.edu/3D3A 1
Ambisonics-to-Binaural Rendering https://developers.google.com/vr/concepts/spatial-audio SoundField Microphone Convolve ∗ Render as Binaural HOA Signals discrete signals sources HRTFs Xie ( 2013 ), Head-Related Transfer Function and Virtual Auditory http://novaspire.ca/3-dimensional-binaural-audio/ Display , Fig. 2.5. mh acoustics Eigenmike Sennheiser AMBEO VR Mic 2
Outline • Existing tools • Structure of binaural rendering configuration • The S OFA/ A mbiX B inaural Re ndering (SABRE) Toolkit • Decoding ambisonics • HRTF processing • Using the toolkit • Summary 3
Existing Tools Maximum Custom HRTF Tool Author Platform Free Support Order Ambi Noise ✅ ❌ VST 1 Makers Head ✅ ❌ Harpex-X Harpex Ltd. VST 1 Blue Ripple O3A ❌ ❌ VST 3 Decoding VST Sound Max, C++ ✅ ❌ SPAT IRCAM No limit Library JSAmbisonics A. Politis and D. ✅ ✅ JS Library No limit Library Poirier-Quinot ambiX M. ⚠ ✅ VST 7+ Kronlachner Plug-ins https://en.wikipedia.org/wiki/List_of_Ambisonic_software 4
Binaural Rendering Configuration Decoder Matrix HRTFs • Renders HOA to discrete • Spatialize discrete signals to “speakers” signals binaural x 1 ( t ) a 0 ( t ) • Stored as impulse responses with x 2 ( t ) a 1 ( t ) corresponding measurement grid = D · . . . . . . • Various storage formats; x Q ( t ) a N − 1 ( t ) standardized one is SOFA [2] • Generally frequency • May require interpolation to independent decoder’s speaker grid • Requires a known speaker grid • May require equalization for • Various decoder types [4,5,6] playback 5
The S OFA/ A mbiX B inaural Re ndering (SABRE) Toolkit 6
Toolkit Architecture EQ Type Design EQ SOFA HRTFs Filters Interpolation Interpolate Equalize Settings HRTFs HRTFs ambiX Binaural Speaker Grid Decoder Load/Design Decoder Decoder Type Matrix 7
Decoding Ambisonics 8
Decoder Matrix Pseudoinverse decoder • Load an existing decoder • Built-in ambiX presets + Y 0 (ˆ v 1 ) Y 0 (ˆ v 2 ) Y 0 (ˆ v Q ) · · · Y 1 (ˆ v 1 ) Y 1 (ˆ v 2 ) Y 1 (ˆ v Q ) · · · D = . . . ... • Ambisonics Decoder Toolbox . . . . . . (ADT) [4] Y N − 1 (ˆ v 1 ) Y N − 1 (ˆ v 2 ) Y N − 1 (ˆ v Q ) · · · • Design basic decoder • Pseudoinverse [5] Compact decoder • Quadrature [6] � � h L,R h L,R h L,R = ˜ h L,R · I ( N × N ) ( t ) ( t ) Q ( t ) · D · · · 1 2 � �� � � �� � • “Compact” decoder ˜ D ˜ h L,R Effective • Pre-multiply HRTFs with Effective HRTFs decoder decoder matrix matrix 9
HRTF Processing 10
HRTF Interpolation • Nearest neighbor Time domain interpolation • Time domain: 1. 2. • Time-align onsets • Average responses & delays • Reintroduce average delay remove delay • Alternatively, frequency domain • Weighting schemes: interpolate • Linear, natural neighbor, spherical 4. 3. harmonic • Interpolation threshold: • Nearest neighbor if a “close enough” measurement exists introduce delay • Otherwise, use specified method 11
HRTF Equalization Regularization parameter • Equalization type: β β 1 • None, frontal (free-field), diffuse, horizontal • Regularized inverse filter β 0 f f L 1 f L 0 f H 0 f H 1 H ∗ ( f ) Z ( f ) = [9, Eq. (4)] H ∗ ( f ) H ( f ) + β ( f ) β 0 = 10 − 4 , f L 0 = 50 Hz , f H 0 = 21 kHz , β 1 = 10 − 2 , f L 1 = 20 Hz , f H 1 = 22 kHz . 12
Using the Toolkit 13
Running in MATLAB MATLAB code from “examples.m” distributed with the toolkit 1. Initialize the toolkit 2. Specify ambisonics order 3. Specify SOFA file and location Specify output ambiX filename 4. 5. Generate the renderer! Can also specify optional settings — see user manual for details. 14
The ambiX Binaural Plug-in Click “open” to select binaural decoder 15
Summary • Presented a MATLAB toolkit for customizing the ambiX binaural decoder • Converts any SOFA-formatted HRTFs into ambiX rendering configuration • Implemented basic ambisonic decoder functionality; compatible with established ambisonic decoder toolbox • Implemented several methods of HRTF interpolation and equalization • Source code is freely-available on GitHub: https://github.com/PrincetonUniversity/3D3A-SABRE-Toolkit Acknowledgements • Uses ambiX plug-ins: http://www.matthiaskronlachner.com/?p=2015 • Requires SOFA API: https://github.com/sofacoustics/sofa 16
References [1] Kronlachner, M., “Ambisonics plug-in suite for production and performance usage,” in Linux Audio Conference , 2013. [2] AES69-2015, “AES69-2015: AES standard for file exchange - Spatial acoustic data file format,” 2015. [3] Nachbar, C., Zotter, F., Deleflie, E., and Sontacchi, A., “ambiX - A Suggested Ambisonics Format,” in Proceedings of the 3rd Ambisonics Symposium , 2011. [4] Heller, A. J., Benjamin, E. M., and Lee, R., “A Toolkit for the Design of Ambisonic Decoders,” in Linux Audio Conference , 2012. [5] Heller, A., Lee, R., and Benjamin, E., “Is My Decoder Ambisonic?” in Audio Engineering Society Convention 125 , 2008. [6] Duraiswami, R., Zotkin, D. N., Li, Z., Grassi, E., Gumerov, N. A., and Davis, L. S., “High Order Spatial Audio Capture and Its Binaural Head-Tracked Playback Over Headphones with HRTF Cues,” in Audio Engineering Society Convention 119 , 2005. [7] Rafaely, B. and Avni, A., “Interaural cross correlation in a sound field represented by spherical harmonics,” The Journal of the Acoustical Society of America , 127(2), pp. 823–828, 2010. [8] Schärer, Z. and Lindau, A., “Evaluation of Equalization Methods for Binaural Signals,” in Audio Engineering Society Convention 126 , 2009. [9] Farina, A., “Advancements in Impulse Response Measurements by Sine Sweeps,” in Audio Engineering Society Convention 122 , 2007. 17
Recommend
More recommend