02 mayo 2006

Sonido full duplex con ALSA

Recuerdo alguna vez haber tenido la inquietud de configurar mi tarjeta de sonido para que emitiera varios sonidos simultáneos pero el resultado fue nefasto. Al final lo que hice fue configurar algunas aplicaciones con alsa y otras con arts para asi tener sonido simultáneo pero la solución no era la correcta.

Pero... ¿qué es eso de full duplex? bueno, he leído mucho al respecto y muchas personas tienen una concepción errada al término (me incluyo). Todos creen que es la capacidad que tiene la tarjeta para emitir varios sonidos en forma simultánea, pero eso es incorrecto. Según ALSA, full duplex se refiere a la capacidad que tiene la tarjeta de sonido para emitir un sonido y grabar otro en forma simultánea.

La capacidad de emitir varios sonidos en forma simultánea se llama Direct Mixing.

Para configurar el diirect mixing sólo basta tener instalado los drivers de ALSA y crear un archivo en /etc.

La receta es la siguiente:

1.- en consola escribir lo siguiente: vi /etc/asound.conf
2.- luego agregar lo siguiente:

pcm.!default {
type plug
slave.pcm "dmixer"
}

pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings {
0 0
1 1
}
}

ctl.dmixer {
type hw
card 0
}

3.- guardamos el archivo, configuramos todas nuestras aplicaciones para que emitan sus sonidos por ALSA y luego reiniciamos nuestro linux, al entrar nuevamente hagan la prueba y verán que ya tienen sonidos simultáneos.

Facil cierto...

1 comentario:

Anónimo dijo...

Buena explicación Victor, me solucionaste el problema :D... Puse un link en mi blog hacia este post, asi más gente con el mismo problema encuentra solucion.

Saludos!