PulseAudio Under the Hood (2017)
gavv.github.io
gavv.github.io
The two tools I found - 'pavucontrol' seems like just a mixer, 'paprefs' doesn't show you anything about modules. I want something that shows me what PulseAudio modules are available to build a signal chain with, possibly also handling configuring LADSPA plugins in the chain. I was really surprised that there seemed to be no way to 'list all modules available for loading on the system' (there seems to be only 'list all modules already loaded' which means I needed to Google to find out what the possible modules are).
Is there something like this already? If not, I would actually be tempted to build something like this myself - I need a good excuse to learn Qt :)
It's not a pro-level tool and probably doesn't have the flexibility you are looking for, but pavucontrol is much more than just a mixer. For example I can use it to control which input devices individual recording applications are reading from, and which output devices individual applications are playing to. You can also manage (but not create?) virtual devices that can be used as both inputs and outputs, and use a monitor of any output device as an input, etc etc.
If you do build something that gives complete access to pulseaudio devices and their mappings, I'd love to see the results. I would definitely use such an application.
> I was really surprised that there seemed to be no way to 'list all modules available for loading on the system'
Does `pactl list` give you what you're looking for?
For example, in the 7.1 surround example I mentioned, you load the module 'module-virtual-surround-sink' (I followed this guide: https://www.reddit.com/r/linux_gaming/comments/2ot5ov/enable...). I didn't know this functionality existed and none of the tools gave me a way to discover it. It was only through that linked guide and then later the 'PulseAudio Under the Hood' page discussed here that I found out about it.
(as an aside - module-virtual-surround-sink is extremely cool; you can load your own custom spatialization HRIR into it)
The problem I have with Pulseaudio is that it's fixing a problem that doesn't exist. It's great you can mix and match any channel you want with Pulseaudio but that's mostly a theoretical advantage. For desktop users Alsa with dmix offers everything you need, I can play audio, record and mix all at the same time. The few programs which absolutely require Pulse (I'm looking at you Firefox) can be fixed with apulse, which emulates Pulseaudio through Alsa.
Pulseaudio could not achieve this.
..sorry just my gut reaction after all that pulseaudio has done to me. i know this stuff is hard :P
Any links where I could get a clear understanding of how an audio setup would look without PA?
You may admire them for the challenges they've undertaken, but many wish they had either come up with more transparent/unixy solutions to those challenges, or instead had taken up others, like chess or rock-climbing.
That being said, systemd and pulseaudio have reached a point of stability for me, which is good, because unlike most other things on my system, there's no way I could fix a problem that came up without a support contract.