Daniil Petrov
P.S. И напоследок в двух словах не подскажешь, что за утилита makehrtf.exe и что такое hrtf вообще?
HRTF это способ передачи объёмного (с 3D позиционированием) звука в стереосистему (наушники, а не 5.1/7.1 колонки),
основанная на особенностях человеческого уха и их расположения. При этом HRTF не выполняет сложной симуляции модели головы в реальном времени - вместо этого, она заполняется некоторыми табличными значениями, которые позволяют получить качественное звучание без очень мощного компьютера:
https://en.wikipedia.org/wiki/Head-related_transfer_function
Теоретически, каждая голова уникальная, поэтому табличные данные необходимо заполнять индивидуально исходя из реальных условий прослушивания; кроме того, для OpenAL такая таблица нужна для каждого аудио формата - для создания такой таблицы может использоваться makehrtf.exe. В прочем, в нормальной поставке OpenAL soft уже идут парочка сгенерированных таблиц, поэтому задействовать HRTF можно и без изучения утилиты makehrtf.exe.
В некотором смысле, HRTF пересекается с другой технологией - Ambisonic audio, которая позволяет гораздо качественнее и точнее записать полноценный 3D звук (включая положение по вертикали) в отличии от традиционных схем 5.1/7.1 (когда виртуальные колонки расположены по горизонтальному кругу вокруг слушателя). Но это если речь идёт о записанных роликах (для VR HMD, где можно вертеть головой как угодно, и качество объёмного звука играет существенную роль).
gkv311
> Вообще не совсем очевидно для чего использовать несколько потоков в OpenAL
Чтобы сделать параллельную загрузку-удаление звуков, как и моделей с текстурами, добавлять-удалять эффекты к ним при обработке звуковых зон.
> В прочем, в нормальной поставке OpenAL soft уже идут парочка сгенерированных таблиц, поэтому задействовать HRTF можно и без изучения утилиты makehrtf.exe.
А есть где-нибудь такой пример посмотреть? И хватит ли этих файлов для игрового движка? Самому возиться с ними не резон - не профессионал этого дела :)
P.S.Кстати, у меня в пресетах OAL идут файлы *.ambdec
Daniil Petrov
В прочем, в нормальной поставке OpenAL soft уже идут парочка сгенерированных таблиц, поэтому задействовать HRTF можно и без изучения утилиты makehrtf.exe.
А есть где-нибудь такой пример посмотреть? И хватит ли этих файлов для игрового движка? Самому возиться с ними не резон - не профессионал этого дела :)
Это файлы конфигурации самого OpenAL soft - приложению НЕ нужно их загружать, достаточно просто их установить с игрой в нужном месте (default-44100.mhr, default-48000.mhr), чтобы OpenAL soft смог их найти (а продвинутый пользователь, при желании, может их подменить). Само включение HRTF тоже настраивается пользователем через файлы конфигурации OpenAL soft (жаль только, что нет никакой графической тулы для этого).
Но есть расширение ALC_SOFT_HRTF, которое позволит пользователю включать/выключать HRTF непосредственно из игры:
http://kcat.strangesoft.net/openal-extensions/SOFT_HRTF.txt
gkv311
> достаточно просто их установить с игрой в нужном месте
Т.е. положить в папку с бинарниками и всё? Для 44-кГц звуков использовать default-44100.mhr?
gkv311
> жаль только, что нет никакой графической тулы для этого
Есть. Погляди их архив с бинарниками. Qt тулза. Там много настроек
Тема в архиве.