Las distribuciones de Linux más populares se están estandarizando respecto al manejo de audio a través de un componente llamado PulseAudio. Se trata de la última encarnación de una funcionalidad muy antigua para soportar que múltiples aplicaciones compartieran un único dispositivo de audio, los famosos servidores de audio.
Si bien estos servidores antes se centraban sólo en compartir el dispositivo de audio entre varias aplicaciones, hoy en día existen muchas formas de usar el audio y con la avalancha de dispositivos enchufables como parlantes USB o audífonos bluetooth, estas soluciones se quedaban cortas.
Con Ear Candy se comienzan a ver los primeros frutos de usar como base un servidor de audio moderno como PulseAudio. Su principal característica es manejar en forma inteligente lo que el usuario está escuchando. Por ejemplo si estás viendo un video y recibes una llamada por Skype, el audio del video se reducirá para que pongas atención en la llamada. O bien si estás escuchando música y abres un video en Youtube, la música se detendrá automáticamente para darle prioridad al video que quieres ver.
Favoreciendo la usabilidad, Ear Candy no es un programa con millones de opciones para modificar, sino que simplemente lo ejecutas y te olvidas de él. Sólamente lo recordarás cuando automáticamente aparezca para hacer su trabajo, antes de que por hábito muevas el mouse para detener esa canción de fondo.
En su última versión incluso no es necesario indicarle cómo debe manejar las aplicaciones, gracias a la estandarización que existe en Linux para entregar información acerca de las aplicaciones al entorno de escritorio – qué es la misma que se usa para construir el menú organizado por categorías – EarCandy es capaz de analizar la descripción de cada aplicación para detectar qué hace y actuar en consecuencia.
Si bien ya es usable y estable, EarCandy aún se considera en estado Alpha y no hay paquetes para usuarios finales. Aquellos con alma de pionero pueden descargarlo directamente desde el repositorio bzr de EarCandy.
El manejo de audio en Linux siempre ha sido un tema bastante conflctivo, el estado actual es notablemente superior a lo que existía hace un par de años atrás, pero aún a veces aparecen pesadillas del pasado.
Existen al menos dos capas de abstracción para exponer el audio a las aplicaciones. La primera capa corresponde a los drivers, y la segunda es el servidor de audio, un proceso que ayuda a eliminar las restricciones de los dispositivos de audio tradicionales en sistemas operativos multitarea.
Los drivers de audio en Linux se manejan como un componente especial del kernel, con su propio set de drivers y aplicaciones para administrar los dispositivos. Originalmente se usaba Open Sound System (OSS) y más tarde fue reemplazado por ALSA que era capaz de manejar hardware con nuevas capacidades.
En la década de los noventa, en los tiempos de OSS, los dispositivos de audio eran muy sencillos y salvo destacadas excepciones, todos usaban una arquitectura basada en SoundBlaster. Básicamente se trataba de un dispositivo con varias entradas, un mezclador, un canal de audio en estéreo y un sintetizador, ya sea un clásico FM (Yamaha OPL3) o en sus versiones más modernas, uno basado en wavetables.
Con esta arquitectura, y considerando que en esos años los sistemas eran monotarea, con un canal de audio era suficiente. En paralelo aparecían dispositivos como Gravis Ultrasound que permitían hasta 32 canales de audio independiente, pero eran orientados a música, no a compartir canales entre aplicaciones.
La solución que adoptó Linux para poder usar un sólo canal para múltiples aplicaciones en forma simultánea fue agregar un componente central que tenía control sobre ese canal y las aplicaciones le enviaban el sonido a ese componente, se conoció como sound server o servidor de sonido. No se realizó un esfuerzo de estandarización y aparecieron dos implementaciones, una asociada al gestor de ventanas Enlightenment llamada Enlightenment Sound Daemon o ESD, y otra de KDE llamada Analog Realtime Synthesizer o aRts.
Dadas estas condiciones, las aplicaciones tenían que decidir entre usar el dispositivo en forma directa via OSS (o ALSA), mediante ESD o mediante aRts. Y para ello comenzaban a depender de bibliotecas específicas de ESD o aRts.
Si eso parece un problema, donde las cosas se ponían complicadas era cuando una aplicación sólo implementaba acceso directo a OSS y se apropiaba del dispositivo de audio, dejando sin audio a todas las aplicaciones que lo quisieran utilizar, incluyendo a los servidores de sonido. Otro escenario posible era tener una aplicacion que gentilmente compartía el sonido por ESD, pero este dejaría fuera las aplicaciones con aRts.
Estos servidores comenzaron a perder relevancia cuando apareció ALSA, ya que en caso de disponer de hardware con más de un canal de audio se puede entregar a cada aplicación su propio canal, o bien emular esta capacidad por software de una forma transparente a la aplicación, aunque obviamente consumiendo más recursos del procesador.
Las cosas se pusieron más entretenidas aún con la aparición de dispositivos de audio enchufables, desde tarjetas de audio profesionales (Digidesign, M-Audio, etc) a unos simples audífonos bluetooth. Esto cambia totalmente el modelo que antes se tenía de dispositivos fijos, que siempre estaban disponibles.
PulseAudio surge como una solución diseñada bajo criterios acorde a los requerimientos actuales de audio, es una capa de abstracción que reemplaza a los servidores de audio tradicionales, pero que evita los errores cometidos en el pasado, como es la dependencia de un entorno de escritorio o el deficiente manejo de la latencia que tenían los servidores tradicionales.
PulseAudio es una abstracción completa del sistema de audio subyacente, puede combinar múltiples dispositivos de audio como uno solo, manejar niveles de volumen por aplicación, sincronizar múltiples flujos de audio, etc.
Si bien algunos usuarios aun experimentan problemas con PulseAudio, se trata de una solución que vino para quedarse y sentar las bases de una nueva era del manejo de audio en Linux.
Link : EarCandy is a smart PulseAudio Volume Manager (Web Upd8)
Publicado por Franco Catrin el 22 de May 2009 en la categoría Destacados, Software con los tags alsa, Audio, Linux, pulseaudio. Tiene 57 comentarios.
57 Comentarios
Control de audio inteligente en Linux con Ear Candy

6IO dijo el 22-5-2009 a las 15:23:
Excelente artículo.
¿alguien sabe que pasa con el soporte de ASIO en Linux?
Ver Comentario... tarao dijo el 22-5-2009 a las 15:27 ...

6burton_x dijo el 22-5-2009 a las 15:29:
Excelente articulo, creo sinceramente que desde que aparecio PulseAudio las cosas cambiaron para muchos
.

3CarlosMC dijo el 22-5-2009 a las 15:34:
COmo siempre Franco, GRAN ARTICULO!!!
debo decir que muy interesate ya que para mi siemrpe ha sido la parte mas olvidada en mi sistema, debido a que el audio simpre a funcionado bien, a mi por lo menos me basta con alsa…
mi duda es…
coomo se integra PulseAudio a la plataforma de multimedios utilizada en KDE 4.2.x? me podrias dar mas detalles para ver si necesito implementar PulseAudio en mi sistema…
saludos

7Rockergarden dijo el 22-5-2009 a las 15:36:
@Franco,
Por el aporte a la cultura Linux, gracias.
Slds!

5Franco Ferrari dijo el 22-5-2009 a las 15:37:
Excelente implementación. Ojalá que llegue a buen puerto y que las distros lo implementen.
La primera vez que instalé Debian (Hace como un año y medio), la configuración de Gnome todavía usaba mezcla de sonido por software
______
@tarao: tu nick lo dice todo ¬¬
Franco Catrin dijo el 22-5-2009 a las 15:39:
7@IO
ASIO es específico para Windows y cumple un rol similar a PulseAudio

-5Control de audio inteligente en Linux con Ear Candy : Blogografia dijo el 22-5-2009 a las 15:39:
[...] Click here to view the embedded video. [...]

-2James P.+Wack dijo el 22-5-2009 a las 15:42:
@IO: ASIO ~> JACK, se supone que hacen lo mismo, pero irónicamente algunas placas sin ASIO funcionan mejor en JACK
Ver Comentario... Erwin Ried dijo el 22-5-2009 a las 16:05 ...

-2Erwin Ried dijo el 22-5-2009 a las 16:09:
De forma particular me refería a esta opción: http://robboek.com/2009/02/04/windows-7-automatically-reduce-the-volume-when-you-are-on-a-call/

0paskys dijo el 22-5-2009 a las 16:19:
Un paso mas cerca de tener a linux como el sistema operativo ideal.

3rob dijo el 22-5-2009 a las 16:20:
@Erwin Ried: no entremos a ver quién replicó a quién, ya que el desarrollo de esta aplicación es anterior a todo lo que conocemos acerca de Seven. No digo que Microsoft haya imitado esta funcionalidad a Ear Candy, ni que sea original de esta ultima, creo que es una evolución lógica que perfectamente pudo haber sido implementada de manera paralela por los dos equipos. Pero lamento el que el equipo de Era Candy no posea los recursos suficientes como para avanzar con mayor velocidad en el proyecto, cosa que si poseen los de Microsoft y por eso lo tendrán listo muchísimo antes.
Espero que llegue pronto.
Saludos
Franco Catrin dijo el 22-5-2009 a las 16:39:
14@Erwin Ried
Las características de Windows 7 que aparece en el artículo son casi todas las que ya tiene PulseAudio. Por otra parte aunque Ear Candy no esté empaquetado, ya está funcionando, como en el ejemplo del video.
Al igual que @rob, creo no se puede saber si uno replica características de otro porque podría ser cualquiera. En todo caso al final de cuentas, la cosa es que el usuario disfrute de estos avances, independiente de donde provengan.
Ver Comentario... scb dijo el 22-5-2009 a las 16:43 ...
Ver Comentario... tarao dijo el 22-5-2009 a las 17:08 ...
Ver Comentario... tarao dijo el 22-5-2009 a las 17:10 ...

11desenfoque dijo el 22-5-2009 a las 17:26:
@tarao… es que estàn tan caras las manzanas ultimamente…

-1Marcelo dijo el 22-5-2009 a las 17:28:
Lo de windows 7 es algo como lo que tiene el control de volumen en gnome actualmente… creo; eso seria
___________________________________________
estaria bacan ver luego eso de Ear Candy…
ahora estoy teniendo problemas de audio, suena muy bajo, pero debe ser por el kernel que le puse (2.6.30 Rc6), creo que me tirare por uno estable… eso seria
PD: creo que en un futuro, esta APP, y la de Wayland mejoraran la arquitectura de las distros linux, todo para mejor…
Off- Topic: el kernel que instale hace que ande mas rapido el pc, aunque se sigue demorando un millon de años en encerder mi pc (es viejito y tengo ubuntu 8.10)
Franco Catrin dijo el 22-5-2009 a las 17:31:
20@Marcelo
Qué características tiene tu PC? Ojo que en 9.04 aceleraron bastante el arranque (35 segundos app en llegar al escritorio y disco en reposo).

2kotak dijo el 22-5-2009 a las 17:31:
La verdad que uno de mis formas de evangelizar a sido a través del sonido en Linux los cuales SIEMPRE han sonado mejor que en W$, sin embargo, en mis demostraciones de antaño usualmente peteaba algo y el sonido aunque se escuchaba mejor me dejaba en ridiculo cuando fallaba, ahi fué cuando sólo hacia pruebas controladas, es decir, Amarok abierto y nada más.
en todo caso ahora ya no tengo ese problema y junto con mostrarle KDE4 quedan hablando siempre bien del sistema del pinguino.

1Marcelo dijo el 22-5-2009 a las 17:37:
@Franco:
Tengo una placa Asrock m266 (todo integrado, y el video sin aceleracion)
512 Ram ddr 333
Un Celeron de 2Ghz
Un disco de 40 GB de 5200 rpm ATA
PD: el pc tiene 5 años y como 2 meses… “quiero cambiarlo…”

3Fakeroot dijo el 22-5-2009 a las 17:58:
@marcelo : prueba desintalar Pulse audio que en mi viejo duron 1600mhz consume como un 15% de cpu mientras reproduce audio
http://www.ubuntugeek.com/how-to-remove-pulse-audio-ubuntu-810-intrepid-ibex.html

1Marcelo dijo el 22-5-2009 a las 18:13:
@Fakeroot:
Basicamente mi problema es que el pc se inicia en 2 minutos(en realidad no es drama ya que generalmente lo pongo a hibernar), y que los videos en youtube se me ven como cortados (por la no aceleracion de video)
Este finde yo cacho que instalo ubuntu 9.04 (la tengo desde el día que salio pero no la e instalado porque tengo el disco duro lleno y tengo que grabar los archivos primero)
PD: gracias en todo caso

1TurboMAC dijo el 22-5-2009 a las 18:16:
Para mi, la gran pesadilla que tengo dia a dia, es el famoso arts. Le quita el sonido a otras aplicaciones como Audacity o Tuxguitar. NUnca he entendido bien como funciona, pero me encantaria que fuera totalmente reemplazado por pulse audio o simplemente por alsa.

4Stein! dijo el 22-5-2009 a las 18:16:
Pedazo de artículo Franco.
Que bien que se estén preocupando del tema, yo todavía tengo ataos para usar Skype y un juego por ejemplo, siempre es o lo uno o lo otro… aunque con el paso de las distribuciones como que se va haciendo más facil solucionar parcialmente el problema.
A mi parecer, una vez que se soluciona completamente el tema del sonido, solo quedaría que las empresas desarrolladoras de software sigan interesándose por Linux y ya estaría completito el SO.

1TurboMAC dijo el 22-5-2009 a las 18:16:
Por cierto, @franco, sabes si pulse audio trae efectos de audio??? Algo asi como Realce de Stereo, Reverb, Echo, Fade, Pitch, etc???

1KDE-RDNG dijo el 22-5-2009 a las 18:20:
La desventaja de PulseAudio (como cualquier otra capa) es la latencia, la cual en algunos escenarios es importante tomar en cuenta.
Esperemos que esos (cada vez menos) problemas de PA se vayan solucionando y que saquen GUIs en Qt para KDE
Franco Catrin dijo el 22-5-2009 a las 18:47:
29@marcelo
Cualquiera de los componentes que cambies de tu computador te va a ayudar:
512 Ram ddr 333 -> 1GB
Un Celeron de 2Ghz -> Pentium 4 de 2Ghz
Un disco de 40 GB de 5200 rpm ATA -> Disco de 7200 SATA o ATA por lo menos
Hay unos discos duros que tienen más caché con otro y se nota la diferencia. A veces la gente se fija sólo en la capacidad pero el caché es bien importante en el rendimiento. Lo típico son discos de 2MB de caché, y hay de 8MB a veces casi por el mismo precio.
Hace poco actualicé mi PC y me compré una tarjeta madre intel con video integrado y para el uso que le doy funciona de película. Es una de las más económicas para esas prestaciones, una de la serie G31. No soy muy bueno para los juegos, pero Compiz anda suavecito.
Franco Catrin dijo el 22-5-2009 a las 18:49:
30@Marcelo
Si actualizas a 9.04 ya vas a formatear, aprovecha de hacerlo con ext4, es más rápido que ext3, el sistema de archivos por omisión.
Ver Todos Páginas: [1] 2 Próximos 30 Comentarios →
Ver Todos Páginas: [1] 2 Próximos 30 Comentarios →