ALSA: Difference between revisions

From Hydrogenaudio Knowledgebase
m (this is still a work in progress)
 
(audio and midi, not only midi)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Introduction=
=Introduction=
ALSA or '''Advanced Linux Sound Architecture'''is a project, which seeks to provide MIDI functionality to the Linux operating system. ALSA has the following significant features.  
'''ALSA''' or '''Advanced Linux Sound Architecture''' is a project, which seeks to provide audio and MIDI functionality to the Linux operating system. ALSA has the following significant features.  
==Features==  
==Features==  
* Effcient support for all soundcards from consumer to professional multichannel audio devices  
* Effcient support for all soundcards from consumer to professional multichannel audio devices  
Line 7: Line 7:
* ''alsa-lib'' in order to simplify the high level API  
* ''alsa-lib'' in order to simplify the high level API  
* Support for the older OSS API.   
* Support for the older OSS API.   
==ALSA over OSS==  
==ALSA over OSS==
=Developement API=  
There are many advantages ALSA has over the older (but perhaps not the newer) OSS API:
 
* multi-thread safe design
* transparent use of plugin architecture to handle format,rate,channel cnt and many other conversions
* support for non-interleaved interfaces
* user-space software mixing ''(dmix)''
* user-space "loopback/snoop" capabilities
* merging multiple cards into a single virtual device
* hiding non-ALSA-drivers behind a consistent user-space API (e.g. IEEE1394 drivers, or JACK)
* consistent and generic control API for managing hardware controls
* Flexible mixer architecture to handle modern audio interfaces fully (rather than reducing them to a simplistic device)
* consistent support for multiple instances of the same card
* linked operations of multiple cards
 
=Development API=  
==Tutorials==  
==Tutorials==  
==ALSA Library API==  
==ALSA Library API==  
==ALSA Documentation==
==ALSA Documentation==
==External links==
* [http://alsa.opensrc.org/ ALSA wiki] a large wiki pertaining to major ALSA related topics.
[[Category:Software]]

Latest revision as of 12:01, 22 February 2015

Introduction

ALSA or Advanced Linux Sound Architecture is a project, which seeks to provide audio and MIDI functionality to the Linux operating system. ALSA has the following significant features.

Features

  • Effcient support for all soundcards from consumer to professional multichannel audio devices
  • Fully modularized sound drivers
  • SMP and thread-safe design
  • alsa-lib in order to simplify the high level API
  • Support for the older OSS API.

ALSA over OSS

There are many advantages ALSA has over the older (but perhaps not the newer) OSS API:

  • multi-thread safe design
  • transparent use of plugin architecture to handle format,rate,channel cnt and many other conversions
  • support for non-interleaved interfaces
  • user-space software mixing (dmix)
  • user-space "loopback/snoop" capabilities
  • merging multiple cards into a single virtual device
  • hiding non-ALSA-drivers behind a consistent user-space API (e.g. IEEE1394 drivers, or JACK)
  • consistent and generic control API for managing hardware controls
  • Flexible mixer architecture to handle modern audio interfaces fully (rather than reducing them to a simplistic device)
  • consistent support for multiple instances of the same card
  • linked operations of multiple cards

Development API

Tutorials

ALSA Library API

ALSA Documentation

External links

  • ALSA wiki a large wiki pertaining to major ALSA related topics.