[pulseaudio-discuss] How to map 2 channels from a 32-channel USB device to L/R?

Richard Cooke rcooke at visrico.ca
Wed Jul 13 21:07:34 UTC 2022


@Sean

I popped in to the church to get this info and try again with the analog output cable.

Just powered up the QU and rebooted my PC.  I am trying to email from an account I created for this pc.  If that bombs I will resend from my account.

So I did:
camera at cameras:~$ pactl list sources

And got:

Source #0
State: SUSPENDED
Name: alsa_output.usb-Allen_Heath_Ltd_QU-24-01.multichannel-output.monitor
Description: Monitor of QU-24 Multichannel
Driver: module-alsa-card.c
Sample Specification: s32le 32ch 48000Hz
Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12,aux13,aux14,aux15,aux16,aux17,aux18,aux19,aux20,aux21,aux22,aux23
Owner Module: 7
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB,   rear-left: 65536 / 100% / 0.00 dB,   rear-right: 65536 / 100% / 0.00 dB,   front-center: 65536 / 100% / 0.00 dB,   lfe: 65536 / 100% / 0.00 dB,   side-left: 65536 / 100% / 0.00 dB,   side-right: 65536 / 100% / 0.00 dB,   aux0: 65536 / 100% / 0.00 dB,   aux1: 65536 / 100% / 0.00 dB,   aux2: 65536 / 100% / 0.00 dB,   aux3: 65536 / 100% / 0.00 dB,   aux4: 65536 / 100% / 0.00 dB,   aux5: 65536 / 100% / 0.00 dB,   aux6: 65536 / 100% / 0.00 dB,   aux7: 65536 / 100% / 0.00 dB,   aux8: 65536 / 100% / 0.00 dB,   aux9: 65536 / 100% / 0.00 dB,   aux10: 65536 / 100% / 0.00 dB,   aux11: 65536 / 100% / 0.00 dB,   aux12: 65536 / 100% / 0.00 dB,   aux13: 65536 / 100% / 0.00 dB,   aux14: 65536 / 100% / 0.00 dB,   aux15: 65536 / 100% / 0.00 dB,   aux16: 65536 / 100% / 0.00 dB,   aux17: 65536 / 100% / 0.00 dB,   aux18: 65536 / 100% / 0.00 dB,   aux19: 65536 / 100% / 0.00 dB,   aux20: 65536 / 100% / 0.00 dB,   aux21: 65536 / 100% / 0.00 dB,   aux22: 65536 / 100% / 0.00 dB,   aux23: 65536 / 100% / 0.00 dB
       balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: alsa_output.usb-Allen_Heath_Ltd_QU-24-01.multichannel-output
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY 
Properties:
device.description = "Monitor of QU-24 Multichannel"
device.class = "monitor"
alsa.card = "1"
alsa.card_name = "QU-24"
alsa.long_card_name = "Allen&Heath Ltd QU-24 at usb-0000:00:14.0-2.4, high speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:00:14.0-usb-0:2.4:1.1"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4:1.1/sound/card1"
udev.id = "usb-Allen_Heath_Ltd_QU-24-01"
device.bus = "usb"
device.vendor.id = "22f0"
device.vendor.name = "Allen&Heath Ltd"
device.product.id = "0007"
device.product.name = "QU-24"
device.serial = "Allen_Heath_Ltd_QU-24"
device.string = "1"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Formats:
pcm

Source #1
State: SUSPENDED
Name: alsa_input.usb-Allen_Heath_Ltd_QU-24-01.multichannel-input
Description: QU-24 Multichannel
Driver: module-alsa-card.c
Sample Specification: s32le 32ch 48000Hz
Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12,aux13,aux14,aux15,aux16,aux17,aux18,aux19,aux20,aux21,aux22,aux23
Owner Module: 7
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB,   rear-left: 65536 / 100% / 0.00 dB,   rear-right: 65536 / 100% / 0.00 dB,   front-center: 65536 / 100% / 0.00 dB,   lfe: 65536 / 100% / 0.00 dB,   side-left: 65536 / 100% / 0.00 dB,   side-right: 65536 / 100% / 0.00 dB,   aux0: 65536 / 100% / 0.00 dB,   aux1: 65536 / 100% / 0.00 dB,   aux2: 65536 / 100% / 0.00 dB,   aux3: 65536 / 100% / 0.00 dB,   aux4: 65536 / 100% / 0.00 dB,   aux5: 65536 / 100% / 0.00 dB,   aux6: 65536 / 100% / 0.00 dB,   aux7: 65536 / 100% / 0.00 dB,   aux8: 65536 / 100% / 0.00 dB,   aux9: 65536 / 100% / 0.00 dB,   aux10: 65536 / 100% / 0.00 dB,   aux11: 65536 / 100% / 0.00 dB,   aux12: 65536 / 100% / 0.00 dB,   aux13: 65536 / 100% / 0.00 dB,   aux14: 65536 / 100% / 0.00 dB,   aux15: 65536 / 100% / 0.00 dB,   aux16: 65536 / 100% / 0.00 dB,   aux17: 65536 / 100% / 0.00 dB,   aux18: 65536 / 100% / 0.00 dB,   aux19: 65536 / 100% / 0.00 dB,   aux20: 65536 / 100% / 0.00 dB,   aux21: 65536 / 100% / 0.00 dB,   aux22: 65536 / 100% / 0.00 dB,   aux23: 65536 / 100% / 0.00 dB
       balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY 
Properties:
alsa.resolution_bits = "32"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "QU-24"
alsa.long_card_name = "Allen&Heath Ltd QU-24 at usb-0000:00:14.0-2.4, high speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:00:14.0-usb-0:2.4:1.1"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4:1.1/sound/card1"
udev.id = "usb-Allen_Heath_Ltd_QU-24-01"
device.bus = "usb"
device.vendor.id = "22f0"
device.vendor.name = "Allen&Heath Ltd"
device.product.id = "0007"
device.product.name = "QU-24"
device.serial = "Allen_Heath_Ltd_QU-24"
device.string = "hw:1"
device.buffering.buffer_size = "1048576"
device.buffering.fragment_size = "524288"
device.access_mode = "mmap+timer"
device.profile.name = "multichannel-input"
device.profile.description = "Multichannel"
device.description = "QU-24 Multichannel"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Ports:
multichannel-input: Multichannel Input (priority: 0)
Active Port: multichannel-input
Formats:
pcm

Source #2
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Description: Monitor of Built-in Audio Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s32le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 8
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
       balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: alsa_output.pci-0000_00_1f.3.analog-stereo
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY 
Properties:
device.description = "Monitor of Built-in Audio Analog Stereo"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xf7320000 irq 130"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1f.3"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "a2f0"
device.product.name = "200 Series PCH HD Audio"
device.form_factor = "internal"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Formats:
pcm

Source #3
State: SUSPENDED
Name: alsa_input.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s32le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 8
Mute: no
Volume: front-left: 17948 /  27% / -33.75 dB,   front-right: 17948 /  27% / -33.75 dB
       balance 0.00
Base Volume: 6554 /  10% / -60.00 dB
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
Properties:
alsa.resolution_bits = "32"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC662 rev3 Analog"
alsa.id = "ALC662 rev3 Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xf7320000 irq 130"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1f.3"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "a2f0"
device.product.name = "200 Series PCH HD Audio"
device.form_factor = "internal"
device.string = "front:0"
device.buffering.buffer_size = "705600"
device.buffering.fragment_size = "352800"
device.access_mode = "mmap+timer"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Built-in Audio Analog Stereo"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Ports:
analog-input-front-mic: Front Microphone (priority: 8500, available)
analog-input-rear-mic: Rear Microphone (priority: 8200, not available)
analog-input-linein: Line In (priority: 8100, not available)
Active Port: analog-input-front-mic
Formats:
pcm

Source #4
State: IDLE
Name: Source.monitor
Description: Monitor of Null Output
Driver: module-null-sink.c
Sample Specification: float32le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 26
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
       balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: Source
Latency: 0 usec, configured 2000000 usec
Flags: DECIBEL_VOLUME LATENCY 
Properties:
device.description = "Monitor of Null Output"
device.class = "monitor"
device.icon_name = "audio-input-microphone"
Formats:
pcm

Source #5
State: SUSPENDED
Name: VirtualMic
Description: Virtual Source VirtualMic on Monitor of Null Output
Driver: module-virtual-source.c
Sample Specification: float32le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 27
Mute: no
Volume: front-left: 65536 / 100%,   front-right: 65536 / 100%
       balance 0.00
Base Volume: 65536 / 100%
Monitor of Sink: n/a
Latency: 0 usec, configured 0 usec
Flags: HW_MUTE_CTRL LATENCY 
Properties:
device.master_device = "Source.monitor"
device.class = "filter"
device.vsource.name = "VirtualMic"
device.description = "Virtual Source VirtualMic on Monitor of Null Output"
device.icon_name = "audio-input-microphone"
Formats:
pcm



Richard Cooke
(Sent from my iPhone)

> On Jul 11, 2022, at 3:25 AM, Sean Greenslade <sean at seangreenslade.com> wrote:
> 
> On Sun, Jul 10, 2022 at 09:41:16PM -0400, Richard Cooke wrote:
>>> On 2022-07-10 4:14 PM, Sean Greenslade wrote:
>>> You should (in theory) be able to use module-remap-sink or
>>> module-remap-source to create a virtual 2-channel sink/source using
>>> specific channels from the 32 channel one. See:
>>> 
>>> https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#module-remap-sink
>>> 
>>> It may require some experimentation to figure out what names pulse is
>>> assigning to each channel, since the first 8 channels are given
>>> standardized 7.1-channel names. Take a look here for the string names
>>> that module-remap-* is looking for in channel_map:
>>> 
>>> https://github.com/pulseaudio/pulseaudio/blob/7f4d7fcf5f6407913e50604c6195d0d5356195b1/src/pulse/channelmap.c#L39
>> 
>> Thanks Sean!  I was working on it again today, I posted the latest update to
>> another website:
>> 
>> https://linuxmusicians.com/viewtopic.php?f=27&t=24713&sid=e80ee72d0f2e1b23402e32e62ca0bf6f
>> 
>> In summary, I can see only two MIDI devices in the signal patch window.  I
>> do not see the 32-channels of audio data that I know is there - because
>> Audacity can access it.
>> 
>> So I assume I am missing something in my config to expose those channels.
>> 
>> I'll read through your links too, in  case the missing piece is in there.
>> 
>> Part of my frustration is I can only see the QU when its powered up.  The
>> streaming PC is on all the time, but we cannot leave the QU powered up
>> because of the main power amps.  Bad things could easily happen if I play
>> around with signals while the whole system is live!  Or while left
>> unattended.
> 
> I re-added the mailing list, although this is perhapes straying away
> from a pulse-specific discussion.
> 
> You mention "Catlia" in your forum post, which I assume is a typo. There
> are two similar programs in the KXStudio lineup, "Catia" and "Carla".
> I'm assuming you're using catia, which is a patchbay for the JACK audio
> server. JACK is similar to Pulseaudio in that it is a sound routing
> engine and not a direct soundcard driver. In Linux, the soundcard driver
> is ALSA. Both JACK and Pulse make use of ALSA to interact with the
> hardware sound devices. Generally speaking you would only use one sound
> server. Although there are ways to run both simultaneously and to route
> audio between the two, that's definitely an advanced setup.
> 
> Note that Catia cannot control Pulseaudio at all, and while Carla
> technically has the ability to use Pulse as its backend, it doesn't
> expose the Pulse sources / sinks in a useful way to provide the type of
> routing you're looking to do.
> 
> From your screenshot, it appears that JACK has not taken control of the
> ALSA device for your 32-channel mixer, or it's not configured correctly
> to detect and expose the full channel count. You should probably find a
> JACK mailing list if you want to go down that route, although I believe
> Pulse is fully capable of accomplishing the task you laid out in your
> original email.
> 
> One side note: MIDI is not the same as audio. If you're only concerned
> about routing audio signals around, you can completely ignore MIDI.
> 
> To give some more concrete suggestions, can you do a fresh reboot of the
> streaming PC, turn on and connect the mixer, then run the following
> command and post its output:
> 
> $ pactl list sources
> 
> --Sean
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20220713/7b672229/attachment-0001.htm>


More information about the pulseaudio-discuss mailing list