jci's blog

Earthquakes can't stop the rock

« We will feed you to a kraken :: I was compelled to do it, but my roomie told me not to, so i threw him the PS3 control »

Escrito el 06/17/09 07:33:57 pm por jci

In bed with flu, you get some real quality time with your computer

Categories: GNOME, Tarros, GNU/Linux, Hacks, Ubuntu, Musica

Lo bueno de estar con gripa es que tienes un monton de tiempo para intentar no aburrirte (si es que la vida de uno ya es enteramente aburrida, como la mia). Claro que los antigripales y las mezclas con vitaminas hacen que uno este triplemente activo de noche, a no ser de mandarse unas cuantas pseudoefedrinas o algun antiestaminico. Pero bueh, no les voy a andar enseñando a hacer pebre su higado, sino a hacer pebre su computador.

Esta vez, la pelea mas rotunda : Jackd y Pulseaudio.

Por la cresta. Desde hace un tiempo que la inclusion de Pulseaudio ha sido en parte beneficiosa para GNOME (lease : Ubuntu Jaunty), pero no para mi caso puntual : no hay aplicaciones basadas en Pulseaudio que sirvan para grabar audio de calidad (como Ardour, ya que es Jack-dependiente). Como siempre, termino comprando cosas que no necesito y algunas que llegan de regalo. Como una mezcladora nueva que venia con una tarjeta de sonido USB Behringer:

jci@zaphod:~/Copied$ lsusb
Bus 001 Device 002: ID 152d:2339 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 0a5c:2039 Broadcom Corp. Bluetooth Device
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 010: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 004 Device 009: ID 045e:00b9 Microsoft Corp. Wireless Optical Mouse 3.0
Bus 004 Device 008: ID 03eb:0902 Atmel Corp.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 08bb:2902 Texas Instruments Japan
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

(Que hace un Mouse Microsoft? Fue un regalo. Y diablos que ha servido.)

El unico problema es Linux. Las fundaciones de Audio son realmente mal hechas. OSS (que a sorpresa de muchos, se sigue usando para aplicaciones Legacy, como Skype :B ), ALSA (que ya es un parto, pero no voy a seguir hablando mal de el por que hay muchos sitios que lo descueran), ESD (estaba bueno que reemplazaran a este) y Pulseaudio. Ademas que existe Jackd que de hecho lo mostre en el ultimo Encuentro Lainuc en Concepcion. Las autoconexiones y otras cosas que lo hacen un lugar bonito para vivir.

Pero no! Pulseaudio se niega a dejar el bote:

jci@zaphod:~$ killall pulseaudio
(varios segundos despues)
jci@zaphod:~$ sh jackdrc
(challa)
jci@zaphod:~$ killall jackd
jci@zaphod:~$ ps afux | grep pulse
jci 4754 0.0 0.0 4784 536 ? Ss Jun16 0:00 \_ /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
jci 4760 0.0 0.0 3144 652 ? S Jun16 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/pulse-session /usr/bin/seahorse-agent --execute x-session-manager
jci 31884 0.0 0.0 3336 792 pts/4 S+ 19:39 0:00 | \_ grep pulse

Asi ad infinitum. Pulseaudio se niega a irse a pique y la que lo vino a parir.

Hay un monton de soluciones (como desinstalar Pulseaudio), aunque encontre una manera ENTRETENIDA de arreglar todo esto.

  • Desinstalar Pulseaudio! JA! :B
  • Decirle a Pulseaudio que sea un buen ciudadano y que respete a las aplicaciones. Y se eche en el rincon hasta cuando se le llame.

    Editar /etc/pulse/client.conf y cambiar la linea
    autospawn = yes
    por
    autospawn = no

    Y darle a un reinicio al servicio Pulseaudio. Se aconseja salir de la sesion, aunque tambien un reboot lo vale.

    Luego, crear un archivo ~/.pulse/jackd.pa con lo siguiente:
    load-module module-jack-source
    load-module module-jack-sink

    Despues de cargar jack:

    jci@zaphod:~$ /usr/bin/jackd -p128 -dalsa -dhw:1,0 -r48000 -p2048 -n4 -Xseq

    Iniciar Pulseaudio con lo siguiente:

    killall pulseaudio
    pulseaudio -DnF ~/.pulse/jackd.pa

    Y que creen? Hasta puede usarse el multiple output!

Pulseaudio y Jackd vuelven a ser los compañeros aperrados que uno siempre quiso tener en su computador.

NOTA : cuando deshabiliten el modo de autospawn, pulseaudio va a subir siempre y cuando haya una aplicacion Pulseaudio-aware (como Totem). En este caso, intentara incluso llamar a Jackd al iniciar:

jci@zaphod:~$ totem test1.wav.mp3
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
no message buffer overruns

Los grises y chaparritos son los de temer.

3818 views » 1 feedback »

1 comment

Comment from: Daniel "danthux" Aguayo C. [Visitor] · http://gnuchile.cl
*****
:o personalmente no he tenido problemas con pulseaudio y lo uso ya desde su primera inclusión hace algunos meses en Arch.

Específicamente, lo configuré para que alsa lo utilizara, como sale en la wiki de la distro, chk si quieres, quizás sirva a tu infoadicción, haha, si es que aún no lo has leído:

http://wiki.archlinux.org/index.php/Pulseaudio

saludos
07/05/09 @ 11:59

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
PoorExcellent
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)

Acerca de este glob

On the Sixth Day, there was a Running Man looking for a Predator to stop a Raw Deal with a Commando. Only True Lies were said. But nao, Junior is about to get Twins, with the help of a Kindergarden Cop. That will be the Terminator of all struggles.

Archives