Sonido en Debian con dmix
Viernes, 1 Diciembre 2006
¡Hola!
Llevaba un tiempo bastante mosqueado con mi Debian por el tema del sonido. El problema me resultaba un tanto extraño y, hasta donde llegan mis conocimiento, no tenia solución: los sonidos de sistema así como los del escritorio (Gnome, of course) y los de diversos programas (amsn, gaim, beep-media-player) funcionaban bien, pero tenía ahí la espinita clavada. Al reproducir un vídeo, en cualquier formato, podía visualizarlo, pero no escucharlo. Totalmente frustrante. A continuación explicaré como se consigue solucionar este molesto tema.
Probé mil soluciones, lo primero instalé los codecs de Windows, el paquete w32codecs, porque tengo un montón de vídeos en .avi o .wmv, del repositorio de Debian Marillat. Nada. Reconfiguré alsa. Nada. Instalé paquetes adicionales de alsa, como alsaplayer-esd. Nada. Imposible mil búsquedas en San google, que todo lo sabe, pues tampoco. Nothing de nothing. Encontré una “solución”, que no era tal, ya que conseguía sonido en los reproductores de vídeo a costa de matar el esd y quedarme sin sonido en Gnome
. Desesperado y hasta los cojones de todo, acudí a Mario, mi “gurú” particular, jeje. En cuanto se lo expliqué dijo la palabra clave: dmix.
¿Qué es dmix? Quizá a alguien le pase lo que a mí, que le dicen dmix y es como si no le dijeran nada. El dmix es un plugin que tiene alsa para solucionar el siguiente problema, el que tienen algunas tarjetas de sonido (la mía es una de ellas, una Realtek ALC850 integrada en placa compatible con AC97) al no poder reproducir varias salidas de sonido a la vez. Lo que hace dmix es generar un mezclador virtual, por así decirlo, resolviendo el problema mediante software.
Veamos lo que hay que hacer para usarlo. Lo primero matar el esd e instalar un par de librerias:
# killall esd
# apt-get install libesd-alsa0 alsa-oss
Una vez hecho esto, ya podemos hacer uso de dmix. Para ello editamos el fichero /etc/asound.conf. Yo por ejemplo no lo tenia, pero lo creé y funcionó también.
# software mixing across all apps. # # http://alsa.opensrc.org/index.php?page=AlsaSharing # http://alsa.opensrc.org/index.php?page=DmixPlugin
pcm.dmix0 {
type dmix
ipc_key 219345 # any unique number here
slave {
pcm "hw:0,0"
period_time 0
buffer_time 0
period_size 2048 # jm: much smoother than 1024/8192!
buffer_size 32768
rate 48000
}
bindings {
0 0 # from 0 => to 0
1 1 # from 1 => to 1
}
}
pcm.dsp0 {
type plug
slave.pcm "dmix0"
}
# this makes native ALSA apps default to using dmix
pcm.!default {
type plug
slave.pcm "dmix0"
}
ctl.dsp0 {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
Editamos por último el fichero /etc/libao.conf, y le cambiamos por esto:
default_driver=alsa
Con esto, si Debian ya sabe que debe usar alsa como servidor de sonido. ¡Así de fácil y yo volviéndome loco dos semanas!
Sólo me resta agradecer a Mario la idea, y a Leandro Mocek y su genial post, que seguí al pie de la letra para arreglar el engorro que suponía el no poder un vídeo sin tener que perder el sonido en el sistema.


Jueves, 7 Diciembre 2006 a las 23:23
# http://alsa.opensrc.org/index.php?page=DmixPluginpcm.dmix0 {
a esa linea le falta un salto de linea
Viernes, 8 Diciembre 2006 a las 15:33
Hola, acabo de leer tu comentario y estás en lo cierto. Gracias por tu aportación. Ahora mismo lo cambio. Ciao.
Sábado, 5 Mayo 2007 a las 6:28
Amigo, no me queda nada mas que agradecerte, en hora buena encontré tu blog, porque mes estaba pasando el mismo problema que tu, exactamente lo mismo, aunque con una tarjeta de sonido diferente.
segui los pasos tal cual los diste y todo funciono normal.
asi que gracias denuevo.
Sábado, 5 Mayo 2007 a las 12:04
Hola, fod. Muchas gracias por el comentario, es realmente gratificante leerlo. Me alegro de que te sirviera de ayuda el artículo.
Un saludo.
Jueves, 5 Julio 2007 a las 23:29
Hola, muy bueno tu blog, tal como dijeron antes, solo tengo una duda, esa variable de /etc/libao.conf
“default_driver=alsa”
que influye, y donde obtengo las variables a incluirle, ya que tengo Ubuntu 6.10, y en ese archivo me sale:
“default_driver=alsa09″
Saludos
Sábado, 10 Noviembre 2007 a las 23:21
[...] Sonido en Debian con dmix « El (Otro) Trastero de Mazi Una maniera alternativa di mixare il suono. (tags: linux audio esound server alsa oss mixer) [...]
Lunes, 12 Noviembre 2007 a las 14:41
[...] [via El (Otro) Trastero de Mazi] [...]
Martes, 29 Enero 2008 a las 19:46
Yo tengo una tarjeta de sonido USB de Griffin Tecnology y después de configurar con alsaconf el mixer no funcionaba. A primera prueba crear /etc/asound.conf quedó y ya no tengo que callar una aplicación para que funcione otra. Muchas gracias
Viernes, 22 Febrero 2008 a las 17:47
[...] Sonido en Debian con dmix « El (Otro) Trastero de Mazi [...]
Viernes, 16 Enero 2009 a las 15:42
Excelente el aporte Mazi, gracias por compartir la solución