Managing Pulseaudio Virt IO Devices

I recently tried installing pulsemeeter from AUR but it refuses to run. I sorted out the initial invalid json file complaint it had but after that it wouldn’t load.

App sinks returned an error, audio backend returned error
object of type 'bool' has no len()
Could not join subscribe_thread (maybe there is none)
closing socket

It’s not uncommon to run into issues like this with stale software, so I uninstalled it but now I’ve found its created all the virtual audio devices and SINKs.
ie: Virtual_Input_1, Virtual_Output_B1, etc…

I’ve been searching, trying to find information on removing virtual pulseaudio devices but the config files referenced by the Arch wiki aren’t present in my user profile under .config.

So far after an hour of searching the web I’m not getting any hits. (Most are about having no audio, which isn’t my problem), any pointers are appreciated.

I also already tried pavucontrol but it only allows me to turn off hardware devices.

I can see the sinks & outputs via pactl but suspending them doesn’t hide/remove them.

I’m not seeing a pactl command for removing them either. I see pacmd commands for creating virtual devices on the arch wiki but not for destroying them.

pactl list sinks                                                                                                                                                                                                                                                                                    ✔ 
Sink #0
        State: RUNNING
        Name: alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.analog-stereo
        Description: CORSAIR VOID ELITE Wireless Gaming Dongle Analog Stereo
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 6
        Mute: no
        Volume: front-left: 26214 /  40% / -23.88 dB,   front-right: 26214 /  40% / -23.88 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.analog-stereo.monitor
        Latency: 24019 usec, configured 8000 usec
        Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.resolution_bits = "16"
                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 = "CORSAIR VOID ELITE Wireless Gam"
                alsa.long_card_name = "Corsair CORSAIR VOID ELITE Wireless Gam at usb-0000:07:00.1-2, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:07:00.1-usb-0:2:1.0"
                sysfs.path = "/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:08.0/0000:07:00.1/usb1/1-2/1-2:1.0/sound/card1"
                udev.id = "usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00"
                device.bus = "usb"
                device.vendor.id = "1b1c"
                device.vendor.name = "Corsair"
                device.product.id = "0a51"
                device.product.name = "CORSAIR VOID ELITE Wireless Gaming Dongle"
                device.serial = "Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle"
                device.string = "front:1"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-stereo"
                device.profile.description = "Analog Stereo"
                device.description = "CORSAIR VOID ELITE Wireless Gaming Dongle Analog Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        Ports:
                analog-output: Analog Output (type: Analog, priority: 9900, availability unknown)
        Active Port: analog-output
        Formats:
                pcm

Sink #2
        State: IDLE
        Name: jack_out
        Description: JACK sink (PulseAudio JACK Sink)
        Driver: module-jack-sink.c
        Sample Specification: float32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 9
        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 Source: jack_out.monitor
        Latency: 54125 usec, configured 42666 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Properties:
                device.api = "jack"
                device.description = "JACK sink (PulseAudio JACK Sink)"
                jack.client_name = "PulseAudio JACK Sink"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #3
        State: SUSPENDED
        Name: jack_out.2
        Description: JACK sink (PulseAudio JACK Sink-01)
        Driver: module-jack-sink.c
        Sample Specification: float32le 4ch 48000Hz
        Channel Map: front-left,front-right,rear-left,rear-right
        Owner Module: 27
        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
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: jack_out.2.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Properties:
                device.api = "jack"
                device.description = "JACK sink (PulseAudio JACK Sink-01)"
                jack.client_name = "PulseAudio JACK Sink-01"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #4
        State: IDLE
        Name: nui_mic_denoised_out
        Description: Null Output
        Driver: module-null-sink.c
        Sample Specification: float32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 30
        Mute: no
        Volume: front-left: 60296 /  92% / -2.17 dB,   front-right: 60296 /  92% / -2.17 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: nui_mic_denoised_out.monitor
        Latency: 6681 usec, configured 6944 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Null Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #5
        State: SUSPENDED
        Name: nui_mic_raw_in
        Description: LADSPA Plugin NoiseTorch rnnoise ladspa module on Null Output
        Driver: module-ladspa-sink.c
        Sample Specification: float32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 31
        Mute: no
        Volume: front-left: 60296 /  92%,   front-right: 60296 /  92%
                balance 0.00
        Base Volume: 65536 / 100%
        Monitor Source: nui_mic_raw_in.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HW_MUTE_CTRL LATENCY 
        Properties:
                device.master_device = "nui_mic_denoised_out"
                device.class = "filter"
                device.ladspa.module = "/tmp/librnnoise-4130661847.so"
                device.ladspa.label = "noisetorch"
                device.ladspa.name = "NoiseTorch rnnoise ladspa module"
                device.ladspa.maker = "lawl"
                device.ladspa.copyright = "GPL3+"
                device.ladspa.unique_id = "16682994"
                device.description = "LADSPA Plugin NoiseTorch rnnoise ladspa module on Null Output"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #6
        State: SUSPENDED
        Name: Virtual_Input_1
        Description: Virtual_Input_1
        Driver: module-null-sink.c
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 34
        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 Source: Virtual_Input_1.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Virtual_Input_1"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #7
        State: SUSPENDED
        Name: Virtual_Input_2
        Description: Virtual_Input_2
        Driver: module-null-sink.c
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 35
        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 Source: Virtual_Input_2.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Virtual_Input_2"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #8
        State: SUSPENDED
        Name: Virtual_Input_3
        Description: Virtual_Input_3
        Driver: module-null-sink.c
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 36
        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 Source: Virtual_Input_3.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Virtual_Input_3"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #9
        State: SUSPENDED
        Name: Virtual_Output_B1_sink
        Description: Null Output
        Driver: module-null-sink.c
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 37
        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 Source: Virtual_Output_B1_sink.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Null Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #10
        State: SUSPENDED
        Name: Virtual_Output_B2_sink
        Description: Null Output
        Driver: module-null-sink.c
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 39
        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 Source: Virtual_Output_B2_sink.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Null Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Sink #11
        State: SUSPENDED
        Name: Virtual_Output_B3_sink
        Description: Null Output
        Driver: module-null-sink.c
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 41
        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 Source: Virtual_Output_B3_sink.monitor
        Latency: 0 usec, configured 0 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Null Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

https://unix.stackexchange.com/questions/303588/how-can-i-get-rid-of-a-pulseaudio-sink

pulsemeeter uses 3 modules for virtual sinks - module-ladspa-sink, module-jack-sink and module-null-sink; also module-loopback for audio sources

It may be possible to remove all virtual sinks by restarting PulseAudio:

systemctl --user restart pulseaudio

But if that does not work:

  1. Use this command to remove sink #5
    pactl unload-module module-ladspa-sink
    
  2. Use this command 2 times to remove sinks #2 and #3
    pactl unload-module module-jack-sink
    
  3. Use this command 7 times to remove sinks #4 and #6-#11
    pactl unload-module module-null-sink
    
  4. Check loaded modules for module-loopback
    pactl list modules short
    
    and use this command, if needed, to unload loopback module(s)
    pactl list modules short
    

obs-studio would be a better option than pulsemeeter to mix multiple audio streams in PulseAudio

I use jack_mixer in JACK to mix multiple audio streams
VOIPmixxer - jack_mixer configuration for JACK · GitHub

1 Like

Restarting pulseaudio fixed it. I could’ve sworn I already tried a reboot of the PC but maybe not. Guess I’ve gotten spoiled by powershell where for every “New” command there’s a “Remove” counterpart. I fully expected to be able to destroy virtual interfaces on the fly.

I already have JACK running with a pulseaudio bridge in order to use my MOTU M6. I was just seeing if I could get something other than Catia & JACK for managing things.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.