[LAD] Do professionals use Pulse Audio? ; xfce4-mixer

Len Ovens len at ovenwerks.net
Thu Apr 26 17:13:58 CEST 2018


On Thu, 26 Apr 2018, Nikita Zlobin wrote:

> In Wed, 25 Apr 2018 11:38:47 -0700 (PDT)
> Len Ovens <len at ovenwerks.net> wrote:
>
>> On Wed, 25 Apr 2018, Philip Rhoades wrote:
>> 
>> > I am not a professional LA user but I have regard for what serious
>> > LA users have to say.  A post turned up on the Fedora XFCE list
>> > about removing xfce4-mixer for F29 - I responded with:
>> >
>> > "Every time I upgrade I immediately UNinstall PA and use ALSA only
>> > - so I still depend on xfce4-mixer . ."
>> >
>> > Someone replied that PA has greatly improved since the early days 
>> > especially and "controlling streams separately is an added feature"

>> Having some kind of ALSA mixer is still required. Pulse controls
>> levels as a mix of sound card and digital gain stage levels. You have
>> no way of knowing what it is really doing. This is great for desktop
>> use, absolutely useless for any kind of profesional use. Note that
>> input levels are worse as pulse uses a mix of input level, input/mic
>> boost (even on aux inputs) and digital gain stage.
>> 
>> An interesting experiment is to run alsamixer and watch the audio
>> card control levels while adjusting pulse's one level control full
>> range. Input levels on the internal audio card will see the input
>> level go up then bounce to 0 as the boost is set up a notch then the
>> level goes up again, then down plus more boost. I have found that
>> each boost level has it's own unique noise that I can work around
>> with alsamixer that pulse tramples all over.
>> 
>> Pulse offers no guaranty of any particular audio card being used for
>> sync or of any source not having SRC applied.
>> 
>> Pulse offers no guaranty of no drop outs or stable latency.
>> 
>> Pulse offers no guaranty that some other application (skype is 
>> particularely bad) will not change your audio card levels for you.
>> 
>> pulse makes a good audio front end for desktop applications so long
>> as Jackd is it's _only_ output. The Pulse-jackd bridge appears to be
>> set up as a client (using jack terms) rather than a device or back
>> end. This means that even when another device connected to pulse is
>> not being used for output, pulse continues to rely on it for sync :P
>> This means that jack free wheel will not work correctly if pulse has
>> a connection to any audio HW.
>
> For complemention, PA may be configured to run with jack sink/source,
> without alsa, udev, may be bluetooth - only necessary minimum. Not sure
> about PA resampler... Some examples could be found around in web
> (places like userquestions, stackexchange, etc).

Either PA or the client must be able to resample in order to mix streams 
of varying sample rates or to deal with an audio device (or jack) 
requiring a sample rate different from the source. There is no getting 
around that. PA tries for the first source to open the device, ask the 
device to run at the source's sample rate and if successful no SRC is 
needed. A second stream almost always needs SRC. This why a 
(semi)profesional audio application should never be a pulse client but 
rather be either a jack client or use alsa directly. Using jack allows PA 
to send desktop audio as well.

> One question from me - is this enough to fix pulse->jack sync,
> including mentioned freewheel issue?

Is it enough for what? It is not enough to use pulse as an audio server 
for pro-audio applications. It is enough to make sure pulse doesn't 
interfere with jack's operation... it is up to the user to make sure 
noises from the desktop don't show up in studio monitors at an 
inconvenient time. Many home recording studios do not have acoustic 
separation from miced areas to monitoring speakers. I would suggest 
turning any system notification sounds off for this reason. The pulse 
controller applet has a mute function, but it would be easy to forget to 
use it.

So in a pa/jack computer, desktop applications that do not have jack 
connection ability (even some that do and do it wrong) use pulse and any 
application that can use jack, should do so. An application that does not 
allow connecting to jack is not pro-audio and should not be used as such.

Note: "not pro-audio" means in this context. If the application will only 
connect directly to a hardware ALSA device and will not allow itself to 
connect to PA's psudo-alsa device, that is fine too. However, in this 
discusion the system is assumed to want to be able to use jack for some 
things and so jack support is needed.

--
Len Ovens
www.ovenwerks.net


More information about the Linux-audio-dev mailing list