ALSA

From Hydrogenaudio Knowledgebase
Revision as of 20:15, 7 September 2006 by HotshotGG (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.

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 OSS API:

  • kernel-space supports only hardware-level capabilities
  • 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
  • and more...

Development API

Tutorials

ALSA Library API

ALSA Documentation