Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenAL Soft output for positional 3D spatial/surround sound and effects like EAX/EFX reverb/chorus #265

Open
ThreeDeeJay opened this issue Oct 10, 2023 · 0 comments

Comments

@ThreeDeeJay
Copy link

ThreeDeeJay commented Oct 10, 2023

Is your feature request related to a problem? Please describe.
Not really. Just a very nice to have, now that spatial music (Dolby Atmos, Sony 360 Reality Audio) has been taking off lately.

Describe the solution you'd like
Using OpenAL Soft (a free, open-source, hardware-agnostic fork of the original OpenAL 3D audio API) to stream every instrument (or even note if resources allow) separately as sound emitters with their own 3D coordinates (maybe reusing note pan as X axis, pitch bend as Y axis and note velocity as distance so OpenAL Soft applies realistic attenuation instead of using volume) could allow headphone 3D audio (or surround sound for speakers) playback of MIDI files.
There's also EAX, a beloved parameter/preset-based, realistic reverb effect that was used in early 2000s PC games/apps as well as EFX (successor), chorus and other effects.

Describe alternatives you've considered

Additional context
I'm very familiar with using OpenAL Soft in applications and games, and 3D audio in general, though I'm not an experienced programmer.
If you're interested, this seems like the best place to start: https://github.com/kcat/openal-soft/wiki/Programmer%27s-Guide
And if you have more technical issues with implementation, kcat can help you out if you open a new issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant