apulse - The PulseAudio emulator for
ALSA
apulse <program-name> [program-parameters]...
The program provides an alternative partial implementation of the PulseAudio
API. It consists of a loader script and a number of shared libraries with the
same names as from original PulseAudio, so applications could dynamically load
them and think they are talking to PulseAudio. Internally, no separate sound
mixing daemon is used. Instead,
apulse relies on
ALSA's
dmix,
dsnoop, and
plug plugins to handle multiple sound
sources and capture streams running at the same time.
dmix plugin muxes
multiple playback streams;
dsnoop plugin allow multiple applications to
capture from a single microphone; and
plug plugin transparently
converts audio between various sample formats, sample rates and channel
numbers. For more than a decade now,
ALSA comes with these plugins
enabled and configured by default.
apulse wasn't designed to be a drop-in replacement of PulseAudio. It's
pointless, since that will be just reimplementation of original PulseAudio,
with the same client-daemon architecture, required by the complete feature
set. Instead, only parts of the API that are crucial to specific applications
are implemented. That's why there is a loader script, named
apulse. It
updates value of LD_LIBRARY_PATH environment variable to point also to the
directory where
apulse's libraries are installed, making them available
to the application.
Name comes from names of both
ALSA and PulseAudio. As
aoss was a
compatibility layer between OSS programs and
ALSA,
apulse was
designed to be compatibility layer between PulseAudio applications and
ALSA.
apulse is a simple shell wrapper script that calls
exec on the
program given in parameters. Except for cases when the wrapper itself fails to
load, return value is the return value of that program.
Run a newer Firefox browser with fake PulseAudio:
apulse firefox
apulse was written by Rinat Ibragimov in 2014-2017.