Open Sound System
Original author(s) | Hannu Savolainen |
---|---|
Developer(s) | 4Front Technologies |
Initial release | 1992 |
Stable release | 4.2 Build 2002 / November 6, 2009[1] |
Operating system | Cross-platform |
Type | Audio |
License | BSD License / Common Development and Distribution License / GNU General Public License / Proprietary |
Website | www.opensound.com |
The Open Sound System (OSS) is an interface for making and capturing sound in Unix operating systems. It is based on standard Unix devices (i.e. POSIX read, write, ioctl, etc.). The term also refers sometimes to the software in a Unix kernel that provides the OSS interface; in that sense it can be thought of as a device driver or collection of device drivers for sound controller hardware. The goal of OSS is to allow one to write a sound-based application program that works with any sound controller hardware, even though the hardware interface varies greatly from one type to another.
OSS was created in 1992 by Hannu Savolainen and is available in 11 major Unix-like operating systems. OSS is distributed under four license options, three of which are free software licences, thus making OSS free software.[2] The OSS API and software are still maintained but Linux distributions promote the ALSA API per default [3]. Therefore, less and less software are written for the OSS API.
API
The API is designed to use the traditional Unix framework of open(), read(), write(), and ioctl(), via special devices. For instance, the default device for sound input and output is /dev/dsp. Examples using the shell:
cat /dev/urandom >/dev/dsp # plays white noise through the speaker cat /dev/dsp >a.a # reads data from the microphone and copies it to file a.a
Free, proprietary, free
The project was initially free software, but following the project's success, Savolainen was contracted by the company 4Front Technologies and made his support for newer sound devices and improvements proprietary. In response, eventually the Linux community abandoned the OSS/free implementation included in the kernel (an outdated 3.x version, while 4front continued working on 4.x[1]) and development effort switched to the replacement Advanced Linux Sound Architecture (ALSA). Many free software operating systems such as Linux and FreeBSD continued to distribute previous versions of OSS, and continued to maintain and improve these versions.
In July 2007, 4Front Technologies released sources for OSS under CDDL for OpenSolaris and GPL for Linux.[2] In January 2008, 4Front Technologies released OSS for FreeBSD (and other BSD systems) under BSD License.[4]
OSS in relation to ALSA
In the Linux kernel, there have historically been two uniform sound APIs used. One is OSS; the other is ALSA (Advanced Linux Sound Architecture). ALSA is available for Linux only, and as there is only one implementation of the ALSA interface, ALSA refers equally to that implementation and to the interface itself.
OSS is the only audio API in Linux up through the 2.4 series of official (kernel.org) Linux kernels. ALSA was added starting with 2.5, and in those versions, Linux kernel authors marked OSS as deprecated. 4Front continued to develop OSS outside of the Linux kernel.
ALSA provides an optional OSS emulation mode that appears to programs as if it were OSS. Similarly, there was an ALSA emulation mode in the Linux implementation of OSS.
The ALSA interface is generally being recommended for software that is intended to work on Linux only (for example by the LSB), software intended to be portable across Unixes typically used to use OSS instead, which recommendation however is obsolete now that OSS is no longer available by default in Linux distributions.
Some developers[5] find OSS better documented than ALSA and find the OSS API much simpler.
OSS/3D
OSS/3D is a plugin for music players, which acts as an audio postprocessing engine. Supported players include Winamp, Windows Media Player (9 or later), musicmatch, Sonique, Foobar2000, JetAudio, XMMS. It is ported to Windows and Linux platforms. Unlike the OSS, it is shareware.
Criticism
OSS both as API and as software has been critized openly and vocally by many free software developers, such as Paul Davis and Lennart Poettering. Often heard arguments against OSS are: the API is practically impossible to virtualize, it lacks support for modern audio features such as timer-based scheduling or proper surround sound support, inability of its developers to work with the Linux kernel community, lack of integration with modern kernel features such as the device model, too low-level interface, as well as general rejection of its design with moving a lot of signal processing code into the kernel.
See also
References
- ↑ OSS 4.2 Build 2002
- ↑ 2.0 2.1 "4Front technologies releases the source code for open sound system". http://www.linuxpr.com/releases/9766.html.
- ↑ "Disable OSS sound by default in F11". fedora-devel-list. http://osdir.com/ml/fedora-devel-list/2009-02/msg01838.html.
- ↑ "4Front Technologies releases OSS for FreeBSD under BSD license". http://www.opensound.com/press/2008/oss-bsd.txt.
- ↑ "The Sorry State of Sound in Linux". http://insanecoding.blogspot.com/2007/05/sorry-state-of-sound-in-linux.html.
External links
- Open Sound System - Home page
- Building the Open Sound System From Source
- Sorry State of Sound in Linux
- State of sound in Linux not so sorry after all
- OSS is dead. Long live OSS!
cs:Open Sound System de:Open Sound System es:Open Sound System fr:Open Sound System it:Open Sound System hu:Open Sound System ja:Open Sound System nn:Open Sound System pl:Open Sound System pt:Open Sound System ru:Open Sound System fi:Open Sound System sv:Open Sound System zh:OSS
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...