Reproducir y controlar sonido.

Arnau Sanchez arnau en ehas.org
Mie Sep 26 15:44:00 CEST 2007


Buenas,

> Para el software que estoy programando, necesito reproducir y controlar 
> algunos parámetros de sonido, siempre en modo consola y la aplicación de 
> sonido funcionando en segundo plano.
> He pensado en algunas librerías como GStreamer, pero me pregunto que qué 
> librerías lleva python para esto. El sonido que manejaré será mp3 y wav.

Como te dicen, pygame es la solución más sencilla, es perfectamente 
capaz de reproducir ficheros wav y mp3. Sin embargo, no parece la 
solución ideal, estarías poniendo como dependencia una librería para 
correr juegos, de la cual sólo usarás una pequeñísima parte. Por otra 
parte, la librería de sonido de pygame tampoco es ninguna maravilla, 
sólo controla dispositivos oss (/dev/dspX), que ya se está quedando 
anticuado frente a las librerías alsa, esd, artsd, jackd, etc.

Si miras las dependencias de python-gst, verás las aplicaciones que la 
usan, que son bastantes:

$ ardepends python-gst

dconverter quodlibet python-pigment python-coherence pitivi oggconvert 
minirok listen jokosher istanbul gnome-app-install flumotion exaile 
elisa decibel-audio-player soundconverter serpentine quodlibet listen 
jokosher istanbul

El problema de GST es que se trata de un framework muy versátil, así que 
su uso no es tan sencillo (mientras que en pygame puedes reproducir un 
sonido en apenas 3 líneas de código, mírate el test.py que acompaña a GST).

Sería bueno saber si esto que cuentas forma parte de la tarea principal 
de tu aplicación (tipo reproductor de sonido) o es algo secundario. Si 
es el primer caso, sí toca usar una librería python (GST, pygame, ...), 
pero si, por contra, es algo auxiliar, yo no lo dudaría y usaría las 
aplicaciones del sistema operativo que saben lo que hacen: "play", en 
este caso (paquete sox)

arnau




Más información sobre la lista de distribución Python-es