Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to adjust the Head-related transfer function (HRTF) in OpenAL or Core Audio?

OpenAL makes use of HRTF algorithms to fake surround sound with stereo headphones. However, there is an important dependency between HRTF and the shape of the users head and ears.

Simplified, this means: If your head / ears differ too much from the standard HRTF function they have implemented, the surround sound effect fades towards boring stereo.

I haven't yet found a way to adjust the various factors contributing to the HRTF algorithm, such as head diameter, pinna / external ear size, ear-to-ear distance, nose length and other important properties influencing the HRTF.

Is there any known way of setting these parameters for best surround sound experience?

like image 289
Proud Member Avatar asked Jan 23 '12 22:01

Proud Member


People also ask

What is the practical use of Head Related Transfer Function HRTF in the audio industry?

Abstract: A head-related transfer function (HRTF) describes an acoustic transfer function between a point sound source in the free-field and a defined position in the listener's ear canal, and plays an essential role in creating immersive virtual acoustic environments (VAEs) reproduced over headphones or loudspeakers.

What is Head Related Transfer Function?

a function that describes the spectral characteristics of sound measured at the tympanic membrane when the source of the sound is in three-dimensional space. It is used to simulate externally presented sounds when the sounds are introduced through headphones.

What does HRTF mean in audio?

Jun 19, 2019. HRTF is an acronym that stands for Head Related Transfer Function. HRTF is a phenomenon that describes how an ear receives sound from a sound source. When a sound is made, it travels through space in every direction in a sound wave.


1 Answers

I don't believe you can alter the HRTF in OpenAL. You certainly couldn't do it by putting in parametric values such as nose or pinna size. The only way to find out your HRTF is to put some very tiny, very accurate microphones in your ears, go into an anechoic chamber and take frequency response measurements at every angle around your head. Obviously this is time consuming, expensive and impractical. It would be fantastic to be able to work out your HRTF from measuring your head, but unfortunately acoustics isn't that deterministic and your ear is very sensitive to inaccuracies as you pointed out. I think the OpenAL HRTF is based on some KEMAR dummy head measurements (these perhaps?).

So, I think the short answer is that you can't alter the HRTF for OpenAL. Because HRTF is such a complex function that your ear is so sensitive to, there's no accurate way to approximate it with parametric values.

like image 63
Redeye Avatar answered Sep 30 '22 20:09

Redeye