[pulseaudio-discuss] RME Babyface Pro: How do I get pulseaudio to see output 3/4?
Allan Wind
allan at yaxto.com
Tue Oct 25 22:02:58 UTC 2016
Hi Tanu,
Thanks for looking into this for me.
On 2016-10-25 17:15:57, Tanu Kaskinen wrote:
> If there are profiles with more channels, they will anyway be surround
> oriented, but that's still better than having just a 2-channel sink
> available. If such profiles aren't available, you'll have to write the
> profile configuration yourself.
Here are the existing profiles which did not look interesting:
input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 60, available: yes)
input:iec958-stereo: Digital Stereo (IEC958) Input (sinks: 0, sources: 1, priority: 55, available: yes)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6000, available: yes)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6060, available: yes)
output:analog-stereo+input:iec958-stereo: Analog Stereo Output + Digital Stereo (IEC958) Input (sinks: 1, sources: 1, priority: 6055, available: yes)
output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5560, available: yes)
output:iec958-stereo+input:iec958-stereo: Digital Stereo Duplex (IEC958) (sinks: 1, sources: 1, priority: 5555, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
I had already looked through the user documentation and was not
able to find
<https://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles/>
which appears to the relevant information. Should there be
something in the faq?
Anyways, I wrote the attached udev rule for my device, then
/usr/share/pulseaudio/alsa-mixer/profile-sets/rme-babyface-pro.conf:
[General]
auto-profiles = no
[Mapping headphone]
device-strings = hw:%f
channel-map = left,right
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
priority = 2
[Mapping speaker]
device-strings = hw:%f
channel-map = left,right
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
priority = 1
The device strings you get from `aplay -L`, right? I know there
is no (alsa) mixer support for the device, so should I leave
path-input blank or leave it out? How do I know what
paths-output should be? There is a reference in the "pulseaudio
paths" to /usr/share/lib/pulseaudio/alsa-mixer/paths which I
don't have on my system. There is also no
/proc/asound/card1/codec* files.
The configuration (in pavucontrol) remains unchanged even after I
`devadm control --reload-rules`, replug the device, and
restart pulseaudio.
In the debugging section it says `udevadm info -qall -p
/sys/class/sound/card1` should tell me which profile is being
used. What am I looking for specifically?
P: /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/sound/card1
E:
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0/sound/card1
E: ID_BUS=usb
E: ID_FOR_SEAT=sound-pci-0000_00_14_0-usb-0_6_1_0
E: ID_ID=usb-RME_Babyface_Pro__70793162__926E13156329DC8-00
E: ID_MODEL=Babyface_Pro__70793162_
E: ID_MODEL_ENC=Babyface\x20Pro\x20\x2870793162\x29
E: ID_MODEL_ID=3fb0
E: ID_PATH=pci-0000:00:14.0-usb-0:6:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_6_1_0
E: ID_REVISION=0001
E: ID_SERIAL=RME_Babyface_Pro__70793162__926E13156329DC8
E: ID_SERIAL_SHORT=926E13156329DC8
E: ID_TYPE=audio
E: ID_USB_CLASS_FROM_DATABASE=Miscellaneous Device
E: ID_USB_DRIVER=snd-usb-audio
E: ID_USB_INTERFACES=:010120:010220:010300:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_PROTOCOL_FROM_DATABASE=Interface Association
E: ID_VENDOR=RME
E: ID_VENDOR_ENC=RME
E: ID_VENDOR_ID=2a39
E: SOUND_INITIALIZED=1
E: SUBSYSTEM=sound
E: SYSTEMD_WANTS=sound.target
E: TAGS=:systemd:seat:
E: USEC_INITIALIZED=1139682166673
Is it not problematic that a customization has to live in
/usr/share (opposed to /etc)? I don't get the whole /lib
containing config files either but that is a different tree.
> Once you have a 4-channel sink available, you'll need to use module-
> remap-sink to create virtual stereo sinks on top of the 4-channel sink.
> There's an example for doing that in the module-remap-sink
> documentation:
>
> https://wiki.freedesktop.org/www/Software/PulseAudio/Documentation/User/Modules/#index12h3
With that suggestion, I think that I just need to use
surround40:%f instead of hw:%f
> It would be nice to be able to split multichannel sinks into multiple
> stereo sinks in some more straightforward way, but currently such
> feature doesn't exist.
For pro-audio, I think the logical organization is a set of mono
input, and a set of mono outputs, then user group those as
needed. For me, it would be input 1 => microphone-1, 2 =>
microphone-2, 3 => keyboard-left, input 4 => keyboard-right, 5
through 11 => adat-input-1 through 8. You can run ADAT in double
or quad speed in which case you only get 4 and 2 inputs
respectively, or as two channel SPDIF. With output, it would be
1 => left, 2 => right, 3 => headphone-left, 3 =>
headphone-right, 5 through 11 => adat-output-1 through 8.
/Allan
--
Allan Wind
Yaxto - Runs My Business
<https://yaxto.com>
-------------- next part --------------
SUBSYSTEM!="sound", GOTO="pulseaudio_end"
ACTION!="change", GOTO="pulseaudio_end"
KERNEL!="card*", GOTO="pulseaudio_end"
SUBSYSTEMS!="usb", GOTO="pulseaudio_end"
ATTRS{idVendor}=="2a39", ATTRS{idProduct}=="3fb0", ENV{PULSE_PROFILE_SET}="rme-babyface-pro.conf"
LABEL="pulseaudio_end"
More information about the pulseaudio-discuss
mailing list