Topic: Babyface Pro with PulseAudio

I frequently switch between headphone and speaker output, and I find it cumbersome to do that via the device with copy mode enable.  Here is suitable config to accomplish this with:

1. Edit /lib/udev/rules.d/90-pulseaudio.rules and add this line in the usb section:

ATTRS{idVendor}=="2a39", ATTRS{idProduct}=="3fb0", ENV{PULSE_PROFILE_SET}="rme-babyface-pro.conf"

2. Create /usr/share/pulseaudio/alsa-mixer/profile-sets/rme-babyface-pro.conf with the content:

[General]
auto-profiles = yes

[Mapping All]
channel-map = left,right,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11
device-strings = hw:%f
direction = input
priority = 1

[Mapping Headphone]
channel-map = aux0,aux1,left,right,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11
device-strings = hw:%f
direction = output
priority = 2

[Mapping Speaker]
channel-map = left,right,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11
device-strings = hw:%f
direction = output
priority = 1

I rebooted, but there is probably a way to do this live. pavucontrol (or whatever) will now  have profiles for Headphone and Speaker Output.  There is no mixer support, of course, so if you need to do anything but mute, you still have to use the device for volume control.

Re: Babyface Pro with PulseAudio

Thanks for your extremely helpful forum post! Took me some time to find this solution.

Just one remark regarding the udev rules: in order to prevent that your changes to /lib/udev/rules.d/90-pulseaudio.rules are overwritten next time you update your system, I suggest to create a file /lib/udev/rules.d/91-pulseaudio-custom.rules instead:

# Custom udev rules for RME Babyface Pro which enables the headphone output

SUBSYSTEM!="sound", GOTO="pulseaudio_end"
ACTION!="change", GOTO="pulseaudio_end"
KERNEL!="card*", GOTO="pulseaudio_end"

ATTRS{idVendor}=="2a39", ATTRS{idProduct}=="3fb0", ENV{PULSE_PROFILE_SET}="rme-babyface-pro.conf"

LABEL="pulseaudio_end"