MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Sistemas de sonido en red, futuro cercano

La implementación de esd en clientes ligeros es usada por PXES, LTSP y por mi proyecto TCOS, ayer en el wiki de ubuntu redescubrí un proyecto que ya había visto antes en el planet-gnome: PulseAudio.

PulseAudio (antes conocido como Polypadio) es un sistema de sonido en red impresionante y está llamado a ser el sustituto del betusto ESound Daemon en la versión 2.18 de Gnome. Supongo que además de ser el corazón musical del próximo gnome se usará para una multitud enorme de labores, por ejemplo, ¿qué tal tener enchufado al servidor de tu casa el equipo de música y en el portátil reproducir a través de los altavoces del equipo de música, previo paso por el servidor? ¿sistemas home-cinema?....

UPDATE: Se me olvidaba comentar que entre otras cosas que permite están, por ejemplo, reproducir en varias tarjetas de sonido a la vez (en distintos equipos=streaming), soporta zeroconf, gracias al demonio avahi (autodescubrimeinto de servicios, hardware, etc..), mezclar dos tarjetas de sonido, o incluso combinarlas para conseguir 4 salidas en vez de dos o compartir un microfono en una red (varios hablan y suena por el mismo sitio o por varios = audioconferencia). También funciona en WINDOWS !!!!

El problema que me he encontrado es que nadie lo ha empaquetado para debian (alguien empezó y se cansó) ubuntu tampoco. Así que al ver que la versión 0.9.4 no compilaba descargue la rama SVN.

PulseAudio es el paquete que más tiempo me ha llevado empaquetar de los muchos que tengo en mi mirror personal ya que lo he dividido en varios y he empaquetado además las utilidades (que son bastantes):
  • pulseaudio_0.9.4-2_i386.deb los binarios
  • pulseaudio-modules_0.9.4-2_i386.deb los módulos
  • libpulseaudio0_0.9.4-2_i386.deb las librerías
  • libpulseaudio0-dev_0.9.4-2_i386.deb las cabeceras .h y la parte .la y .a de las librerías
Me faltan sacar las dependencias correctamente ya que los plugins no son escaneados por dh_shlibdeps. Cuando lo tenga un poco más pulido lo colgaré de algún sitio. A todo esto, idefix.eup.uva.es está apagado POR OBRAS.

Las utilidades son:
  • paman_0.9.2-1_i386.deb Centro de control de PulseAudio (más adelante hay capturas)
  • pavucontrol_0.9.3-1_i386.deb Controla los volumenes de los sinks y sources
  • pavumeter_0.9.2-1_i386.deb Monitor de volumen
  • padevchooser_0.9.2-1_i386.deb Mini aplicación para la barra de tareas que permite seleccionar el servidor y lanza los anteriores.
y los siguientes plugins:
  • gstreamer0.10-pulse_0.9.3-1_i386.deb plugin para gstreamer
  • libao-pulse_0.9.3-1_i386.deb plugin para libao
  • xmms-pulse_0.9.3-1_i386.deb plugin de salida para xmms
  • beep-media-player-pulse_0.9.3-1_i386.deb plugin de salida para beep-media-player

Básicamente lo que hace es arrancar un servicio, se cargan una serie de módulos (definidos en un guión de arranque) y si así se pide publica una cookie en la sesión X11 lanzada (para temas de autenticación).

He metido algun binario dentro de la imagen TCos (ocupa 2,7 Mb a mayores) y ya tengo PulseAudio funcionando con Tcos.

La conexión es por medio de una variable de entorno PULSE_SERVER="tcp:192.168.0.11:4713".

Esto es una captura del terminal, corriendo sobre vmplayer y reproduciendo en beep-media-player un temilla (dark la eme):



Este es el aspecto de paman (PulseAudio Manager) ejecutado fuera de Tcos, desde mi sesión:



he compilado el plugin de salida PulseAudio para xmms y para beep-media-player, pulseaudio publica la información del stream. La latencia es un poco más de medio segundo, que para sonido en red esta muy bien.



Monitor de volumen, se mueve y todo:



Información de la fuente (el volumen se puede subir o bajar de 100%)



Este es el control de volumen. ESound no permite modificar el volumen de un servidor de sonido en modo remoto, PulseAudio si. Incluso pulse audio permite GRABAR y controlar el volumen del micro.



Articulos relacionados:

Comentarios

  1. Maci Felicidades Mario
    25/08/2006 | 09:54

    Bueno, a estas alturas sobran alagos, los que te conocemos sabemos lo que vales, pero nunca dejas de sorprenderme, me das sana envidia.
    Nos vemos pronto

  2. ARTUR Felicidades Y Pregunta
    14/10/2006 | 06:36

    Felicidades por tu blog me da gusto saber ke no soy el unico ke ha entrado
    a linux , y otra cosa kisiera saber sino me puedes decir de donde puedo bajar los codecs de win32 para ubuntu en formato deb y como inicio para empezar a programar como tu

    mil gracias de ante mano

Comentarios cerrados