- Estréllate y Arde - https://www.estrellateyarde.org -
Reproductor de audio en Linux
El problema del sonido en Linux
Tradicionalmente el sonido ha sido complicado en Linux debido a la coexistencia de varios sistemas.
El sistema de sonido de Linux para los kernel 2.6 es ALSA, que ha reemplazado al que fuera el primer sistema de sonido para GNU Linux, OSS. El problema de OSS es que creaba una capa de lectura/escritura directa en el dispositivo de audio que permitía a los programas escribir en /dev/dsp pero que no permitía compartir el dispositivo de sonido a varias fuentes de audio. Por ejemplo, el editor de sonido Audacity se adueña de /dev/dsp e impide que otro escriba en él y si otro programa ha bloqueado ya el dispositivo da error.
Para los kernel 2.6 no instalaremos los módulos OSS sino los módulos ALSA (con emulación OSS ya que algunos programas esperan que OSS esté instalado).
Por encima de la capa de lectura/escritura de los dispositivos se ejecutan diversos servidores de sonido: esound (de Enlightenment y GNOME), artsd (de KDE), JACK (que utiliza ALSA como back-end) y PulseAudio.
Tantos servidores de sonido muchas veces dan problemas, ya que si tenemos ejecutables compilados para diferentes bibliotecas tendremos varios demonios compitiendo por la salida de audio.
Veamos el procedimiento a seguir para tener sonido en Linux:
El kernel tiene que tener soporte para:
Si la tarjeta es ISAPnP (por ejemplo, Avance Logic ALS100), se tiene que activar at boot time, antes de cargar el módulo ALSA.
En la BIOS, ¿El sistema operativo es PnP? No.
Instalar el paquete isapnptools. Esto creará el script /etc/init.d/isapnp y el enlace /etc/rcS.d/S15isapnp, que se encargarán de configurar la tarjeta ISAPnP al iniciar.
Con pnpdump sabremos los datos de la tarjeta y del puerto en que está conectada. Ejecutar:
# pnpdump > /etc/isapnp.conf
Editar /etc/isapnp.conf y descomentar las líneas adecuadas:
io=0x03e8 irq=5 dma0=1 dma1=0
Activar la tarjeta ISAPnP ejecutando el comando:
# /etc/init.d/isapnp start
Recursos
Cargaremos los módulos con modconf para que se actualice el archivo /etc/modules y se carguen al iniciar, pasándole los parámetros necesarios, por ejemplo:
port=0x0220 irq=5 dma8=1 dma16=0
sb_port=0x220 irq=5 dma1=1 dma2=0 fm_port=0x388 midi_port=0x330 port=0x538 wss_port=0x530 isapnp=0
Instalaremos las Herramientas ALSA (paquete alsa-utils) y se creará /etc/init.d/alsa y el enlace /etc/rc2.d/S12alsa, por lo que al iniciar se cargará la configuración ALSA (entre otras cosas, restaurará los valores del volumen). Por defecto el sonido suele estar mute, por lo que ejecutaremos alsamixer para hacer unmute:
# alsamixer
MM significa que el canal está silenciado: quitaremos la MM con la tecla <m> y subiremos el volumen de la tarjeta a un nivel audible:
Existen numerosos mezcladores gráficos (todos son frontales de alsamixer):
En este punto, ya deberíamos tener sonido. Para comprobarlo:
# cat /dev/urandom > /dev/dsp
Si todo está correcto se escuchará estática. Detenerlo con <Ctrl+C>.
# cat /proc/asound/cards 0 [Live]: EMU10K1 - Sound Blaster Live! Sound Blaster Live! (rev.6) at 0xb800, irq 11
# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.8
Soporte de formatos de audio propietarios en Linux
Todos los reproductores linuxeros de audio y vídeo incluyen el decoder y reproducen MP3 pero ninguna distro trae el encoder ya que las patentes impiden distribuir binarios. El encoder para Linux es Lame (lame.sourceforge.net, paquete lame), pero en su web sólo encontraremos el código fuente, que sí es legal distribuirlo, por lo tendremos que compilarlo o buscar un repositorio que lo distribuya compilado.
Si al instalarlo no se instala libmp3lame.so, la librería que buscan algunos programas (como Audacity), sino libmp3lame.so.0, lo solucionaremos creando el enlace:
# ln -s /usr/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so
El encoder para Linux para AAC es FAAD (Freeware Advanced Audio Decoder, sourceforge.net/projects/faac/, paquete faad).
Equivalencias en Windows: Winamp.
Article printed from Estréllate y Arde: https://www.estrellateyarde.org
URL to article: https://www.estrellateyarde.org/equiv/audio-en-linux
Click here to print.
Copyright © 2010 Estrellate y Arde