How to switch between audio controller profiles fast?

Hello friends, new to Linux /Manjaro.
I have SPDIF connected on the back and Headphones connected on the front.
I dont want to unplug the Headphones everytime so i go into audio mixer, then into configuration and finally switch between Analog Stereo and Digital Output.
Can i achieve this faster somehow?
Thanks

You can install pavucontrol and launch it with some shortcut. Works with both pipewire and pulseaudio.

If you are using Pulseaudio...

…then you can list all profiles with pacmd list-sinks and change the default sound device with pacmd set-default-sink <sink_number>. Bind it to some shortcut for SPEEEEED!!

1 Like

I am using pulseaudio, but
it lists me only 1 sink

pacmd list-sinks
1 sink(s) available.

  • index: 0
    name: <alsa_output.pci-0000_09_00.4.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: RUNNING
    suspend cause: (none)
    priority: 9039
    volume: front-left: 28835 / 44% / -21.39 dB, front-right: 28835 / 44% / -21.39 dB
    balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 677.11 ms
    max request: 168 KiB
    max rewind: 168 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
    Stereo
    used by: 1
    linked by: 1
    configured latency: 980.00 ms; range is 0.50 … 1999.82 ms
    card: 1 <alsa_card.pci-0000_09_00.4>
    module: 7
    properties:
    alsa.resolution_bits = “16”
    device.api = “alsa”
    device.class = “sound”
    alsa.class = “generic”
    alsa.subclass = “generic-mix”
    alsa.name = “ALC1220 Analog”
    alsa.id = “ALC1220 Analog”
    alsa.subdevice = “0”
    alsa.subdevice_name = “subdevice #0
    alsa.device = “0”
    alsa.card = “1”
    alsa.card_name = “HD-Audio Generic”
    alsa.long_card_name = “HD-Audio Generic at 0xfc400000 irq 97”
    alsa.driver_name = “snd_hda_intel”
    device.bus_path = “pci-0000:09:00.4”
    sysfs.path = “/devices/pci0000:00/0000:00:08.1/0000:09:00.4/sound/card1”
    device.bus = “pci”
    device.vendor.id = “1022”
    device.vendor.name = “Advanced Micro Devices, Inc. [AMD]”
    device.product.id = “1487”
    device.product.name = “Starship/Matisse HD Audio Controller”
    device.string = “front:1”
    device.buffering.buffer_size = “352768”
    device.buffering.fragment_size = “176384”
    device.access_mode = “mmap+timer”
    device.profile.name = “analog-stereo”
    device.profile.description = “Analog Stereo”
    device.description = “Starship/Matisse HD Audio Controller Analog Stereo”
    module-udev-detect.discovered = “1”
    device.icon_name = “audio-card-pci”
    ports:
    analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: no)
    properties:

    analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes)
    properties:
    device.icon_name = “audio-headphones”
    active port:

Have you tried xfce4-pulseaudio-plugin ?
https://docs.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/start


Please post response to this command to show the PulseAudio Profile configuration for headphones

pacmd dump | grep card-profile

Then change the profile to use S/PDIF output and run the command again to get Profile for S/PDIF

The 2 responses will supply most of the information needed to create commands to switch profiles
(just add pactl before terminal response)
The commands can be used in a script to switch between the profiles
and script could be run with one click on a .desktop launcher on desktop or panel