Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 May 2023 08:07:44 +0200
From:      Ralf Mardorf <ralf-mardorf@riseup.net>
To:        questions@freebsd.org
Subject:   Re: Overview of Linux and FreeBSD sound systems?
Message-ID:  <caaeb89f70fdb7cdb728a970686d49553731c770.camel@riseup.net>
In-Reply-To: <718e2b3e-3c57-d9b5-642e-6f6b54b896ce@Gmail.com>
References:  <718e2b3e-3c57-d9b5-642e-6f6b54b896ce@Gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

in simple words:

On Wed, 2023-05-24 at 21:16 -0400, Steven Friedrich wrote:
> ALSA

Driver level, usually only one app can grab/use an audio device.
Multiple audio streams can be used by the dmix plugin.

> Sox

A converter to convert an audio file from one to another format.

> Pulse

Pulseaudio is a desktop environment sound server, it doesn't allow to be
used with low-latency, but can resample and more. It does use the ALSA
backend and allows different apps to access a single audio device by the
ALSA backend. The apps can use different sample rates.

aRts was kind of a precursor to pulseaudio. It's discontinued.

> Phonon

KDE multimedia API, not really a sound server.

> Jack

Jackd is a real-time, low-latency sound server used with the ALSA
backend for PCI, PCIe and USB audio devices, for firewire another
backend is used. It doesn't resample or do other things. It allows
several apps to access a single audio device by the backend. All apps
need to use the same sample rate.

Pipewire has also existed for some time, but AFAIK it's still not ready
for production environments.

"PipeWire is a project that aims to greatly improve handling of audio
and video under Linux. It provides a low-latency, graph-based processing
engine on top of audio and video devices that can be used to support the
use cases currently handled by both PulseAudio and JACK." -
https://pipewire.org/

On Linux I'm either using plain ALSA for "normal desktop usage", since
to me it doesn't make sense to use more than one audio stream at a time,
unless I'm producing music. To make music I'm using jackd with the ALSA
backend. However, nowadays I usually use a proprietary fruit when making
music.

Regards,
Ralf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?caaeb89f70fdb7cdb728a970686d49553731c770.camel>