AlsaPlayer is a new type of PCM player. It is heavily multi-threaded and tries to excercise the ALSA library and driver quite a bit. It has some very interesting features unique to Linux/Unix players. The goal is to create a fully pluggable framework for playback of all sorts of media with the focus on PCM audio data. The core code was written by Andy Lo-A-Foe with contributions from many other folks. See the credits files for details.
The name AlsaPlayer might be confusing a bit today since we now support a whole bunch of different output systems. The old default OSS audio interface is supported, as well as Esound, NAS (Network Audio Server), Sparc and SGI audio outputs. the most interesting new output is JACK. JACK is different from other audio server efforts in that it has been designed from the ground up to be suitable for professional audio work. This means that it focuses on two key areas: synchronous execution of all clients, and low latency operation. We believe that this interface will become the preferred one. JACK uses ALSA for interfacing with the audio hardware.
Key features of "AlsaPlayer":
* Full speed (pitch) control, positive *and* negative! - This is the first Linux and only GPL player that supports this. You can scratch mp3's and even audio CD's in realtime.
* Icecast/shoutcast streaming support
* Interface plugins - Completely redefine the user interface
* Remote control - Control alsaplayer from another application
* Low latency mode - On capable soundcards latency can be as low as 1.3ms!
* Playlist/Queue support
* Plays nice with concurrent audio tools - Doesn't touch the hardware mixer
* Concurrent visual scopes - Open as many scopes as there are.
* Multi-threaded design - This results in efficient/skip free playback. You can also activate real-time scheduling for even better performance.
* Accurate scope/audio syncing
Supported file formats
* Ogg Vorbis files (.ogg) - First player worldwide that did perfect reverse Ogg playback!
* MP3 files using MAD
* MP3 audio files using the mpg123 based plugin
* WAV files
* CDDA, CD Digital Audio playback (digital ripping), with CDDB lookup
* All MODULES supported by MikMod
* All file types supported by the Audio File Library
* FLAC files. A lossless compression scheme.
Supported sound systems
AlsaPlayer supports quite a few sound systems, not just ALSA, as the name might suggest. Currently we support the following APIs
* JACK - A low-latency audio server, written primarily for the Linux operating system. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves.
* ALSA - The next-generation audio interface for Linux. ALSA was recently merged in the 2.5.x Linux tree. It has many advantages over the old OSS interface.
* OSS - The old Linux audio API. This is still widely used.
* SGI - For SGI (IRIX) systems, using the SGI audio library.
* NAS - Network Audio Server. X11 for audio if you will.
* ESD - Esound, found in GNOME.
* Null - Nosound driver, useful for testing.