2021-01-09 10:49

OpenAL Soft Backend?

I read on the Mumble wiki about HRTF and I wonder if the implementation of an OpenAL Soft backend has ever been considered. OpenAL Soft can process HRTF calculations internally. It's fairly easy to achieve HRTF processing with OAL Soft, all you need is an HRTF data set (OAL Soft ships with a default one), set the listener's Position, At and Up vector correctly (Mumble already has this data through Mumble Link), place the player voices correctly (Mumble receives that data from other clients) and turn HRTF processing on.

Benefits of OpenAL Soft: - FOSS (LGPLv2) - Cross platform (both in terms of OS and CPU architecture) - internal calculation of HRTF - can be requested by app or enforced by user for all OpenAL apps - calculation is optimized: intrinsics for NEON, SSE and AVX instruction sets - over 50 compatible HRTF data sets to find one which matches your head shape best - internal calculation of Doppler Effect (if desired) - OpenAL EFX to simulate reverbation of environment (if desired) - example video: https://www.youtube.com/watch?v=30fTc5t5QNU&fmt=18 (EFX is the successor of EAX)

Links: Official site of OpenAL Soft: http://kcat.strangesoft.net/openal.html OpenAL Soft repo on GitHub: https://github.com/kcat/openal-soft Demonstration video of OpenAL Soft HRTF: https://www.youtube.com/watch?v=UtFatWeEvGY


  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • weixin_39631017 weixin_39631017 4月前

    Does barnard have support for the positional audio feature?

    点赞 评论 复制链接分享
  • weixin_39676633 weixin_39676633 4月前

    Any progress on this

    点赞 评论 复制链接分享
  • weixin_39789979 weixin_39789979 4月前

    I agree, an optional OpenAL Soft backend would be really nice here for Mumble Link supported games in order to take advantage of the built-in HRTF processing.

    点赞 评论 复制链接分享
  • weixin_39528697 weixin_39528697 4月前

    I used OpenAL when I made my terminal Mumble client, and it worked great.

    From the OpenAL soft project page:

    ALSA, OSS, DirectSound, PulseAudio, MMDevAPI, CoreAudio, Solaris, QSA, SoundIO, OpenSL, WinMM, PortAudio, "Null" Output, and a .wav writer are currently implemented.

    Were you thinking that OpenAL replace all of Mumble's current audio systems, or just have it as an additional one? It seems like it could replace everything, but someone who knows the audio system better could probably tell me why this is a bad idea.

    点赞 评论 复制链接分享
  • weixin_39631017 weixin_39631017 4月前

    Very nice, I'll check it out. For now I only propose to use OpenAL Soft as an additional backend not replacing the existing ones. I'm unfamiliar with how OpenAL handles input capturing and low level technical details so I can't say if it's suited to replace the existing backends or not.

    点赞 评论 复制链接分享
  • weixin_39922749 weixin_39922749 4月前

    In general, we are never opposed to new audio backends, as long as there is someone to maintain them.

    We already have problems in this regard with PulseAudio/ALSA.

    点赞 评论 复制链接分享