He roto algo: xruns en tromba

supertorpe
#1 por supertorpe el 01/09/2011
Hoy he estado toqueteando temas del audio y he debido romper algo, pero no encuentro el qué (creo que no he tocado nada en la configuración de jack). Resulta que levanto jack como siempre (con qjackctl) y enseguida empieza a dar xruns en tromba, pero sin tan siguiera realizar ninguna tarea con el audio. No te digo ya si intento utilizar qsynth con un sf2 ligerito: suena terrible y la tromba de xruns amenaza con desbordar la pantalla del qjackctl.
Incluso aumentando los valores de cuadros/periodo y periodos/buffer hasta niveles ridículos.
Esta mañana funcionaba perfectamente (incluso con pulseaudio instalado). Lo he desinstalado, he actualizado Alsa con el famoso script, he reinstalado pulseaudio... y en ningún momento he logrado que vuelva a funcionar. Bueno sí, he arrancado un liveUSB con TangoStudio y ahí va perfecto :)
Tengo Ubuntu 11.04 (ahora mismo con pulseaudio). Os adjunto pantallazo de la configuración de jack.
Archivos adjuntos ( para descargar)
conf.jpg
conf.jpg
Subir
OFERTASVer todas
  • beyerdynamic DT-770 Pro
    138 €
    Ver oferta
  • -8%
    Behringer X Air XR18
    645 €
    Ver oferta
  • -26%
    AKAI MPC Key 61
    1.290 €
    Ver oferta
supertorpe
#2 por supertorpe el 01/09/2011
Bueno, he configurado qsynth así:

- controlador midi: alsa_seq
- controlador audio: alsa (porque como ponga jack empieza a dar xruns en tromba)

y por lo menos lo puedo hacer sonar bien sin necesidad de levantar jack.
Eso sí, cuando levanto jack, empieza a mostrar xruns en el qjackctl.
Subir
pdro74
#3 por pdro74 el 01/09/2011
Si el liveCD va bien, quiere decir que el hardware está ok, el problema solo estará en el software, digo yo. Eso es bueno. Si tu tarjeta es usb, los 3 periodos/buffer está bien, si no, prueba con 2. De todas formas, tampoco es para que se disparen los xruns. Si te sirve, yo uso TangoStudio con una Audiophile 24/96. 3ms de latencia en Ardour, y estable como una roca. Y sin tener que configurar nada.
Subir
anecochea
#4 por anecochea el 01/09/2011
A mi me pasa eso con los kernels que no tienen soporte de tiempo real para audio (podría ser esa la explicación)
Escribe esto en un terminal:
uname -s -r

Y veamos que sale. Si es el kernel, la solución podría ser el kernel abogani (aunque no creo que sea esta la respuesta, revisa esto)

Pero por otro lado dices que te funcionaba bien hasta hoy.
¿que dicen los mensajes de jack?
Subir
Pablo_F
#5 por Pablo_F el 01/09/2011
No sé si tendrás más de una pero hay que estar precavidos ante el problema de la numeración inconsistente de tarjetas de audio. Es mucho mejor que la llames por nombre. Por ejemplo, "hw:Intel", en lugar de "hw:0" o (default). Mira la salida de "cat /proc/asound/cards". En mi caso, (ahora mismo en el netbook):

$ cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0x56340000 irq 44

Aquí como sólo tengo una no habría problema, pero si tuviera dos y quisiera usar la integrada, escribiría en el campo interfaz:

hw:Intel

(que aparece entre corchetes, en tu caso será diferente)

Mira también que no tengas el wireless activado. Y de paso, mira la salida de

cat /proc/interrupts

Lo ideal es que la tarjeta de audio no comparta número de IRQ con ningún otro dispositivo.
Subir
supertorpe
#6 por supertorpe el 02/09/2011
Sólo tengo la tarjeta integrada:

$ cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfe700000 irq 47

$ lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

Estos son los mensajes de jack:

00:43:40.950 JACK está iniciándose...
00:43:40.951 /usr/bin/jackd -dalsa -dhw:0 -r44100 -p1024 -n2
Cannot connect to server socket err = No existe el fichero o el directorio
Cannot connect to server socket
jack server is not running or cannot be started
00:43:40.974 JACK se inició con PID=2042.
no message buffer overruns
no message buffer overruns
jackdmp 1.9.7
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2010 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
control device hw:0
control device hw:0
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|1024|2|44100|0|0|nomon|swmeter|-|32bit
control device hw:0
Using ALSA driver HDA-Intel running on card 0 - HDA Intel at 0xfe700000 irq 47
configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
**** alsa_pcm: xrun of at least 0.037 msecs
**** alsa_pcm: xrun of at least 0.064 msecs
**** alsa_pcm: xrun of at least 0.072 msecs
**** alsa_pcm: xrun of at least 0.059 msecs
**** alsa_pcm: xrun of at least 0.048 msecs
**** alsa_pcm: xrun of at least 0.054 msecs
**** alsa_pcm: xrun of at least 0.050 msecs
**** alsa_pcm: xrun of at least 0.049 msecs
**** alsa_pcm: xrun of at least 0.090 msecs
**** alsa_pcm: xrun of at least 0.041 msecs
**** alsa_pcm: xrun of at least 0.062 msecs
**** alsa_pcm: xrun of at least 0.072 msecs
**** alsa_pcm: xrun of at least 0.029 msecs
**** alsa_pcm: xrun of at least 0.045 msecs
**** alsa_pcm: xrun of at least 0.048 msecs
**** alsa_pcm: xrun of at least 0.055 msecs
**** alsa_pcm: xrun of at least 0.047 msecs
**** alsa_pcm: xrun of at least 0.065 msecs
**** alsa_pcm: xrun of at least 0.025 msecs
**** alsa_pcm: xrun of at least 0.028 msecs
00:43:43.226 Cambios en las conexiones JACK.
00:43:43.228 Configuración del servidor salvada en "/home/ercilla/.jackdrc".
00:43:43.229 Reiniciar estadísticas.
00:43:43.295 Cliente activado.
00:43:43.353 XRUN callback (1).
**** alsa_pcm: xrun of at least 0.030 msecs
**** alsa_pcm: xrun of at least 0.031 msecs
JackPosixMutex::Unlock res = 1
**** alsa_pcm: xrun of at least 0.041 msecs
JackPosixMutex::Unlock res = 1
**** alsa_pcm: xrun of at least 0.025 msecs
JackPosixMutex::Unlock res = 1
00:43:43.375 Cambió el gráfico de conexiones de JACK.
**** alsa_pcm: xrun of at least 0.045 msecs
JackPosixMutex::Unlock res = 1
00:43:43.521 Cliente desactivado.
00:43:43.522 JACK está deteniéndose...
**** alsa_pcm: xrun of at least 0.061 msecs
jack main caught signal 15
**** alsa_pcm: xrun of at least 0.032 msecs
control device hw:0
Released audio card Audio0
audio_reservation_finish
control device hw:0
00:43:43.606 JACK ha sido detenido satisfactoriamente.
Subir
Pablo_F
#7 por Pablo_F el 02/09/2011
Te sugiero que pruebes con el lowlatency de abogani como comenta veguita:

https://launchpad.net/~abogani/+archive/ppa

Yo también probaría el modo síncrono que es aplicable a tu versión de jackd. En la "ruta del servidor" prueba a poner "/usr/bin/jackd --sync".
Subir
supertorpe
#8 por supertorpe el 02/09/2011
Ahí, le has dado. Parece que el --sync ha hecho la magia.

Muchas gracias.
Subir
Pablo_F
#9 por Pablo_F el 03/09/2011
Aclarar que la opción "--sync" (o "-S" para acortar) sólo es aplicable a jackd2, es decir a las versiones 1.9.x de jackd. jackd1 sólo funciona en modo síncrono. jackd2 es asíncrono por defecto y parece ser que esto da problemas en algunos casos.

Además, el modo asíncrono añade un periodo de latencia.

Como referencia:
http://trac.jackaudio.org/wiki/Q_differenc_jack1_jack2
(especialmente la nota 1)

Otra opción es cambiar a jackd1. "sudo apt-get install jackd1" se encarga automáticamente del cambio.
De hecho, tango studio viene con jackd1.

Me alegro que funcione :)
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo