Как настроить функцию передачи, связанную с головой (HRTF) в OpenAL или Core Audio? - PullRequest
7 голосов
/ 24 января 2012

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

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

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

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

Ответы [ 3 ]

8 голосов
/ 26 января 2012

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

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

0 голосов
/ 28 января 2017

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

0 голосов
/ 14 февраля 2014

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

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

Согласно readme в исходном коде OpenALSoft он использует сверточный фильтр из 32 образцов, и вы можете создавать его, используя собственные образцы HRTF.

...