[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