-
Notifications
You must be signed in to change notification settings - Fork 178
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 on C-Media 7.1 channel device #402
Comments
I've been able to re-create this using |
Further to the previous comment with the wav file - it shows the inconsistent mapping when I Ctrl-C the playback and re-start it. However, when I let the file play out, and start it again, the mapping seems to be the same every time (I've repeated this about 10 times and it's worked consistently every time). Similarly, in the original python program, if I call So I'm thinking that the driver or the device is left in an inconsistent state when the stream is interrupted. Closing the PCM resets this state, but I'm surprised this doesn't happen when the PCM is initialised (either via aplay or the python library). |
As an attempt for a workaround, I tried the following:
None of this worked, so it seems there's some other initialisation or de-initialisation happening when the process is started
|
I've also tried |
Actually, rebooting doesn't work reliably - the channel mapping is occassionally different after a reboot. If I close the pcm every time, it seems to reliably open with the same mapping the next run, but the initial run is not always consistent |
I think I experience exactly this problem when using HDMI multichannel (5.1) output using a NVidia GPU and a surround set-up. I think the mapping isn't totally random, because after a few tries (about 3 or 4) I do get the correct mapping. But, it doesn't persist. So my guess is that there are a few standard surround configurations that are rotated somehow. edit: If I can help by providing extra info feel free to ask. |
I have a USB sound device (Startech ICUSBAUDIO7D, which comes up as
ID 0d8c:0102 C-Media Electronics, Inc. CM106 Like Sound Device
through lsusb) which I'm trying to program the output of for 8 channels. The python code (outputs a 50Hz sine wave) I'm using is below (each channel gets a different amplitude so I can identify them with an oscilloscope).The sound card has 4 stereo jacks, to which I have a scope connected.
The problem is that on different runs of the program, the output mappings are not consistent - each run of the program might have the order of the channels different to the previous. So running it one time might have amplitudes (0, 0.125) on the first jack, but the next run it might have those (0.75, 0.25) on the first jack (it doesn't appear to be 'paired' per jack)
I initially discovered this when using portaudio, and decided to try using alsa-only and the issue persists.
Is this likely to be a problem with the driver, alsa-lib, or is there something else going on here?
alsa-info output is attached
alsa-info.txt
The text was updated successfully, but these errors were encountered: