jueves, abril 21, 2011

CONFIGURAR SERVIDOR DE SONIDO PULSEAUDIO EN DEBIAN

                                  


Con este Howto he querido hacer si cabe más sencilla la instalación del servidor de sonido de PULSEAUDIO en DEBIAN, servidor con el que actualmente vienen casi todas las distribuciones de “serie” y que permite el poder “mezclar” varios sonidos al mismo tiempo, así como un montón de ventajas que no voy a enumerarlas....

Para poder efectuar una instalación correcta del mismo procederemos con los siguientes pasos:

1. Borrar archivos configuración del sistema de sonido de los /home de cada usuario, así que desde una terminal en cada carpeta /home de cada usuario borramos los archivos de configuración:
rm -r ~/.pulse ~/.asound*

2. Borrar archivos conflictivos:
sudo apt-get remove --purge libflashsupport flashplugin-nonfree-extrasound

3. Instalar/Reinstalar archivos necesarios:
sudo apt-get install libasound2-plugins padevchooser libsdl1.2debian-pulseaudio pavucontrol paprefs pullseaudio-utils padevchooser paman 

4. Quitar el módulo snd_pcm_oss, para que aplicaciones basadas en servidor oss se salten pulseaudio, mediante la orden:
sudo rmmod snd_pcm_oss
A continuación hay que indicarle al sistema que no lo cargue de inicio, añadiendo la linea blacklist snd-pcm-oss al archivo blacklist.conf; con el siguiente comando abrimos el archivo para editarlo:
sudo gedit  /etc/modprobe.d/blacklist.conf
Y añadimos la linea al final
blacklist snd-pcm-oss

5. Hacemos que gstreamer (motor de audio interno de gnome) utilice el servidor pulseaudio, con las siguientes órdenes:
gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink
gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosrc pulsesrc

La siguiente orden es para que programas como banshee o rhythmbox que ignoran el audiosink no se salten el demonio de pulseaudio:
gconftool-2 -t string --set /system/gstreamer/0.10/default/musicaudiosink pulsesink

6. Para que aplicaciones basadas en openal no se lo salten:
Editamos el archivo correspondiente con la orden: 
sudo gedit /etc/openal/alsoft.conf
Y sustituimos la linea drivers=.... por la siguiente:
drivers=pulse,alsa

7. Para aplicaciones basadas en libao no se lo salten realizamos la misma operación anterior:
sudo gedit /etc/libao.conf
default_driver=pulse

8. Para que funcione mplayer con pulseaudio:
sudo gedit /etc/mplayer/mplayer.conf
y buscamos la linea que comience por ao=... y la cambiamos por esta:
ao=pulse

9. Ahora toca la configuración esencial de pulseaudio para que todo el sonido pase por el demonio. 

Editamos el archivo asound.conf (nota: esto sirve para todos los usuarios, si no deberíamos crear un archivo para cada uno de ellos en el home con el nombre .asoundrc, pero creo que así es más práctico).

Ingresamos la siguiente orden:
sudo gedit /etc/asound.conf 
Y pegamos el siguiente contenido según sea para el entorno GNOME o KDE

#####################CONFIGURACION PARA GNOME##########################
### Para gnome le indicamos que lo que pasa por alsa lo ejecute pulseaudio
 
pcm.pulse {
   type pulse
}
ctl.pulse {
   type pulse
}
pcm.!default {
   type pulse
   hint.description "Default Audio Device"
}
ctl.!default {
   type pulse
}


## Para tener canal interno de grabación, por ejemplo con AUDACITY añadiremos las siguientes lineas.
## Nota: la linea de device de  alsa_output.pci-0000_00_1b.0.analog-stereo.monitor debe copiarse de la salida del comando “pactl list” ya que la numeración cambia según la configuración de tu equipo.

pcm.pulse_monitor {
 type pulse
 device
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor}

ctl.pulse_monitor {
 type pulse
 device
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor}
#########################################################################
 


##################CONFIGURACION PARA KDE################################
### Posteriormente deberás iniciarlo con el comando: sudo pulseaudio --system=1 --high-priority=1 -D
### Y hacerlo por preferencia el principal servidor de sonido con el siguiente comando: sudo setup-pulseaudio --enable

pcm.phononpulse {
type plug
slave.pcm {
type pulse
}
hint {
show on
description "PulseAudio"
}
}

##########################################################################

10. ULTIMOS RETOQUES

AUTOSPAWN
El concepto autospawn sirve para “resucitar” el demonio pulseaudio, es decir si en algún momento lo matas con la orden pulseaudio --kill, el volver a “autoenchufarse” de nuevo
Si en el archivo /etc/pulse/client.conf , la configuración "autospawn = yes", genererá que las aplicaciones que usan Pulseaudio pueden iniciarlo automáticamente anulando el chequeo de el flag del perfil de accesibilidad, el que solo se realiza en el inicio de sesión de GNOME. Sin embargo el “autospawn = no” deberá de iniciarlo de nuevo con la orden start-pulseaudio-x11 o pulseaudio --start
Recuerda que si modificas esto deberías borrar de nuevo los perfiles de cada uno con la orden rm -r ~/.pulse ~/.asound*

CORTES
Si se producieran cortes en la ejecución del sonido tendrás que efectuar los siguientes pasos:
Editar el archivo daemon.conf:
sudo gedit  /etc/pulse/daemon.conf
Descomentar las lineas siguientes, es decir quitar el punto y coma y cambiarles los parámetros, de forma que queden así:
default-fragments = 16
default-fragment-size-msec = 21
default-sample-rate = 48000

12 comentarios:

  1. Muy bueno el howto!

    Por fin he conseguido hacer funcionar el banshee :D

    pero ahora las teclas de control de volumen no funcionan, sabes que se puede hacer?

    ResponderEliminar
  2. Perdona pero he estado de vacaciones y no te he podido contestar antes, desde el movil se me da muy mal teclear. Lo primero es saber si funcionas con GNome o Kde, infórmame de eso y del portatil que tienes y despues si tienes activado en autospawn o no. Saludos!!!

    ResponderEliminar
  3. Gracias, contesta cuando puedas, no hay prisa.

    El problema según he visto es porque uso Fluxbox y no tengo instalado cierto demonio de gnome.

    De todas formas, me retracto, voy a desinstalar pulseaudio, ya que lo hice por banshee, y este (en la versión de debian 1.6 creo...) va bastante mal, a parte de todos los inconvenientes que estoy teniendo con pulseaudio (principalmente el no poder controlar el volumen con el teclado).


    Aún así, tu articulo está muy bien explicado, además con el he conseguido hacer funcionar pulseaudio y poder probar banshee (aunque luego este me decepcionara)

    ResponderEliminar
  4. Si realmente pulseaudio con debian es dificil que funcione bien, si utilizas fluxbox con alsa te irá genial... En el pc estoy probando archlinux con fluxbox y pulseaudio y funciona de maravillas, con lo que creo que es un problema de debian más que de pulseaudio, no obstante es como todo todo tiene sus pros y sus contras, un saludo y espero haberte ayudado

    ResponderEliminar
  5. Como guardo la configuracion de mi sonido, es decir los balances, uso como alternativa alsamixer-gnome, configuro mi sonido de manera correcta, pero cuando cierro el reproductor de musica o suena una alarma del sistema se desconfigura el sonido y vuelve a los valores por defecto, que archivo puedo modificar para solucionar este problema, tengo instalado debian wheezy 64 bits con Gnome 3

    ResponderEliminar
  6. Paso 3 tiene un error tipográfico 'pullseaudio-utils' debe ser:

    3. Instalar/Reinstalar archivos necesarios:
    sudo apt-get install libasound2-plugins padevchooser libsdl1.2debian-pulseaudio pavucontrol paprefs pulseaudio-utils padevchooser paman

    ResponderEliminar
  7. no sale el sonido por los parlantes de la laptop, solo tengo sonido en la salida de los auriculares en ese caso que hago tengo una laptop con beatsaudio en una dv6t-7000

    ResponderEliminar
  8. Hola, de casualidad sabes como es la configuracion de sonido 5.1 en elementary OS

    ResponderEliminar
  9. Disculpen no haber contestado antes, el howto es de hace muchisimo tiempo, y este blog lo cerré hace tambíen mucho tiempo, no obstante les respondo:
    - Como guardo la configuracion de mi sonido? Primero no creo que sea buena opción mezclas alsamixer con pulseaudio, segundo mirate esto a ver si te puede ayudar: http://askubuntu.com/questions/50067/howto-save-alsamixer-settings
    el comando sería alsactl
    - Paso 3 tiene un error tipográfico... Es verdad, vaya zarpas que estoy hecho, tienes toda la razón
    - no sale el sonido por los parlantes de la laptop... Pues la verdad es que con esa información no se si te podré ayudar, es dificil saber porqué, te ha funcionado siempre bien???, Miraria en los ajustes de pulseaudio a ver si te reconoce los altavoces, y según lo que veas deberías actuar de una manera u otra.
    - como es la configuracion de sonido 5.1 en elementary... Primero elementary luna o Freya??? Si es luna es un bug de elementary que no se llevaba bien con el 5.1, si es freya debería funcionarte sin hacer nada.

    PARA TODOS:
    Fíjense que este tutorial es de 2011, cuendo pulseaudio tenía MUCHOS problemas para funcionar en debian. Hoy en día debería funcionar PULSEAUDIO en debian sin nigún tipo de problema, personalmente borraria la carpeta de .pulse del usuario y no haría ningún cambia, he estado utilizando debian hae poco y no tuve que hacer nada de nada.

    Gracias y espero ayudado. Mi nuevo blog está en wordpress:
    http://karlinux47.wordpress.com/

    ResponderEliminar