Как настроить передаточную функцию головы (HRTF) в OpenAL или Core Audio?

OpenAL использует алгоритмы HRTF для имитации объемного звука в стереонаушниках. Однако существует важная зависимость между HRTF и формой головы и ушей пользователя.

Упрощенно это означает: если ваша голова/уши слишком сильно отличаются от стандартной функции HRTF, которую они реализовали, эффект объемного звучания исчезает в сторону скучного стерео.

Я еще не нашел способ настроить различные факторы, влияющие на алгоритм HRTF, такие как диаметр головы, размер ушной раковины/внешнего уха, расстояние от уха до уха, длину носа и другие важные свойства, влияющие на HRTF.

Есть ли какой-либо известный способ установки этих параметров для наилучшего объемного звучания?


person Proud Member    schedule 23.01.2012    source источник


Ответы (3)


Я не верю, что вы можете изменить HRTF в OpenAL. Вы, конечно, не могли бы сделать это, вводя параметрические значения, такие как размер носа или ушной раковины. Единственный способ узнать свой HRTF — это вставить в уши очень маленькие, очень точные микрофоны, войти в безэховую камеру и измерить частотную характеристику под каждым углом вокруг головы. Очевидно, что это долго, дорого и непрактично. Было бы здорово иметь возможность рассчитать HRTF по измерению вашей головы, но, к сожалению, акустика не так детерминирована, и ваше ухо очень чувствительно к неточностям, как вы указали. Я думаю, что OpenAL HRTF основан на некоторых измерениях головы манекена KEMAR (возможно, этих? ).

Итак, я думаю, что короткий ответ заключается в том, что вы не можете изменить HRTF для OpenAL. Поскольку HRTF — такая сложная функция, к которой так чувствительно ваше ухо, нет точного способа аппроксимировать ее параметрическими значениями.

person Redeye    schedule 26.01.2012
comment
Значит ли это, что только часть всех пользователей может слышать настоящий объемный звук из OpenAL при использовании наушников? - person Proud Member; 26.01.2012
comment
Ну, если вы на самом деле не пластиковый манекен головы KEMAR, пространственное изображение с использованием его HRTF не будет идеальным. Тем не менее, использование немного неточного HRTF — это значительное улучшение по сравнению с тем, чтобы вообще не использовать его. Не забывайте, что на это влияет и множество других факторов — насколько плоская частотная характеристика ваших наушников (не очень, даже хороших), природа исходного аудиоматериала и т. д. Так что никто на самом деле не услышит настоящий объемный звук. OpenAL с помощью наушников, но это не обязательно важно — считайте это эффектом объемного звучания, а не инструментом точного пространственного определения. - person Redeye; 26.01.2012

Возможно, вы сможете устроить «конфигурационную игру» из оптимизации HRTF. Я искал ответ на вопрос, позволяют ли какие-либо виртуальные гарнитуры объемного звучания или звуковые карты настраивать их в соответствии с вашим личным HRTF.

Идея: вы меняете различные переменные HRTF и воспроизводите звук. Пользователь должен закрыть глаза и переместить мышь в том направлении, откуда, по его мнению, исходит звук. Вы измеряете, насколько он был прав. Вы можете использовать что-то вроде сплайна тонкой пластины или подгонки статистической кривой для построения результатов точности и выборки различных областей многомерного пространства HRTF для оптимизации решения. Это был бы своего рода метод «грубой силы» для поиска решения, которое не обязательно точное, но настолько хорошее, насколько у пользователя есть терпение для оптимизации своего личного HRTF.

Согласно readme в исходном коде OpenALSoft, он использует Фильтр свертки с 32 сэмплами, и вы можете создать его с помощью пользовательских сэмплов HRTF.

person Dejay    schedule 14.02.2014

Похоже, теперь это возможно. Я наткнулся на этот комментарий, в котором описывается, как использовать hrtf_tables для приближения собственных ушей. Google также показывает мне результаты для чего-то, что называется hrtf-paths, но я не уверен, что это такое.

person Chip Thien    schedule 28.01.2017