A veces el servidor de sonido esound es un latazo porque impide que otras aplicaciones que hacen uso del hardware de sonido puedan funcionar. De modo que para jugar a algunos juegos necesitamos apagar el servidor de sonido y siempre resulta algo tedioso.

Ingredientes

  • alsa-oss

¿Por qué ocurre esto?

Porque nuestra tarjeta no tiene la habilidad de mezclar distintos canales de audio. Algunas tarjetas disponen de
mezclador por hardware pero no es muy habitual en las que vienen de serie con muchos ordenadores o con los portátiles. Entonces ¿por qué en windows si se puede acceder de forma concurrente al sonido y en GNU/Linux no? Porque los drivers de windows de las tarjetas que no tienen mezcla por hardware incorporan de serie un mezclador por sofware. La buena noticia es que con Alsa también se puede hacer. Vamos a ver cómo .

Manos a la obra

Pues bien, tan solo necesitas instalar el paquete alsa-oss, editar el fichero /etc/asoundrc y copiar dentro lo siguiente:

# .asoundrc for use with ALSA and the dmix plugin, for ALSA-level
# software mixing across all apps.
#
# http://alsa.opensrc.org/index.php?page=AlsaSharing
# http://alsa.opensrc.org/index.php?page=DmixPlugin
pcm.card0 {
    type hw
    card 0
}

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
}

Si usas esound tendrás que instalar el paquete libesd-alsa0 y editar el fichero /etc/esound/esd.conf para que quede así:

[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 2 -d default
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=

Si tienes libao edita además el fichero /etc/libao.conf para poner lo siguiente:

default_driver=esd

Y eso es todo.



blog comments powered by Disqus