* Distorted/garbled sound on high channel count USB audio interface (class compliant) at certain altsets
[not found] <18dc39215743b200-webhooks-bot@alsa-project.org>
@ 2026-10-07 10:39 ` GitHub issues - opened
0 siblings, 0 replies; only message in thread
From: GitHub issues - opened @ 2026-10-07 10:39 UTC (permalink / raw)
To: alsa-devel
alsa-project/alsa-lib issue #529 was opened from fripholm:
I don't know if I'm in the right place to address this issue here. If not, please feel free to point me in the right direction.
I recently purchased an RME Madiface XT II, which is (among others) a class compliant USB audio interface with a channel count of up to 196 input and 198 output channels over three MADI connections plus Phones Out, one AES I/O and one Stereo Analog I/O. I'm on Debian based MX 25.3, running liquorix kernel 7.2.8. My digital audio workstation is Reaper, native Linux build, running on ALSA, as pipewire(-jack) currently doesn't support more than 128 channels.
The interface offers 3 different altsets to ALSA for each set of sample rates.
At 44.1/48kHz: setting Reaper to the device's native channel count (I: 196/O: 198) it switches to altset 3, on I: 100/O: 102 to altset 2 and on I: 52/O: 54 to altset 1. Altsets 1 and 2 work fine but as soon as altset 3 is active, the audio is heavily distorted and sounds like a bitcrushed, modulated, glitchy mess. This is what `/proc/asound/card2/stream0` looks like when Reaper is running:
```
RME MADIface XT (xxxxxxxx) at usb-0000:00:14.0-1, super speed : USB Audio
Playback:
Status: Running
Interface = 1
Altset = 3
Packet Size = 4096
Momentary freq = 48000 Hz (0x6.0000)
Interface 1
Altset 1
Format: S32_LE
Channels: 54
Endpoint: 0x02 (2 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Sync Endpoint: 0x82 (2 IN)
Sync EP Interface: 1
Sync EP Altset: 1
Implicit Feedback Mode: No
Interface 1
Altset 2
Format: S32_LE
Channels: 102
Endpoint: 0x02 (2 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Sync Endpoint: 0x82 (2 IN)
Sync EP Interface: 1
Sync EP Altset: 2
Implicit Feedback Mode: No
Interface 1
Altset 3
Format: S32_LE
Channels: 198
Endpoint: 0x02 (2 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Sync Endpoint: 0x82 (2 IN)
Sync EP Interface: 1
Sync EP Altset: 3
Implicit Feedback Mode: No
Capture:
Status: Running
Interface = 2
Altset = 3
Packet Size = 4096
Momentary freq = 48000 Hz (0x6.0000)
Interface 2
Altset 1
Format: S32_LE
Channels: 52
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 2
Altset 2
Format: S32_LE
Channels: 100
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 2
Altset 3
Format: S32_LE
Channels: 196
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
```
At higher sample rates, only altset 1 works and obviously the channel count is further reduced.
According to the hardware developer, the device is confirmed to be working fine in class compliant mode on all three altsets on MacOS (although it also has native Mac drivers), so everything points to some incompatibility/bug with ALSA.
There are several topics on RME's Linux sub forum about this, if more info is needed.
[https://forum.rme-audio.de/viewtopic.php?id=41751](url)
On the following thread, the relevant part starts at post no. 12: [https://forum.rme-audio.de/viewtopic.php?id=31000](url)
Issue URL : https://github.com/alsa-project/alsa-lib/issues/529
Repository URL: https://github.com/alsa-project/alsa-lib
^ permalink raw reply [flat|nested] only message in thread