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

Creating UCM2 profiles for devices to split multichannel streams #122

Closed
brndd opened this issue Nov 24, 2021 · 2 comments
Closed

Creating UCM2 profiles for devices to split multichannel streams #122

brndd opened this issue Nov 24, 2021 · 2 comments

Comments

@brndd
Copy link
Contributor

brndd commented Nov 24, 2021

Hey. Apologies for this question-issue, but I wasn't sure where to ask and figured it was better to do it here in public (so that others may benefit from the discussion) than ask by email or something.

I randomly stumbled upon #121 which is about creating a UCM2 profile for the TC-Helicon GoXLR device to split some multichannel streams to better match the physical layout of the device.

I had no idea this was possible with UCM2 (in fact I looked at UCM2 for this a few months ago and got the impression that it was not possible), and would be interested in creating a similar profile for my device, a Behringer UMC204HD. This device has a similar problem of reporting a stereo input stream when the physical layout is two mono inputs, and a 4-channel output stream when the physical layout is two stereo outputs. Thus far I've been using PulseAudio/PipeWire remappings to get around the issue, but a UCM2 profile would be a far superior solution, if indeed it is possible.

So, my questions are:

  • Is being able to split streams like this a new feature of ALSA/UCM2? How do I know if my system (Fedora 34) supports this feature?
  • Is there documentation somewhere to get me started with writing a config for my device? I have no idea what half the stuff in 97beee6 means so I'm expecting to fall into some pits during the process ;)
@perexg
Copy link
Member

perexg commented Nov 24, 2021

  • Is being able to split streams like this a new feature of ALSA/UCM2? How do I know if my system (Fedora 34) supports this feature?

The 1.2.5 has support for the private alsa library configuration. The previous UCM may rely on the global alsa-lib configuration. It's nothing new, but the pieces are improved to describe the special hardware cases.

  • Is there documentation somewhere to get me started with writing a config for my device? I have no idea what half the stuff in 97beee6 means so I'm expecting to fall into some pits during the process ;)

I'm working slowly on a comprehensive UCM2 documentation (interrupted by other things), it will be part of the alsa-lib documentation since 1.2.6 (https://www.alsa-project.org/alsa-doc/alsa-lib/) - it's not released yet.

The used alsa-lib PCM plugins are documented here: https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html

The alsa-lib PCM devices referred by the GoXLR UCM configurations are defined using the standard alsa-lib configuration syntax (LibraryConfig blocks).

@perexg
Copy link
Member

perexg commented Jul 8, 2022

The split is supported since a3cedf9 commit. Closing now.

@perexg perexg closed this as completed Jul 8, 2022
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