Open Sound System

Open Sound System
Open Sound System
Original author(s) Hannu Savolainen
Developer(s) 4Front Technologies
Initial release 1992
Stable release 4.2 Build 2005 / August 5, 2011; 3 months ago (2011-08-05)[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 or Unix-like operating systems. It is based on standard Unix devices (i.e. POSIX read, write, ioctl, etc.). The term also sometimes refers to the software in a Unix kernel that provides the OSS interface; it can be thought of as a device driver, or a collection of device drivers for sound controller hardware. The goal of OSS is to allow the writing of sound-based applications that are agnostic of the underlying sound hardware.

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]

Contents

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[3]) 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 the 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.

According to some,[who?] OSS is better documented than ALSA and its API is much simpler and easier to use.[5]

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.

4Front OSS3D was later renamed to Joesoft Hear[6].

Criticism

OSS both as API and as software has been criticized 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.

Most of these criticisms[which?] have been addressed in OSS version 4.

Other implementations

FreeBSD contains an independently developed implementation of the OSS API, which includes, among other things, in-kernel resampling, mixing (vchans), equalizer, and independent volume control for each application. It also supports bit-perfect mode.[7]

NetBSD supports a compatibility mode for the OSS API, by providing the soundcard.h header file and the libossaudio library, which internally operate using the native NetBSD Sun-like audio interface.[8]

Solaris and OpenSolaris uses a fork of OSS4 call Boomer. It combines the OSS4 framework (audio and mixer) together with Sun's earlier SADA(/dev/audio) API. [9]

See also

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Open Sound System — Entwickler 4Front Technologies Aktuelle Version 4.2 Build 2004 (6. Januar 2011) Betriebssystem FreeBSD, Linux, OpenSolaris Kategorie Treibersystem für Sou …   Deutsch Wikipedia

  • Open Sound System — Développeurs Hannu Savolainen / 4Front Technologies Dernière version …   Wikipédia en Français

  • Open Sound System — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Open Sound System — Запрос «OSS» перенаправляется сюда; об Open Source Software см. Открытое программное обеспечение. Open Sound System (OSS) Микшер ossxmix Тип звукова …   Википедия

  • Open Sound Control — (OSC) is a content format for messaging among computers, sound synthesizers, and other multimedia devices that are optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic… …   Wikipedia

  • Sneaky Sound System — Infobox musical artist Name = Sneaky Sound System Img capt = Img size = Landscape = Background = group or band Origin = flagicon|Australia Australia Genre = Electroclash, Dance Punk, Dance, Electro house Years active = 2001 ndash;present Label =… …   Wikipedia

  • Miles Sound System — Maintainer RAD Game Tools Entwickler John Miles Aktuelle Version …   Deutsch Wikipedia

  • Miles Sound System — Developer(s) RAD Game Tools Stable release 7.2g / April 22, 2009 Operating system Cross platform Type Audio library …   Wikipedia

  • Sound card — A Sound Blaster Live! Value card, a typical (circa 2000) PCI sound card. Connects to Motherboard via one of: PCI ISA USB IEEE 139 …   Wikipedia

  • DTS (sound system) — For other uses, see DTS (disambiguation). DTS, Inc. Type Public Traded as NASDAQ: DTSI …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”