Difference between revisions of "ALSA"
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== |
− | = | + | 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
Contents
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.