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

Inconsistent order of channels #543

Closed
victorallume opened this issue Jul 12, 2024 · 2 comments
Closed

Inconsistent order of channels #543

victorallume opened this issue Jul 12, 2024 · 2 comments

Comments

@victorallume
Copy link

I have a number of 8-channel USB sound devices on a Linux/ALSA system. Each device 4 3.5mm outputs - one for each of Front, Surround, Centre/Bass, Back. I'm using an OutputStream with callback to send data to these devices. The problem is the channel mapping within a device is not consistent, either across devices or across runs of my program, or reboots. So sometimes the first physical output jack (Front) corresponds to the first two channels in my output stream, sometimes it's the 3rd & 4th channels, etc etc.

Any ideas how to make this consistent, or at least be able to read what output a channel is going to so I can map accordingly?

@mgeier
Copy link
Member

mgeier commented Jul 16, 2024

The list of devices is provided by the underlying PortAudio library (which in turn somehow gets it from ALSA), and from the Python side you only get the device name, which might not help in your case.

You should ask about this in the PortAudio mailing list or issue tracker: https://portaudio.com/contacts.html

However, I think this is a known problem and has been discussed many times, and I don't think there is a straightforward solution ... but who knows, you should still ask!

@victorallume
Copy link
Author

I've re-created the issue using alsa, so it seems it's a problem at that level, not at sound-device or portaudio. alsa-project/alsa-lib#402

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