On Thu, 26 Apr 2018, Nikita Zlobin wrote:
In Wed, 25 Apr 2018 11:38:47 -0700 (PDT)
Len Ovens <len(a)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