1.0.1 • Published 9 months ago

pactljson v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

Description

This is a wrapper cli and library for pactl. It's main purpose is to provide a reasonable JSON output format.

Known issues

  • module.value in the output of pactl list modules is kept as a string because I had no good idea for a JSON representation:
    module.value: "[nice.level=<priority: default 20(don't change)>] [rt.prio=<priority: default 88>] [rt.time.soft=<in usec: default -1] [rt.time.hard=<in usec: default -1]"
  • I have only tested list, info and stat All the other methods are implemented and probably work, but the output might not be formatted in a way that makes sense For list I have verified all possible types: modules, sinks, sources, sink-inputs, source-outputs, clients, samples, cards, message-handler

CLI usage exapmles

Install via npm i -g pactljson, then use it exactly like pactl. E.g. to get all sound cards in JSON format:

pactljson list cards

Code usage Examples

import { info } from 'pactljson';

async function main() {
    const infoObj = await info();
    const infoJson = JSON.stringify(infoObj, null, '  ');
    console.log(infoJson);
}

main().catch(console.error);
import { list } from 'pactljson';

async function main() {
    const sourcesObj = await list({type: 'sources'});
    const sourcesJson = JSON.stringify(sourcesObj, null, '  ');
    console.log(sourcesJson);

    const cardsObj = await list({type: 'cards'});
    const cardsJson = JSON.stringify(cardsObj, null, '  ');
    console.log(cardsJson);
}

main().catch(console.error);
import { setCardProfile } from 'pactljson';

async function main() {
    try {
        await setCardProfile({card: 1, profile: 'output:analog-stereo'});
        console.log('Card profile set successfully');
    } catch (e) {
        console.error(e);
    }
}

main().catch(console.error);

Available methods

async function stat({ server, clientName })
async function info({ server, clientName })
async function list({ server, clientName, short, type })
async function exit({ server, clientName })
async function uploadSample({ server, clientName, filename, name })
async function playSample({ server, clientName, name, sink })
async function removeSample({ server, clientName, name })
async function loadModule({ server, clientName, name, args = [] })
async function unloadModule({ server, clientName, name, n })
async function moveSinkInput({ server, clientName, n, sink })
async function moveSourceOutput({ server, clientName, n, source })
async function suspendSink({ server, clientName, name, n, state })
async function suspendSource({ server, clientName, name, n, state })
async function setCardProfile({ server, clientName, card, profile })
async function getDefaultSink({ server, clientName })
async function getDefaultSource({ server, clientName })
async function setDefaultSink({ server, clientName, name })
async function setDefaultSource({ server, clientName, name })
async function setSinkPort({ server, clientName, name, n, port })
async function setSourcePort({ server, clientName, name, n, port })
async function getSinkVolume({ server, clientName, name, n })
async function getSourceVolume({ server, clientName, name, n })
async function getSinkMute({ server, clientName, name, n })
async function getSourceMute({ server, clientName, name, n })
async function setSinkVolume({ server, clientName, name, n, volume, volumes = [] })
async function setSourceVolume({ server, clientName, name, n, volume, volumes = [] })
async function setSinkInputVolume({ server, clientName, name, n, volume, volumes = [] })
async function setSourceOutputVolume({ server, clientName, name, n, volume, volumes = [] })
async function setSinkMute({ server, clientName, name, n, state })
async function setSourceMute({ server, clientName, name, n, state })
async function setSinkInputMute({ server, clientName, n, state })
async function setSourceOutputMute({ server, clientName, n, state })
async function setSinkFormats({ server, clientName, n, formats })
async function setPortLatencyOffset({ server, clientName, cardName, cardN, port, offset })
async function sendMessage({ server, clientName, recipient, message, messageParameters })
async function subscribe({ server, clientName })

// You can also use any of these for more direct pactl access, e.g. in case pactl implements new methods that this library doesn't support yet:
async function _pactlRaw(args=[])
async function _pactlObj(args=[])
async function pactl({server, clientName, args = [] })
function rawPactlToObj(rawPactlOutput)

Example outputs

Example output of await info(); and pactljson info:

{
  "Server String": "/run/user/1000/pulse/native",
  "Library Protocol Version": "35",
  "Server Protocol Version": "35",
  "Is Local": "yes",
  "Client Index": "990",
  "Tile Size": "65472",
  "User Name": "fedora",
  "Host Name": "fedora",
  "Server Name": "PulseAudio (on PipeWire 0.3.56)",
  "Server Version": "15.0.0",
  "Default Sample Specification": {
    "name": "float32le",
    "sampleSize": 32,
    "samplingRate": 48000,
    "endianess": "Little",
    "dataType": "Float",
    "channelCount": 2
  },
  "Default Channel Map": [
    "front-left",
    "front-right"
  ],
  "Default Sink": "alsa_output.pci-0000_00_1f.3.analog-stereo",
  "Default Source": "alsa_output.pci-0000_00_1f.3.analog-stereo.monitor",
  "Cookie": "81ed:b81d"
}

Example output of await list({type: 'cards'}); and pactljson list cards:

{
  "Card #40": {
    "Name": "alsa_card.pci-0000_00_1f.3",
    "Driver": "alsa",
    "Owner Module": "n/a",
    "Properties": {
      "device.enum.api": "udev",
      "device.api": "alsa",
      "media.class": "Audio/Device",
      "api.alsa.path": "hw:0",
      "api.alsa.card": "0",
      "api.alsa.card.name": "HDA Intel PCH",
      "api.alsa.card.longname": "HDA Intel PCH at 0xec510000 irq 153",
      "device.plugged.usec": "22073351",
      "device.bus_path": "pci-0000:00:1f.3",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:1f.3/sound/card0",
      "device.bus": "pci",
      "device.subsystem": "sound",
      "device.vendor.id": "0x8086",
      "device.vendor.name": "Intel Corporation",
      "device.product.id": "0xa171",
      "device.product.name": "CM238 HD Audio Controller",
      "device.form_factor": "internal",
      "device.name": "alsa_card.pci-0000_00_1f.3",
      "device.description": "Built-in Audio",
      "device.nick": "HDA Intel PCH",
      "device.icon_name": "audio-card-pci",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio0",
      "factory.id": "14",
      "client.id": "31",
      "object.id": "40",
      "object.serial": "40",
      "object.path": "alsa:pcm:0",
      "alsa.card": "0",
      "alsa.card_name": "HDA Intel PCH",
      "alsa.long_card_name": "HDA Intel PCH at 0xec510000 irq 153",
      "alsa.driver_name": "snd_hda_intel",
      "device.string": "0"
    },
    "Profiles": {
      "off": {
        "name": "Off",
        "info": {
          "sinks": 0,
          "sources": 0,
          "priority": 0,
          "available": "yes"
        }
      },
      "output:analog-stereo+input:analog-stereo": {
        "name": "Analog Stereo Duplex",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 6565,
          "available": "yes"
        }
      },
      "output:analog-stereo": {
        "name": "Analog Stereo Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 6500,
          "available": "yes"
        }
      },
      "output:hdmi-stereo+input:analog-stereo": {
        "name": "Digital Stereo (HDMI) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 5965,
          "available": "yes"
        }
      },
      "output:hdmi-stereo": {
        "name": "Digital Stereo (HDMI) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 5900,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra1+input:analog-stereo": {
        "name": "Digital Stereo (HDMI 2) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 5765,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra2+input:analog-stereo": {
        "name": "Digital Stereo (HDMI 3) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 5765,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra3+input:analog-stereo": {
        "name": "Digital Stereo (HDMI 4) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 5765,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra4+input:analog-stereo": {
        "name": "Digital Stereo (HDMI 5) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 5765,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra1": {
        "name": "Digital Stereo (HDMI 2) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 5700,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra2": {
        "name": "Digital Stereo (HDMI 3) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 5700,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra3": {
        "name": "Digital Stereo (HDMI 4) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 5700,
          "available": "yes"
        }
      },
      "output:hdmi-stereo-extra4": {
        "name": "Digital Stereo (HDMI 5) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 5700,
          "available": "yes"
        }
      },
      "output:hdmi-surround+input:analog-stereo": {
        "name": "Digital Surround 5.1 (HDMI) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 865,
          "available": "yes"
        }
      },
      "output:hdmi-surround71+input:analog-stereo": {
        "name": "Digital Surround 7.1 (HDMI) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 865,
          "available": "yes"
        }
      },
      "output:hdmi-surround": {
        "name": "Digital Surround 5.1 (HDMI) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 800,
          "available": "yes"
        }
      },
      "output:hdmi-surround71": {
        "name": "Digital Surround 7.1 (HDMI) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 800,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra1+input:analog-stereo": {
        "name": "Digital Surround 5.1 (HDMI 2) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra1+input:analog-stereo": {
        "name": "Digital Surround 7.1 (HDMI 2) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra2+input:analog-stereo": {
        "name": "Digital Surround 5.1 (HDMI 3) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra2+input:analog-stereo": {
        "name": "Digital Surround 7.1 (HDMI 3) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra3+input:analog-stereo": {
        "name": "Digital Surround 5.1 (HDMI 4) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra3+input:analog-stereo": {
        "name": "Digital Surround 7.1 (HDMI 4) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra4+input:analog-stereo": {
        "name": "Digital Surround 5.1 (HDMI 5) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra4+input:analog-stereo": {
        "name": "Digital Surround 7.1 (HDMI 5) Output + Analog Stereo Input",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 665,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra1": {
        "name": "Digital Surround 5.1 (HDMI 2) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra1": {
        "name": "Digital Surround 7.1 (HDMI 2) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra2": {
        "name": "Digital Surround 5.1 (HDMI 3) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra2": {
        "name": "Digital Surround 7.1 (HDMI 3) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra3": {
        "name": "Digital Surround 5.1 (HDMI 4) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra3": {
        "name": "Digital Surround 7.1 (HDMI 4) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "output:hdmi-surround-extra4": {
        "name": "Digital Surround 5.1 (HDMI 5) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "output:hdmi-surround71-extra4": {
        "name": "Digital Surround 7.1 (HDMI 5) Output",
        "info": {
          "sinks": 1,
          "sources": 0,
          "priority": 600,
          "available": "yes"
        }
      },
      "input:analog-stereo": {
        "name": "Analog Stereo Input",
        "info": {
          "sinks": 0,
          "sources": 1,
          "priority": 65,
          "available": "yes"
        }
      },
      "pro-audio": {
        "name": "Pro Audio",
        "info": {
          "sinks": 6,
          "sources": 1,
          "priority": 1,
          "available": "yes"
        }
      }
    },
    "Active Profile": "output:analog-stereo",
    "Ports": {
      "analog-input-internal-mic": {
        "name": "Internal Microphone",
        "info": {
          "type": "Mic",
          "priority": 8900,
          "latency offset": "0",
          "availability group": "Legacy 1",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "mic",
          "port.availability-group": "Legacy 1",
          "device.icon_name": "audio-input-microphone",
          "card.profile.port": "0"
        },
        "Part of profile(s)": [
          "input:analog-stereo",
          "output:analog-stereo+input:analog-stereo",
          "output:hdmi-stereo+input:analog-stereo",
          "output:hdmi-surround+input:analog-stereo",
          "output:hdmi-surround71+input:analog-stereo",
          "output:hdmi-stereo-extra1+input:analog-stereo",
          "output:hdmi-surround-extra1+input:analog-stereo",
          "output:hdmi-surround71-extra1+input:analog-stereo",
          "output:hdmi-stereo-extra2+input:analog-stereo",
          "output:hdmi-surround-extra2+input:analog-stereo",
          "output:hdmi-surround71-extra2+input:analog-stereo",
          "output:hdmi-stereo-extra3+input:analog-stereo",
          "output:hdmi-surround-extra3+input:analog-stereo",
          "output:hdmi-surround71-extra3+input:analog-stereo",
          "output:hdmi-stereo-extra4+input:analog-stereo",
          "output:hdmi-surround-extra4+input:analog-stereo",
          "output:hdmi-surround71-extra4+input:analog-stereo"
        ]
      },
      "analog-input-headphone-mic": {
        "name": "Microphone",
        "info": {
          "type": "Mic",
          "priority": 8700,
          "latency offset": "0",
          "availability group": "Legacy 2",
          "available": "no"
        },
        "Properties": {
          "port.type": "mic",
          "port.availability-group": "Legacy 2",
          "device.icon_name": "audio-input-microphone",
          "card.profile.port": "1"
        },
        "Part of profile(s)": [
          "input:analog-stereo",
          "output:analog-stereo+input:analog-stereo",
          "output:hdmi-stereo+input:analog-stereo",
          "output:hdmi-surround+input:analog-stereo",
          "output:hdmi-surround71+input:analog-stereo",
          "output:hdmi-stereo-extra1+input:analog-stereo",
          "output:hdmi-surround-extra1+input:analog-stereo",
          "output:hdmi-surround71-extra1+input:analog-stereo",
          "output:hdmi-stereo-extra2+input:analog-stereo",
          "output:hdmi-surround-extra2+input:analog-stereo",
          "output:hdmi-surround71-extra2+input:analog-stereo",
          "output:hdmi-stereo-extra3+input:analog-stereo",
          "output:hdmi-surround-extra3+input:analog-stereo",
          "output:hdmi-surround71-extra3+input:analog-stereo",
          "output:hdmi-stereo-extra4+input:analog-stereo",
          "output:hdmi-surround-extra4+input:analog-stereo",
          "output:hdmi-surround71-extra4+input:analog-stereo"
        ]
      },
      "analog-input-headset-mic": {
        "name": "Headset Microphone",
        "info": {
          "type": "Headset",
          "priority": 8800,
          "latency offset": "0",
          "availability group": "Legacy 2",
          "available": "no"
        },
        "Properties": {
          "port.type": "headset",
          "port.availability-group": "Legacy 2",
          "device.icon_name": "audio-input-microphone",
          "card.profile.port": "2"
        },
        "Part of profile(s)": [
          "input:analog-stereo",
          "output:analog-stereo+input:analog-stereo",
          "output:hdmi-stereo+input:analog-stereo",
          "output:hdmi-surround+input:analog-stereo",
          "output:hdmi-surround71+input:analog-stereo",
          "output:hdmi-stereo-extra1+input:analog-stereo",
          "output:hdmi-surround-extra1+input:analog-stereo",
          "output:hdmi-surround71-extra1+input:analog-stereo",
          "output:hdmi-stereo-extra2+input:analog-stereo",
          "output:hdmi-surround-extra2+input:analog-stereo",
          "output:hdmi-surround71-extra2+input:analog-stereo",
          "output:hdmi-stereo-extra3+input:analog-stereo",
          "output:hdmi-surround-extra3+input:analog-stereo",
          "output:hdmi-surround71-extra3+input:analog-stereo",
          "output:hdmi-stereo-extra4+input:analog-stereo",
          "output:hdmi-surround-extra4+input:analog-stereo",
          "output:hdmi-surround71-extra4+input:analog-stereo"
        ]
      },
      "analog-output-speaker": {
        "name": "Speakers",
        "info": {
          "type": "Speaker",
          "priority": 10000,
          "latency offset": "0",
          "availability group": "Legacy 3",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "speaker",
          "port.availability-group": "Legacy 3",
          "device.icon_name": "audio-speakers",
          "card.profile.port": "3"
        },
        "Part of profile(s)": [
          "output:analog-stereo",
          "output:analog-stereo+input:analog-stereo"
        ]
      },
      "analog-output-headphones": {
        "name": "Headphones",
        "info": {
          "type": "Headphones",
          "priority": 9900,
          "latency offset": "0",
          "availability group": "Legacy 2",
          "available": "no"
        },
        "Properties": {
          "port.type": "headphones",
          "port.availability-group": "Legacy 2",
          "device.icon_name": "audio-headphones",
          "card.profile.port": "4"
        },
        "Part of profile(s)": [
          "output:analog-stereo",
          "output:analog-stereo+input:analog-stereo"
        ]
      },
      "hdmi-output-0": {
        "name": "HDMI / DisplayPort",
        "info": {
          "type": "HDMI",
          "priority": 5900,
          "latency offset": "0",
          "availability group": "Legacy 4",
          "available": "no"
        },
        "Properties": {
          "port.type": "hdmi",
          "port.availability-group": "Legacy 4",
          "device.icon_name": "video-display",
          "card.profile.port": "5"
        },
        "Part of profile(s)": [
          "output:hdmi-stereo",
          "output:hdmi-stereo+input:analog-stereo",
          "output:hdmi-surround",
          "output:hdmi-surround+input:analog-stereo",
          "output:hdmi-surround71",
          "output:hdmi-surround71+input:analog-stereo"
        ]
      },
      "hdmi-output-1": {
        "name": "HDMI / DisplayPort 2",
        "info": {
          "type": "HDMI",
          "priority": 5800,
          "latency offset": "0",
          "availability group": "Legacy 5",
          "available": "no"
        },
        "Properties": {
          "port.type": "hdmi",
          "port.availability-group": "Legacy 5",
          "device.icon_name": "video-display",
          "card.profile.port": "6"
        },
        "Part of profile(s)": [
          "output:hdmi-stereo-extra1",
          "output:hdmi-stereo-extra1+input:analog-stereo",
          "output:hdmi-surround-extra1",
          "output:hdmi-surround-extra1+input:analog-stereo",
          "output:hdmi-surround71-extra1",
          "output:hdmi-surround71-extra1+input:analog-stereo"
        ]
      },
      "hdmi-output-2": {
        "name": "HDMI / DisplayPort 3",
        "info": {
          "type": "HDMI",
          "priority": 5700,
          "latency offset": "0",
          "availability group": "Legacy 6",
          "available": "no"
        },
        "Properties": {
          "port.type": "hdmi",
          "port.availability-group": "Legacy 6",
          "device.icon_name": "video-display",
          "card.profile.port": "7"
        },
        "Part of profile(s)": [
          "output:hdmi-stereo-extra2",
          "output:hdmi-stereo-extra2+input:analog-stereo",
          "output:hdmi-surround-extra2",
          "output:hdmi-surround-extra2+input:analog-stereo",
          "output:hdmi-surround71-extra2",
          "output:hdmi-surround71-extra2+input:analog-stereo"
        ]
      },
      "hdmi-output-3": {
        "name": "HDMI / DisplayPort 4",
        "info": {
          "type": "HDMI",
          "priority": 5600,
          "latency offset": "0",
          "availability group": "Legacy 7",
          "available": "no"
        },
        "Properties": {
          "port.type": "hdmi",
          "port.availability-group": "Legacy 7",
          "device.icon_name": "video-display",
          "card.profile.port": "8"
        },
        "Part of profile(s)": [
          "output:hdmi-stereo-extra3",
          "output:hdmi-stereo-extra3+input:analog-stereo",
          "output:hdmi-surround-extra3",
          "output:hdmi-surround-extra3+input:analog-stereo",
          "output:hdmi-surround71-extra3",
          "output:hdmi-surround71-extra3+input:analog-stereo"
        ]
      },
      "hdmi-output-4": {
        "name": "HDMI / DisplayPort 5",
        "info": {
          "type": "HDMI",
          "priority": 5500,
          "latency offset": "0",
          "availability group": "Legacy 8",
          "available": "no"
        },
        "Properties": {
          "port.type": "hdmi",
          "port.availability-group": "Legacy 8",
          "device.icon_name": "video-display",
          "card.profile.port": "9"
        },
        "Part of profile(s)": [
          "output:hdmi-stereo-extra4",
          "output:hdmi-stereo-extra4+input:analog-stereo",
          "output:hdmi-surround-extra4",
          "output:hdmi-surround-extra4+input:analog-stereo",
          "output:hdmi-surround71-extra4",
          "output:hdmi-surround71-extra4+input:analog-stereo"
        ]
      }
    }
  },
  "Card #125": {
    "Name": "alsa_card.usb-Generic_USB_Audio_200810111001-00",
    "Driver": "alsa",
    "Owner Module": "n/a",
    "Properties": {
      "device.enum.api": "udev",
      "device.api": "alsa",
      "media.class": "Audio/Device",
      "api.alsa.path": "hw:1",
      "api.alsa.card": "1",
      "api.alsa.card.name": "WD15 Dock",
      "api.alsa.card.longname": "Dell-WD15-Dock",
      "device.profile-set": "dell-dock-tb16-usb-audio.conf",
      "device.plugged.usec": "9673039371",
      "device.bus_path": "pci-0000:0c:00.0-usb-0:1.5:1.0",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:1d.0/0000:04:00.0/0000:05:01.0/0000:07:00.0/0000:08:04.0/0000:0a:00.0/0000:0b:01.0/0000:0c:00.0/usb3/3-1/3-1.5/3-1.5:1.0/sound/card1",
      "device.bus-id": "usb-Generic_USB_Audio_200810111001-00",
      "device.bus": "usb",
      "device.subsystem": "sound",
      "device.vendor.id": "0x0bda",
      "device.vendor.name": "Realtek Semiconductor Corp.",
      "device.product.id": "0x4014",
      "device.product.name": "USB Audio",
      "device.serial": "Generic_USB_Audio_200810111001",
      "device.name": "alsa_card.usb-Generic_USB_Audio_200810111001-00",
      "device.description": "USB Audio",
      "device.nick": "WD15 Dock",
      "device.icon_name": "audio-card-usb",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio1",
      "factory.id": "14",
      "client.id": "31",
      "object.id": "68",
      "object.serial": "125",
      "object.path": "alsa:pcm:1",
      "alsa.card": "1",
      "alsa.card_name": "WD15 Dock",
      "alsa.long_card_name": "Dell-WD15-Dock",
      "alsa.driver_name": "snd_usb_audio",
      "device.string": "1"
    },
    "Profiles": {
      "off": {
        "name": "Off",
        "info": {
          "sinks": 0,
          "sources": 0,
          "priority": 0,
          "available": "yes"
        }
      },
      "HiFi": {
        "name": "Default",
        "info": {
          "sinks": 2,
          "sources": 1,
          "priority": 8000,
          "available": "yes"
        }
      }
    },
    "Active Profile": "HiFi",
    "Ports": {
      "[Out] Line": {
        "name": "Line Out",
        "info": {
          "type": "Line",
          "priority": 200,
          "latency offset": "0",
          "availability group": "Line Out",
          "available": "no"
        },
        "Properties": {
          "port.type": "line",
          "port.availability-group": "Line Out",
          "card.profile.port": "0"
        },
        "Part of profile(s)": "HiFi"
      },
      "[Out] Headphones": {
        "name": "Headphones",
        "info": {
          "type": "Headphones",
          "priority": 100,
          "latency offset": "0",
          "availability group": "Headphone",
          "available": "yes"
        },
        "Properties": {
          "port.type": "headphones",
          "port.availability-group": "Headphone",
          "card.profile.port": "1"
        },
        "Part of profile(s)": "HiFi"
      },
      "[In] Headset": {
        "name": "Headset Microphone",
        "info": {
          "type": "Headset",
          "priority": 100,
          "latency offset": "0",
          "availability group": "Headset Mic",
          "available": "yes"
        },
        "Properties": {
          "port.type": "headset",
          "port.availability-group": "Headset Mic",
          "card.profile.port": "2"
        },
        "Part of profile(s)": "HiFi"
      }
    }
  },
  "Card #687": {
    "Name": "alsa_card.usb-Behringer_FLOW_8_05-FF-01-01-73-71-00",
    "Driver": "alsa",
    "Owner Module": "n/a",
    "Properties": {
      "device.enum.api": "udev",
      "device.api": "alsa",
      "media.class": "Audio/Device",
      "api.alsa.path": "hw:2",
      "api.alsa.card": "2",
      "api.alsa.card.name": "FLOW 8",
      "api.alsa.card.longname": "Behringer FLOW 8 at usb-0000:00:14.0-2, high speed",
      "device.plugged.usec": "29743386072",
      "device.bus_path": "pci-0000:00:14.0-usb-0:2:1.0",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/sound/card2",
      "device.bus-id": "usb-Behringer_FLOW_8_05-FF-01-01-73-71-00",
      "device.bus": "usb",
      "device.subsystem": "sound",
      "device.vendor.id": "0x1397",
      "device.vendor.name": "BEHRINGER International GmbH",
      "device.product.id": "0x050c",
      "device.product.name": "FLOW 8",
      "device.serial": "Behringer_FLOW_8_05-FF-01-01-73-71",
      "device.name": "alsa_card.usb-Behringer_FLOW_8_05-FF-01-01-73-71-00",
      "device.description": "FLOW 8",
      "device.nick": "FLOW 8",
      "device.icon_name": "audio-card-usb",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio2",
      "factory.id": "14",
      "client.id": "31",
      "object.id": "217",
      "object.serial": "687",
      "object.path": "alsa:pcm:2",
      "alsa.card": "2",
      "alsa.card_name": "FLOW 8",
      "alsa.long_card_name": "Behringer FLOW 8 at usb-0000:00:14.0-2, high speed",
      "alsa.driver_name": "snd_usb_audio",
      "device.string": "2"
    },
    "Profiles": {
      "off": {
        "name": "Off",
        "info": {
          "sinks": 0,
          "sources": 0,
          "priority": 0,
          "available": "yes"
        }
      },
      "Direct": {
        "name": "Direct Flow8 Recording",
        "info": {
          "sinks": 1,
          "sources": 1,
          "priority": 1,
          "available": "yes"
        }
      },
      "Recording": {
        "name": "Recording Mode (4 chan output, 10 chan input)",
        "info": {
          "sinks": 2,
          "sources": 11,
          "priority": 1,
          "available": "yes"
        }
      }
    },
    "Active Profile": "Direct",
    "Ports": {
      "[Out] Direct": {
        "name": "Direct FLOW 8",
        "info": {
          "type": "Unknown",
          "priority": 1000,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "unknown",
          "card.profile.port": "0"
        },
        "Part of profile(s)": "Direct"
      },
      "[In] Direct": {
        "name": "Direct FLOW 8",
        "info": {
          "type": "Unknown",
          "priority": 1000,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "unknown",
          "card.profile.port": "1"
        },
        "Part of profile(s)": "Direct"
      },
      "[Out] Line2": {
        "name": "USB-34 L/R",
        "info": {
          "type": "Line",
          "priority": 200,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "2"
        },
        "Part of profile(s)": "Recording"
      },
      "[Out] Line1": {
        "name": "USB-12 L/R",
        "info": {
          "type": "Line",
          "priority": 100,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "3"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] LineMaster": {
        "name": "Master/Monitor L/R",
        "info": {
          "type": "Unknown",
          "priority": 110,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "unknown",
          "card.profile.port": "4"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Line78": {
        "name": "Line-78 L/R",
        "info": {
          "type": "Line",
          "priority": 109,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "5"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Line56": {
        "name": "Line-56 L/R",
        "info": {
          "type": "Line",
          "priority": 108,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "6"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Line8": {
        "name": "Line/Inst(HiZ) 8 (R)",
        "info": {
          "type": "Line",
          "priority": 107,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "7"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Line7": {
        "name": "Line/Inst 7 (L)",
        "info": {
          "type": "Line",
          "priority": 106,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "8"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Line6": {
        "name": "Line/Inst(HiZ) 6 (R)",
        "info": {
          "type": "Line",
          "priority": 105,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "9"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Line5": {
        "name": "Line/Inst 5 (L)",
        "info": {
          "type": "Line",
          "priority": 104,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "line",
          "card.profile.port": "10"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Mic4": {
        "name": "Mic 4",
        "info": {
          "type": "Mic",
          "priority": 103,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "mic",
          "card.profile.port": "11"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Mic3": {
        "name": "Mic 3",
        "info": {
          "type": "Mic",
          "priority": 102,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "mic",
          "card.profile.port": "12"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Mic2": {
        "name": "Mic 2",
        "info": {
          "type": "Mic",
          "priority": 101,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "mic",
          "card.profile.port": "13"
        },
        "Part of profile(s)": "Recording"
      },
      "[In] Mic1": {
        "name": "Mic 1",
        "info": {
          "type": "Mic",
          "priority": 100,
          "latency offset": "0",
          "available": "unknown"
        },
        "Properties": {
          "port.type": "mic",
          "card.profile.port": "14"
        },
        "Part of profile(s)": "Recording"
      }
    }
  }
}

Example output of await list(); and pactljson list:

{
  "Module #1": {
    "Name": "libpipewire-module-rt",
    "Argument": "{\n    nice.level    = -11\n    #rt.prio      = 88\n    #rt.time.soft = -1\n    #rt.time.hard = -1\n}",
    "Properties": {
      "module.name": "libpipewire-module-rt",
      "object.id": "1",
      "object.serial": "1",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Use realtime thread scheduling, falling back to RTKit",
      "module.usage": "[nice.level=<priority: default 20(don't change)>] [rt.prio=<priority: default 88>] [rt.time.soft=<in usec: default -1] [rt.time.hard=<in usec: default -1]",
      "module.version": "0.3.56",
      "nice.level": "-11"
    }
  },
  "Module #2": {
    "Name": "libpipewire-module-protocol-native",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-protocol-native",
      "object.id": "2",
      "object.serial": "2",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Native protocol using unix sockets",
      "module.version": "0.3.56"
    }
  },
  "Module #3": {
    "Name": "libpipewire-module-profiler",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-profiler",
      "object.id": "3",
      "object.serial": "3",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Generate Profiling data",
      "module.version": "0.3.56"
    }
  },
  "Module #5": {
    "Name": "libpipewire-module-metadata",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-metadata",
      "object.id": "5",
      "object.serial": "5",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Allow clients to create metadata store",
      "module.version": "0.3.56"
    }
  },
  "Module #7": {
    "Name": "libpipewire-module-spa-device-factory",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-spa-device-factory",
      "object.id": "7",
      "object.serial": "7",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Provide a factory to make SPA devices",
      "module.version": "0.3.56"
    }
  },
  "Module #9": {
    "Name": "libpipewire-module-spa-node-factory",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-spa-node-factory",
      "object.id": "9",
      "object.serial": "9",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Provide a factory to make SPA nodes",
      "module.version": "0.3.56"
    }
  },
  "Module #11": {
    "Name": "libpipewire-module-client-node",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-client-node",
      "object.id": "11",
      "object.serial": "11",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Allow clients to create and control remote nodes",
      "module.version": "0.3.56"
    }
  },
  "Module #13": {
    "Name": "libpipewire-module-client-device",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-client-device",
      "object.id": "13",
      "object.serial": "13",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Allow clients to create and control remote devices",
      "module.version": "0.3.56"
    }
  },
  "Module #15": {
    "Name": "libpipewire-module-portal",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-portal",
      "object.id": "15",
      "object.serial": "15"
    }
  },
  "Module #16": {
    "Name": "libpipewire-module-access",
    "Argument": "{\n    # access.allowed to list an array of paths of allowed\n    # apps.\n    #access.allowed = [\n    #    /usr/bin/pipewire-media-session\n    #]\n}",
    "#access.rejected": "[ ]",
    "# An array of paths with restricted access.": {
      "#access.restricted": "[ ]",
      "# Anything not in the above lists gets assigned the": {
        "# access.force permission.": {
          "#access.force": "flatpak",
          "}": {}
        }
      }
    },
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-access",
      "object.id": "16",
      "object.serial": "16",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Perform access check",
      "module.usage": "[ access.force=flatpak ] [ access.allowed=<cmd-line> ] [ access.rejected=<cmd-line> ] [ access.restricted=<cmd-line> ]",
      "module.version": "0.3.56"
    }
  },
  "Module #17": {
    "Name": "libpipewire-module-adapter",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-adapter",
      "object.id": "17",
      "object.serial": "17",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Manage adapter nodes",
      "module.version": "0.3.56"
    }
  },
  "Module #19": {
    "Name": "libpipewire-module-link-factory",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-link-factory",
      "object.id": "19",
      "object.serial": "19",
      "module.author": "Wim Taymans <wim.taymans@gmail.com>",
      "module.description": "Allow clients to create links",
      "module.version": "0.3.56"
    }
  },
  "Module #21": {
    "Name": "libpipewire-module-session-manager",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.name": "libpipewire-module-session-manager",
      "object.id": "21",
      "object.serial": "21",
      "module.author": "George Kiagiadakis <george.kiagiadakis@collabora.com>",
      "module.description": "Implements objects for session management",
      "module.version": "0.3.56"
    }
  },
  "Module #536870912": {
    "Name": "module-always-sink",
    "Argument": {},
    "Usage counter": "n/a",
    "Properties": {
      "module.author": "Pauli Virtanen <pav@iki.fi>",
      "module.description": "Always keeps at least one sink loaded even if it's a null one",
      "module.usage": "sink_name=<name of sink>",
      "module.version": "0.3.56"
    }
  },
  "Sink #126": {
    "State": "IDLE",
    "Name": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock_1__sink",
    "Description": "USB Audio Line Out",
    "Driver": "PipeWire",
    "Sample Specification": {
      "name": "s24le",
      "sampleSize": 24,
      "samplingRate": 48000,
      "endianess": "Little",
      "dataType": "Signed Integer",
      "channelCount": 2
    },
    "Channel Map": [
      "front-left",
      "front-right"
    ],
    "Owner Module": "4294967295",
    "Mute": "no",
    "Volume": {
      "channels": {
        "front-left": {
          "raw": 26826,
          "percent": 41,
          "decibels": -23.28
        },
        "front-right": {
          "raw": 26826,
          "percent": 41,
          "decibels": -23.28
        }
      },
      "balance": "0.00"
    },
    "Base Volume": {
      "raw": 65536,
      "percent": 100,
      "decibels": 0
    },
    "Monitor Source": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock_1__sink.monitor",
    "Latency": {
      "actual": 0,
      "configured": 0
    },
    "Flags": [
      "HARDWARE",
      "DECIBEL_VOLUME",
      "LATENCY"
    ],
    "Properties": {
      "object.path": "alsa:pcm:1:hw:Dock,1:playback",
      "api.alsa.path": "hw:Dock,1",
      "api.alsa.open.ucm": "true",
      "api.alsa.pcm.card": "1",
      "api.alsa.pcm.stream": "playback",
      "audio.channels": "2",
      "audio.position": [
        "FL",
        "FR"
      ],
      "device.routes": "1",
      "alsa.mixer_device": "_ucm0003.hw:Dock",
      "alsa.resolution_bits": "24",
      "device.api": "alsa",
      "device.class": "sound",
      "alsa.class": "generic",
      "alsa.subclass": "generic-mix",
      "alsa.name": "USB Audio #1",
      "alsa.id": "USB Audio",
      "alsa.subdevice": "0",
      "alsa.subdevice_name": "subdevice #0",
      "alsa.device": "1",
      "alsa.card": "1",
      "alsa.card_name": "WD15 Dock",
      "alsa.long_card_name": "Dell-WD15-Dock",
      "alsa.driver_name": "snd_usb_audio",
      "device.profile.name": "HiFi: hw:Dock,1: sink",
      "device.profile.description": "Line Out",
      "card.profile.device": "0",
      "device.id": "68",
      "factory.name": "api.alsa.pcm.sink",
      "priority.driver": "664",
      "priority.session": "664",
      "media.class": "Audio/Sink",
      "node.nick": "WD15 Dock",
      "node.name": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock_1__sink",
      "device.description": "USB Audio",
      "device.icon_name": "audio-card",
      "device.bus": "usb",
      "device.bus_path": "pci-0000:0c:00.0-usb-0:1.5:1.0",
      "node.pause-on-idle": "false",
      "factory.id": "18",
      "clock.quantum-limit": "8192",
      "client.id": "32",
      "node.driver": "true",
      "factory.mode": "merge",
      "audio.adapt.follower": "",
      "library.name": "audioconvert/libspa-audioconvert",
      "object.id": "66",
      "object.serial": "126",
      "node.max-latency": "16384/48000",
      "device.enum.api": "udev",
      "api.alsa.card": "1",
      "api.alsa.card.name": "WD15 Dock",
      "api.alsa.card.longname": "Dell-WD15-Dock",
      "device.profile-set": "dell-dock-tb16-usb-audio.conf",
      "device.plugged.usec": "9673039371",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:1d.0/0000:04:00.0/0000:05:01.0/0000:07:00.0/0000:08:04.0/0000:0a:00.0/0000:0b:01.0/0000:0c:00.0/usb3/3-1/3-1.5/3-1.5:1.0/sound/card1",
      "device.bus-id": "usb-Generic_USB_Audio_200810111001-00",
      "device.subsystem": "sound",
      "device.vendor.id": "0x0bda",
      "device.vendor.name": "Realtek Semiconductor Corp.",
      "device.product.id": "0x4014",
      "device.product.name": "USB Audio",
      "device.serial": "Generic_USB_Audio_200810111001",
      "device.name": "alsa_card.usb-Generic_USB_Audio_200810111001-00",
      "device.nick": "WD15 Dock",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio1",
      "device.string": "1"
    },
    "Ports": {
      "[Out] Line": {
        "name": "Line Out",
        "info": {
          "type": "Line",
          "priority": 200,
          "availability group": "Line Out",
          "available": "no"
        }
      }
    },
    "Active Port": "[Out] Line",
    "Formats": [
      "pcm"
    ]
  },
  "Sink #127": {
    "State": "IDLE",
    "Name": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock__sink",
    "Description": "USB Audio Headphones",
    "Driver": "PipeWire",
    "Sample Specification": {
      "name": "s24le",
      "sampleSize": 24,
      "samplingRate": 48000,
      "endianess": "Little",
      "dataType": "Signed Integer",
      "channelCount": 2
    },
    "Channel Map": [
      "front-left",
      "front-right"
    ],
    "Owner Module": "4294967295",
    "Mute": "no",
    "Volume": {
      "channels": {
        "front-left": {
          "raw": 65412,
          "percent": 100,
          "decibels": -0.05
        },
        "front-right": {
          "raw": 65412,
          "percent": 100,
          "decibels": -0.05
        }
      },
      "balance": "0.00"
    },
    "Base Volume": {
      "raw": 65536,
      "percent": 100,
      "decibels": 0
    },
    "Monitor Source": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock__sink.monitor",
    "Latency": {
      "actual": 0,
      "configured": 0
    },
    "Flags": [
      "HARDWARE",
      "DECIBEL_VOLUME",
      "LATENCY"
    ],
    "Properties": {
      "object.path": "alsa:pcm:1:hw:Dock:playback",
      "api.alsa.path": "hw:Dock",
      "api.alsa.open.ucm": "true",
      "api.alsa.pcm.card": "1",
      "api.alsa.pcm.stream": "playback",
      "audio.channels": "2",
      "audio.position": [
        "FL",
        "FR"
      ],
      "device.routes": "1",
      "alsa.mixer_device": "_ucm0003.hw:Dock",
      "alsa.resolution_bits": "24",
      "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": "WD15 Dock",
      "alsa.long_card_name": "Dell-WD15-Dock",
      "alsa.driver_name": "snd_usb_audio",
      "device.profile.name": "HiFi: hw:Dock: sink",
      "device.profile.description": "Headphones",
      "card.profile.device": "1",
      "device.id": "68",
      "factory.name": "api.alsa.pcm.sink",
      "priority.driver": "680",
      "priority.session": "680",
      "media.class": "Audio/Sink",
      "node.nick": "WD15 Dock",
      "node.name": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock__sink",
      "device.description": "USB Audio",
      "device.icon_name": "audio-card",
      "device.bus": "usb",
      "device.bus_path": "pci-0000:0c:00.0-usb-0:1.5:1.0",
      "node.pause-on-idle": "false",
      "factory.id": "18",
      "clock.quantum-limit": "8192",
      "client.id": "32",
      "node.driver": "true",
      "factory.mode": "merge",
      "audio.adapt.follower": "",
      "library.name": "audioconvert/libspa-audioconvert",
      "object.id": "71",
      "object.serial": "127",
      "node.max-latency": "16384/48000",
      "device.enum.api": "udev",
      "api.alsa.card": "1",
      "api.alsa.card.name": "WD15 Dock",
      "api.alsa.card.longname": "Dell-WD15-Dock",
      "device.profile-set": "dell-dock-tb16-usb-audio.conf",
      "device.plugged.usec": "9673039371",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:1d.0/0000:04:00.0/0000:05:01.0/0000:07:00.0/0000:08:04.0/0000:0a:00.0/0000:0b:01.0/0000:0c:00.0/usb3/3-1/3-1.5/3-1.5:1.0/sound/card1",
      "device.bus-id": "usb-Generic_USB_Audio_200810111001-00",
      "device.subsystem": "sound",
      "device.vendor.id": "0x0bda",
      "device.vendor.name": "Realtek Semiconductor Corp.",
      "device.product.id": "0x4014",
      "device.product.name": "USB Audio",
      "device.serial": "Generic_USB_Audio_200810111001",
      "device.name": "alsa_card.usb-Generic_USB_Audio_200810111001-00",
      "device.nick": "WD15 Dock",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio1",
      "device.string": "1"
    },
    "Ports": {
      "[Out] Headphones": {
        "name": "Headphones",
        "info": {
          "type": "Headphones",
          "priority": 100,
          "availability group": "Headphone",
          "available": "yes"
        }
      }
    },
    "Active Port": "[Out] Headphones",
    "Formats": [
      "pcm"
    ]
  },
  "Sink #547": {
    "State": "RUNNING",
    "Name": "alsa_output.pci-0000_00_1f.3.analog-stereo",
    "Description": "Built-in Audio Analog Stereo",
    "Driver": "PipeWire",
    "Sample Specification": {
      "name": "s32le",
      "sampleSize": 32,
      "samplingRate": 48000,
      "endianess": "Little",
      "dataType": "Signed Integer",
      "channelCount": 2
    },
    "Channel Map": [
      "front-left",
      "front-right"
    ],
    "Owner Module": "4294967295",
    "Mute": "no",
    "Volume": {
      "channels": {
        "front-left": {
          "raw": 47184,
          "percent": 72,
          "decibels": -8.56
        },
        "front-right": {
          "raw": 47184,
          "percent": 72,
          "decibels": -8.56
        }
      },
      "balance": "0.00"
    },
    "Base Volume": {
      "raw": 65536,
      "percent": 100,
      "decibels": 0
    },
    "Monitor Source": "alsa_output.pci-0000_00_1f.3.analog-stereo.monitor",
    "Latency": {
      "actual": 0,
      "configured": 0
    },
    "Flags": [
      "HARDWARE",
      "HW_MUTE_CTRL",
      "HW_VOLUME_CTRL",
      "DECIBEL_VOLUME",
      "LATENCY"
    ],
    "Properties": {
      "object.path": "alsa:pcm:0:front:0:playback",
      "api.alsa.path": "front:0",
      "api.alsa.pcm.card": "0",
      "api.alsa.pcm.stream": "playback",
      "audio.channels": "2",
      "audio.position": [
        "FL",
        "FR"
      ],
      "device.routes": "2",
      "alsa.resolution_bits": "16",
      "device.api": "alsa",
      "device.class": "sound",
      "alsa.class": "generic",
      "alsa.subclass": "generic-mix",
      "alsa.name": "ALC3271 Analog",
      "alsa.id": "ALC3271 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 0xec510000 irq 153",
      "alsa.driver_name": "snd_hda_intel",
      "device.profile.name": "analog-stereo",
      "device.profile.description": "Analog Stereo",
      "card.profile.device": "8",
      "device.id": "40",
      "factory.name": "api.alsa.pcm.sink",
      "priority.driver": "1009",
      "priority.session": "1009",
      "media.class": "Audio/Sink",
      "node.nick": "HDA Intel PCH",
      "node.name": "alsa_output.pci-0000_00_1f.3.analog-stereo",
      "device.description": "Built-in Audio",
      "device.icon_name": "audio-card-analog",
      "device.bus": "pci",
      "device.bus_path": "pci-0000:00:1f.3",
      "device.form_factor": "internal",
      "node.pause-on-idle": "false",
      "factory.id": "18",
      "clock.quantum-limit": "8192",
      "client.id": "32",
      "node.driver": "true",
      "factory.mode": "merge",
      "audio.adapt.follower": "",
      "library.name": "audioconvert/libspa-audioconvert",
      "object.id": "187",
      "object.serial": "547",
      "node.max-latency": "16384/48000",
      "device.enum.api": "udev",
      "api.alsa.card": "0",
      "api.alsa.card.name": "HDA Intel PCH",
      "api.alsa.card.longname": "HDA Intel PCH at 0xec510000 irq 153",
      "device.plugged.usec": "22073351",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:1f.3/sound/card0",
      "device.subsystem": "sound",
      "device.vendor.id": "0x8086",
      "device.vendor.name": "Intel Corporation",
      "device.product.id": "0xa171",
      "device.product.name": "CM238 HD Audio Controller",
      "device.name": "alsa_card.pci-0000_00_1f.3",
      "device.nick": "HDA Intel PCH",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio0",
      "device.string": "0"
    },
    "Ports": {
      "analog-output-speaker": {
        "name": "Speakers",
        "info": {
          "type": "Speaker",
          "priority": 10000,
          "availability group": "Legacy 3",
          "available": "unknown"
        }
      },
      "analog-output-headphones": {
        "name": "Headphones",
        "info": {
          "type": "Headphones",
          "priority": 9900,
          "availability group": "Legacy 2",
          "available": "no"
        }
      }
    },
    "Active Port": "analog-output-speaker",
    "Formats": [
      "pcm"
    ]
  },
  "Sink #688": {
    "State": "IDLE",
    "Name": "alsa_output.usb-Behringer_FLOW_8_05-FF-01-01-73-71-00.Direct__hw_F8__sink",
    "Description": "FLOW 8 Direct FLOW 8",
    "Driver": "PipeWire",
    "Sample Specification": {
      "name": "s32le",
      "sampleSize": 32,
      "samplingRate": 48000,
      "endianess": "Little",
      "dataType": "Signed Integer",
      "channelCount": 4
    },
    "Channel Map": [
      "front-left",
      "front-right",
      "rear-left",
      "rear-right"
    ],
    "Owner Module": "4294967295",
    "Mute": "no",
    "Volume": {
      "channels": {
        "front-left": {
          "raw": 48287,
          "percent": 74,
          "decibels": -7.96
        },
        "front-right": {
          "raw": 48287,
          "percent": 74,
          "decibels": -7.96
        },
        "rear-left": {
          "raw": 48287,
          "percent": 74,
          "decibels": -7.96
        },
        "rear-right": {
          "raw": 48287,
          "percent": 74,
          "decibels": -7.96
        }
      },
      "balance": "0.00"
    },
    "Base Volume": {
      "raw": 65536,
      "percent": 100,
      "decibels": 0
    },
    "Monitor Source": "alsa_output.usb-Behringer_FLOW_8_05-FF-01-01-73-71-00.Direct__hw_F8__sink.monitor",
    "Latency": {
      "actual": 0,
      "configured": 0
    },
    "Flags": [
      "HARDWARE",
      "DECIBEL_VOLUME",
      "LATENCY"
    ],
    "Properties": {
      "object.path": "alsa:pcm:2:hw:F8:playback",
      "api.alsa.path": "hw:F8",
      "api.alsa.open.ucm": "true",
      "api.alsa.pcm.card": "2",
      "api.alsa.pcm.stream": "playback",
      "audio.channels": "4",
      "audio.position": [
        "FL",
        "FR",
        "RL",
        "RR"
      ],
      "device.routes": "1",
      "alsa.mixer_device": "_ucm0004.hw:F8",
      "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": "2",
      "alsa.card_name": "FLOW 8",
      "alsa.long_card_name": "Behringer FLOW 8 at usb-0000:00:14.0-2, high speed",
      "alsa.driver_name": "snd_usb_audio",
      "device.profile.name": "Direct: hw:F8: sink",
      "device.profile.description": "Direct FLOW 8",
      "card.profile.device": "0",
      "device.id": "217",
      "factory.name": "api.alsa.pcm.sink",
      "priority.driver": "872",
      "priority.session": "872",
      "media.class": "Audio/Sink",
      "node.nick": "FLOW 8",
      "node.name": "alsa_output.usb-Behringer_FLOW_8_05-FF-01-01-73-71-00.Direct__hw_F8__sink",
      "device.description": "FLOW 8",
      "device.icon_name": "audio-card",
      "device.bus": "usb",
      "device.bus_path": "pci-0000:00:14.0-usb-0:2:1.0",
      "node.pause-on-idle": "false",
      "factory.id": "18",
      "clock.quantum-limit": "8192",
      "client.id": "32",
      "node.driver": "true",
      "factory.mode": "merge",
      "audio.adapt.follower": "",
      "library.name": "audioconvert/libspa-audioconvert",
      "object.id": "205",
      "object.serial": "688",
      "node.max-latency": "16384/48000",
      "device.enum.api": "udev",
      "api.alsa.card": "2",
      "api.alsa.card.name": "FLOW 8",
      "api.alsa.card.longname": "Behringer FLOW 8 at usb-0000:00:14.0-2, high speed",
      "device.plugged.usec": "29743386072",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/sound/card2",
      "device.bus-id": "usb-Behringer_FLOW_8_05-FF-01-01-73-71-00",
      "device.subsystem": "sound",
      "device.vendor.id": "0x1397",
      "device.vendor.name": "BEHRINGER International GmbH",
      "device.product.id": "0x050c",
      "device.product.name": "FLOW 8",
      "device.serial": "Behringer_FLOW_8_05-FF-01-01-73-71",
      "device.name": "alsa_card.usb-Behringer_FLOW_8_05-FF-01-01-73-71-00",
      "device.nick": "FLOW 8",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio2",
      "device.string": "2"
    },
    "Ports": {
      "[Out] Direct": {
        "name": "Direct FLOW 8",
        "info": {
          "type": "Unknown",
          "priority": 1000,
          "available": "unknown"
        }
      }
    },
    "Active Port": "[Out] Direct",
    "Formats": [
      "pcm"
    ]
  },
  "Source #126": {
    "State": "RUNNING",
    "Name": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock_1__sink.monitor",
    "Description": "Monitor of USB Audio Line Out",
    "Driver": "PipeWire",
    "Sample Specification": {
      "name": "s24le",
      "sampleSize": 24,
      "samplingRate": 48000,
      "endianess": "Little",
      "dataType": "Signed Integer",
      "channelCount": 2
    },
    "Channel Map": [
      "front-left",
      "front-right"
    ],
    "Owner Module": "4294967295",
    "Mute": "no",
    "Volume": {
      "channels": {
        "front-left": {
          "raw": 65536,
          "percent": 100,
          "decibels": 0
        },
        "front-right": {
          "raw": 65536,
          "percent": 100,
          "decibels": 0
        }
      },
      "balance": "0.00"
    },
    "Base Volume": {
      "raw": 65536,
      "percent": 100,
      "decibels": 0
    },
    "Monitor of Sink": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock_1__sink",
    "Latency": {
      "actual": 0,
      "configured": 0
    },
    "Flags": [
      "HARDWARE",
      "DECIBEL_VOLUME",
      "LATENCY"
    ],
    "Properties": {
      "object.path": "alsa:pcm:1:hw:Dock,1:playback",
      "api.alsa.path": "hw:Dock,1",
      "api.alsa.open.ucm": "true",
      "api.alsa.pcm.card": "1",
      "api.alsa.pcm.stream": "playback",
      "audio.channels": "2",
      "audio.position": [
        "FL",
        "FR"
      ],
      "device.routes": "1",
      "alsa.mixer_device": "_ucm0003.hw:Dock",
      "alsa.resolution_bits": "24",
      "device.api": "alsa",
      "device.class": "monitor",
      "alsa.class": "generic",
      "alsa.subclass": "generic-mix",
      "alsa.name": "USB Audio #1",
      "alsa.id": "USB Audio",
      "alsa.subdevice": "0",
      "alsa.subdevice_name": "subdevice #0",
      "alsa.device": "1",
      "alsa.card": "1",
      "alsa.card_name": "WD15 Dock",
      "alsa.long_card_name": "Dell-WD15-Dock",
      "alsa.driver_name": "snd_usb_audio",
      "device.profile.name": "HiFi: hw:Dock,1: sink",
      "device.profile.description": "Line Out",
      "card.profile.device": "0",
      "device.id": "68",
      "factory.name": "api.alsa.pcm.sink",
      "priority.driver": "664",
      "priority.session": "664",
      "media.class": "Audio/Sink",
      "node.nick": "WD15 Dock",
      "node.name": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock_1__sink",
      "device.description": "USB Audio",
      "device.icon_name": "audio-card",
      "device.bus": "usb",
      "device.bus_path": "pci-0000:0c:00.0-usb-0:1.5:1.0",
      "node.pause-on-idle": "false",
      "factory.id": "18",
      "clock.quantum-limit": "8192",
      "client.id": "32",
      "node.driver": "true",
      "factory.mode": "merge",
      "audio.adapt.follower": "",
      "library.name": "audioconvert/libspa-audioconvert",
      "object.id": "66",
      "object.serial": "126",
      "node.max-latency": "16384/48000",
      "device.enum.api": "udev",
      "api.alsa.card": "1",
      "api.alsa.card.name": "WD15 Dock",
      "api.alsa.card.longname": "Dell-WD15-Dock",
      "device.profile-set": "dell-dock-tb16-usb-audio.conf",
      "device.plugged.usec": "9673039371",
      "sysfs.path": "/sys/devices/pci0000:00/0000:00:1d.0/0000:04:00.0/0000:05:01.0/0000:07:00.0/0000:08:04.0/0000:0a:00.0/0000:0b:01.0/0000:0c:00.0/usb3/3-1/3-1.5/3-1.5:1.0/sound/card1",
      "device.bus-id": "usb-Generic_USB_Audio_200810111001-00",
      "device.subsystem": "sound",
      "device.vendor.id": "0x0bda",
      "device.vendor.name": "Realtek Semiconductor Corp.",
      "device.product.id": "0x4014",
      "device.product.name": "USB Audio",
      "device.serial": "Generic_USB_Audio_200810111001",
      "device.name": "alsa_card.usb-Generic_USB_Audio_200810111001-00",
      "device.nick": "WD15 Dock",
      "api.alsa.use-acp": "true",
      "api.acp.auto-profile": "false",
      "api.acp.auto-port": "false",
      "api.dbus.ReserveDevice1": "Audio1",
      "device.string": "1"
    },
    "Formats": [
      "pcm"
    ]
  },
  "Source #127": {
    "State": "RUNNING",
    "Name": "alsa_output.usb-Generic_USB_Audio_200810111001-00.HiFi__hw_Dock__sink.monitor",
    "Description": "Monitor of USB Audio Headphones",
    "Driver": "PipeWire",
    "Sample Specification": {
      "name": "s24le",
      "sampleSize": 24,
      "samplingRate": 48000,
      "endianess": "Little",
      "dataType": "Signed Integer",
      "channelCount": 2
    },
    "Channel Map": [
      "front-left",
      "front-right"
    ],
    "Owner Module": "4294967295",
    "Mute": "no",
    "Volume": {
      "channels": {
        "front-left": {
          "raw": 65536,
          "percent": 100,
          "decibels": 0
1.0.1

9 months ago

1.0.0

10 months ago