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

sound object passthrough (spatial audio) for pipewire #1091

Open
rhjdvsgsgks opened this issue Dec 29, 2024 · 2 comments
Open

sound object passthrough (spatial audio) for pipewire #1091

rhjdvsgsgks opened this issue Dec 29, 2024 · 2 comments

Comments

@rhjdvsgsgks
Copy link

hi

pipewire are drafting a api to allow sound object creation by application. could you please provide some comment for them? many thanks

https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3035

@rhjdvsgsgks rhjdvsgsgks changed the title sound object passthrough for pipewire sound object passthrough (spatial audio) for pipewire Dec 29, 2024
@rhjdvsgsgks
Copy link
Author

may related #586

@kcat
Copy link
Owner

kcat commented Dec 29, 2024

As far as OpenAL Soft goes, I don't expect to fully support spatial audio systems, beyond using them for a static virtual channel bed (e.g. have OpenAL Soft output a 7.1(.4(.4)) mix, or B-Format if it supports that, and leave it to play that on the user's speaker setup). Having individual sources output as dynamic objects instead of being mixed together would be difficult since OpenAL Soft is designed as a highly portable software mixer. It wouldn't be impossible, presuming I knew how to output to such a system, but the library isn't designed for doing that and would introduce limitations it didn't have to worry about before.

More generally, I'm not too sure how much I can help their API design, since I don't really know how object-based audio systems (Atmos, etc) work. The only experience I have is playing around with the WASAPI Spatial Audio API (to output a static virtual channel bed), and implementing a simple player for the LAF file format, which while that may offer some insight, doesn't really say what kind of design is needed.

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

2 participants