Sound server
   HOME

TheInfoList



OR:

A sound server is
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
that manages the use of and access to
audio Audio most commonly refers to sound, as it is transmitted in signal form. It may also refer to: Sound * Audio signal, an electrical representation of sound *Audio frequency, a frequency in the audio spectrum * Digital audio, representation of sou ...
devices (usually a
sound card A sound card (also known as an audio card) is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term ''sound card'' is also applied to external audio ...
). It commonly runs as a
background process A background process is a computer process that runs ''behind the scenes'' (i.e., in the background) and without user intervention. Typical tasks for these processes include logging, system monitoring, scheduling, and user notification. The backgr ...
.


Sound server in an operating system

In a
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating system, a sound server mixes different data streams and sends out a single unified audio to an output device. The mixing is usually done by software, or by hardware if there is a supported
sound card A sound card (also known as an audio card) is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term ''sound card'' is also applied to external audio ...
.


Layers

The "sound stack" can be visualized as follows, with programs in the upper layers calling elements in the lower layers: * Applications (e.g. mp3 player, web video) * Sound server (e.g.
aRts The arts are a very wide range of human practices of creative expression, storytelling and cultural participation. They encompass multiple diverse and plural modes of thinking, doing and being, in an extremely broad range of media. Both ...
, ESD,
JACK Jack may refer to: Places * Jack, Alabama, US, an unincorporated community * Jack, Missouri, US, an unincorporated community * Jack County, Texas, a county in Texas, USA People and fictional characters * Jack (given name), a male given name, ...
,
PulseAudio PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, various BSD distributions such as FreeBSD and OpenBSD, macOS, as well as Illumos distributions and the Solaris operat ...
) * Sound subsystem (described as kernel modules or drivers; e.g. OSS, ALSA) * Operating system kernel (e.g.
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
,
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
)


Motivation

Sound servers appeared in Unix-like operating systems after limitations in
Open Sound System The Open Sound System (OSS) is an interface for making and capturing sound in Unix and Unix-like operating systems. It is based on standard Unix devices system calls (i.e. POSIX read, write, ioctl, etc.). The term also sometimes refers to th ...
were recognized. OSS is a basic sound interface that was incapable of playing multiple streams simultaneously, dealing with multiple sound cards, or streaming sound over the network. A sound server can provide these features by running as a
daemon Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and Greek mythology, mythology and of later Hellenistic religion and Hell ...
. It receives calls from different programs and sound flows, mixes the streams, and sends raw audio out to the audio device. With a sound server, users can also configure global and per-application sound preferences.


Diversification and problems

{{As of , 2012 there are multiple sound servers; some focus on providing very low latency, while others concentrate on features suitable for general desktop systems. While diversification allows a user to choose just the features that are important to a particular application, it also forces developers to accommodate these options by necessitating code that is compatible with the various sound servers available. Consequently, this variety has resulted in a desire for a standard API to unify efforts.


List of sound servers

*
aRts The arts are a very wide range of human practices of creative expression, storytelling and cultural participation. They encompass multiple diverse and plural modes of thinking, doing and being, in an extremely broad range of media. Both ...
* Enlightened Sound Daemon *
JACK Jack may refer to: Places * Jack, Alabama, US, an unincorporated community * Jack, Missouri, US, an unincorporated community * Jack County, Texas, a county in Texas, USA People and fictional characters * Jack (given name), a male given name, ...
* Network Audio System * PipeWire *
PulseAudio PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, various BSD distributions such as FreeBSD and OpenBSD, macOS, as well as Illumos distributions and the Solaris operat ...
* sndio - OpenBSD audio and MIDI framework


Streaming

*
Icecast Icecast is a streaming media project released as free software maintained by the Xiph.Org Foundation. It also refers specifically to the server program which is part of the project. Icecast was created in December 1998/January 1999 by Jack Mo ...
* SHOUTcast


References


External links


Introduction to Linux Audio


Servers (computing)