Audio processing PulseAudio & Jack

Just for learning sake, I’ve been reading about audio processing. I understand that ALSA takes care of the hardware interface either with onboard audio or sound card. Apparently ALSA can be used alone from front to back, but there are advantages to having an audio server sitting between the ALSA coming in and out or between other audio sources and sinks. The advantages of the audio server seems to be that it can do various redirect, multi-direct, and modify operation on audio data streams. Apparently there are two predominate choices of audio server in Fedora (PulseAudio and Jack). On this machine PulseAudio is installed, but there is also one package of Jack (jack-audio-connection-kit). I have three non-default installed audio applications on this machine (audacious, audacity, and mscore). I suspected that one of these wanted Jack, but I could not find where any of these depend on Jack; so I’m guessing that the Jack package is installed by default.

Since they do the same function do PulseAudio and Jack co-exist well? What determines which one gets used?

I’ve read that sometime in the future that pipewire will take over this server function from PulseAudio and Jack. PulseAudio seems to be the one intended for ordinary users and Jack seems to be the one for sound studio type users.

Will pipewire be able to serve the needs of both ordinary users and advanced audio users?

Have I misunderstood something? If so, please provide clues or links to reading material.

Thanks in advance for your help.

1 Like

I use Pulse Audio, and I have found it to be quite advanced, after installing a few plug-ins, such as Pulse Effects and Calf Studio. Otherwise, I agree with most of what you said. I think you should use either Pulse Audio or Jack, but not both. I may be wrong, though, as I have never tried Jack.

I didn’t install the Jack package. It either was part of the Fedora 32 default install, or another application wanted it. When I check processes PulseAudio is running, but Jack is not. I just monitored processes while I ran the three audio related applications mentioned above to see if Jack starts up. Jack did not show up in processes. So I’m still wondering how and why Jack is installed on this machine,

Just run dnf to find out what depends on Jack.

I ran ($ dnf repoquery --installed --whatdepends jack-audio-connection-kit) and got

audacity-0:2.3.3-6.fc32.x86_64
fluidsynth-libs-0:1.1.11-7.fc32.x86_64
libavdevice-0:4.2.4-1.fc32.x86_64
obs-studio-libs-0:25.0.8-1.fc32.x86_64
portaudio-0:19-31.fc32.x86_64

so I see there are several things I’m using that depend on this part of Jack. Since I’m not having any audio problems I guess that at least this much of Jack can play nicely with PulseAudio

In the mean time, Does anyone have info on what the pipewire audio server’s planned capabilities will be, or when it will be in Fedora?

I’ve done a bit more digging around. and found that pipewire for audio is already available in the Fedora repo’s. For instance:

pipewire-pulseaudio
pipewire-jack-audio-connection-kit
pipewire-gstreamer
pipewire-alsa

I’m guessing by the titles of these that implementation in the audio applications will be mostly the same calls as used when the applications are using the non-pipewire versions of pulseaudio etc. So it seems like Jack, PulseAudio, etc may be replaced by pipewire some time, but the replacements will still carry the names and probably operate much (if not completely) like the packages being replaced.

Please let me know if I have got this wrong.

Something interesting to read:

2 Likes