Modelo arquitectónico de ALSA
(Advanced Linux Sound Architecture)
por David García Garzón (Vokimon), david punto garcia en upf punto edu
La arquitectura ALSA aporta a Linux toda una infraestructura
para manejar audio y música en nuestro ordenador de una forma
muy flexible y potente.
Junto con Ladspa y Jack convierten a Linux en una plataforma
perfecta para el audio profesional.
Este manual explica principalmente el modelo conceptual en el
que se basan estas arquitecturas y su uso, obviando temas
de instalación, configuración y programación que ya cubren
otros manuales en la red.
Nota:
Este manual está en construcción y es muy posible que haya
erratas y secciones incompletas.
Si quieres ayudar, puedes ver algunos temas a
resolver activando la hoja de estilo Default with TODO's.
Normalmente en el menu Ver o Visualizar de tu navegador.
Copias y modificaciones
El copyright de este manual pertenece a su autor, David García Garzón.
El autor permite la copia integra de este manual así como su
modificación siempre que se mantenga integro el texto de esta sección.
El autor pide, como favor, que se le envien las modificaciones
que se puedan hacer para que las pueda incorporar en la versión original.
Agradecimientos y colaboraciones
- A la comunidad de Linux Audio Developers
- A los autores de la documentación referenciada
- A Florian Schmidt, Frank Barknecht, Clemens Ladisch, Maarten Deboer por solucionar muchos TODO's
- A Gian Paolo Mureddu, por la revisión ortografica
Resumen
ALSA establece una capa muy ligera de abstracción sobre el hardware de àudio,
y ofrece una forma uniforme de conectar flujos de audio digital y de eventos musicales (MIDI)
entre diversos programas y entre diversos dispositivos hardware.
Las cualidades más destacables de ALSA son las siguientes:
- Es una arquitectura lo suficientemente genérica
para explotar las posibilidades de los productos profesionales mas complejos.
- Ofrece un acceso muy directo al hardware permitiendo obtener bajas latencias.
- Se pueden ampliar, con plugins, las capacidades básicas de esos dispositivos de bajo nivel.
- Los diferentes plugins existentes ofrecen capacidades tan interesantes como:
- Conversión de formatos
- Mezclas, bifurcaciones...
- Uso de dispositivos remotos
- Sincronía entre diferentes dispositivos.
- Monitorización
- ...
- Es muy fácil añadir nuevos plugins de ampliación con nuevas capacidades.
- Es muy fácil añadir nuevos controladores de bajo nivel para soportar nuevas tarjetas.
Las posibilidades de ALSA se complementan con dos notables arquitecturas relacionadas
que también se explican, a nivel de usuario, en este manual:
- JACK (Jack Audio Connection Kit):
- Sirve para establecer conexiones entre programas que generan o consumen áudio en tiempo real.
- Se puede así establecer una red compleja de programas que se pasan áudio entre ellos.
- LADSPA (Linux Audio Developer's Simple Plugin API):
- Es una arquitectura de efectos de áudio en tiempo real.
- Permite que la colección de efectos (plugins) de un ordenador se pueda
hacer servir desde cualquier aplicación host.
- Es equivalente al VST de Steimberg.
- LASH (Linux Audio Session Handling):
- Es un sistema de gestión de sesiónes
- Permite guardar estado de las aplicaciones de áudio,
su configuración y las conexiones (ALSA/JACK) entre ellas
- Esta arquitectura está en un estado bastante preliminar (a finales del 2003)
- Conocida hasta hace poco com LADCCA
TODO: Introducir también
LADCCA
(gestión de sesiones/proyectos multi aplicación)
como arquitectura complementaria.