UCM2 configuration guide
Hello,
I have been working on an article to describe the process of writing UCM2 configuration to split multi-channel devices into smaller devices, particularly in the context of USB audio interfaces. This is a common problem with enthusiast/studio USB audio interfaces and it happens to be a pet peeve of mine.
I recently contributed a profile for the Behringer UMC204HD (https://github.com/alsa-project/alsa-ucm-conf/pull/128) and found the process to be a little intimidating, but with a lot of help from Perexg I managed to get it working. I would like to help other potential contributors out by explaining the process step by step.
I was considering posting the article to the Fedora Magazine (https://fedoramagazine.org/), since that's the distro I use. However, I wanted to check with you, the ALSA maintainers, first, because the intent of the article is to encourage readers to contribute UCM configurations for their own cards, and I thought perhaps a potential surge of contributions is not something you want at the moment.
Let me know what you think -- is this a welcome idea or should I forget it? I have a draft of the article available here: https://gist.github.com/brndd/ccec98a575f7c0422d50402937439227
Thanks, Peter Wedder
On 14. 05. 22 19:43, Peter Wedder wrote:
Hello,
I have been working on an article to describe the process of writing UCM2 configuration to split multi-channel devices into smaller devices, particularly in the context of USB audio interfaces. This is a common problem with enthusiast/studio USB audio interfaces and it happens to be a pet peeve of mine.
I recently contributed a profile for the Behringer UMC204HD (https://github.com/alsa-project/alsa-ucm-conf/pull/128) and found the process to be a little intimidating, but with a lot of help from Perexg I managed to get it working. I would like to help other potential contributors out by explaining the process step by step.
It's because many things are work-in-progress and there's a tight relation between UCM and the alsa-lib's configuration.
I was considering posting the article to the Fedora Magazine (https://fedoramagazine.org/), since that's the distro I use. However, I wanted to check with you, the ALSA maintainers, first, because the intent of the article is to encourage readers to contribute UCM configurations for their own cards, and I thought perhaps a potential surge of contributions is not something you want at the moment.
At the time there's a lot of USB cards configs waiting for the merge, but I'd like to clean the configs at first. The per card configurations should not bother so much with the alsa-lib configurations. Also, I'd like to support the channel management (split) by the applications. The implementation may be completely hidden in the included common blocks.
Let me know what you think -- is this a welcome idea or should I forget it? I have a draft of the article available here: https://gist.github.com/brndd/ccec98a575f7c0422d50402937439227
Thank you for this work. The document looks nice for users dealing with the support for this type of hardware. Please, wait a moment to complete this support. I will be happy to co-operate with you to finish this.
I created an issue #154 (https://github.com/alsa-project/alsa-ucm-conf/issues/154) and I'll try to update it until this is finished.
Jaroslav
BTW: perexg = me
Sounds good!
I am also open to reworking the guide into a part of ALSA documentation, if that suits you better.
I must confess I don't exactly understand what you mean by splitting channels "inside app" (what app?), though. Do you mean some kind of tool to avoid having to write configuration by hand? In any case, I will update the guide accordingly if changes are made to the process.
- Peter
------- Original Message ------- On Monday, May 16th, 2022 at 19:31, Jaroslav Kysela perex@perex.cz wrote:
On 14. 05. 22 19:43, Peter Wedder wrote:
Hello,
I have been working on an article to describe the process of writing UCM2 configuration to split multi-channel devices into smaller devices, particularly in the context of USB audio interfaces. This is a common problem with enthusiast/studio USB audio interfaces and it happens to be a pet peeve of mine.
I recently contributed a profile for the Behringer UMC204HD (https://github.com/alsa-project/alsa-ucm-conf/pull/128) and found the process to be a little intimidating, but with a lot of help from Perexg I managed to get it working. I would like to help other potential contributors out by explaining the process step by step.
It's because many things are work-in-progress and there's a tight relation between UCM and the alsa-lib's configuration.
I was considering posting the article to the Fedora Magazine (https://fedoramagazine.org/), since that's the distro I use. However, I wanted to check with you, the ALSA maintainers, first, because the intent of the article is to encourage readers to contribute UCM configurations for their own cards, and I thought perhaps a potential surge of contributions is not something you want at the moment.
At the time there's a lot of USB cards configs waiting for the merge, but I'd like to clean the configs at first. The per card configurations should not bother so much with the alsa-lib configurations. Also, I'd like to support the channel management (split) by the applications. The implementation may be completely hidden in the included common blocks.
Let me know what you think -- is this a welcome idea or should I forget it? I have a draft of the article available here: https://gist.github.com/brndd/ccec98a575f7c0422d50402937439227
Thank you for this work. The document looks nice for users dealing with the support for this type of hardware. Please, wait a moment to complete this support. I will be happy to co-operate with you to finish this.
I created an issue #154 (https://github.com/alsa-project/alsa-ucm-conf/issues/154) and I'll try to update it until this is finished.
Jaroslav
BTW: perexg = me
-- Jaroslav Kysela perex@perex.cz
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
On 17. 05. 22 5:07, Peter Wedder wrote:
Sounds good!
I am also open to reworking the guide into a part of ALSA documentation, if that suits you better.
It sounds good. I started to document UCM here:
https://www.alsa-project.org/alsa-doc/alsa-lib/group__ucm__conf.html
But it may be good to add another pages as examples. The doxygen accepts markup texts, so a markup document will be fine. Or it may be better to add examples to the alsa-ucm-conf package.
I must confess I don't exactly understand what you mean by splitting channels "inside app" (what app?), though. Do you mean some kind of tool to avoid having to write configuration by hand? In any case, I will update the guide accordingly if changes are made to the process.
I meant an app which is using UCM configuration. There are two ways to describe the channel split:
First - hidden - alsa-lib configuration - application sees stereo/mono PCM devices.
Second - UCM values - application will get the shared (one) PCM device and information which channels will be used per UCM devices. The channel splitting will be handled inside application (pulseaudio / pipewire etc.).
Jaroslav
- Peter
------- Original Message ------- On Monday, May 16th, 2022 at 19:31, Jaroslav Kysela perex@perex.cz wrote:
On 14. 05. 22 19:43, Peter Wedder wrote:
Hello,
I have been working on an article to describe the process of writing UCM2 configuration to split multi-channel devices into smaller devices, particularly in the context of USB audio interfaces. This is a common problem with enthusiast/studio USB audio interfaces and it happens to be a pet peeve of mine.
I recently contributed a profile for the Behringer UMC204HD (https://github.com/alsa-project/alsa-ucm-conf/pull/128) and found the process to be a little intimidating, but with a lot of help from Perexg I managed to get it working. I would like to help other potential contributors out by explaining the process step by step.
It's because many things are work-in-progress and there's a tight relation between UCM and the alsa-lib's configuration.
I was considering posting the article to the Fedora Magazine (https://fedoramagazine.org/), since that's the distro I use. However, I wanted to check with you, the ALSA maintainers, first, because the intent of the article is to encourage readers to contribute UCM configurations for their own cards, and I thought perhaps a potential surge of contributions is not something you want at the moment.
At the time there's a lot of USB cards configs waiting for the merge, but I'd like to clean the configs at first. The per card configurations should not bother so much with the alsa-lib configurations. Also, I'd like to support the channel management (split) by the applications. The implementation may be completely hidden in the included common blocks.
Let me know what you think -- is this a welcome idea or should I forget it? I have a draft of the article available here: https://gist.github.com/brndd/ccec98a575f7c0422d50402937439227
Thank you for this work. The document looks nice for users dealing with the support for this type of hardware. Please, wait a moment to complete this support. I will be happy to co-operate with you to finish this.
I created an issue #154 (https://github.com/alsa-project/alsa-ucm-conf/issues/154) and I'll try to update it until this is finished.
Jaroslav
BTW: perexg = me
-- Jaroslav Kysela perex@perex.cz
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
participants (2)
-
Jaroslav Kysela
-
Peter Wedder