Alguien escribió:
...editar el limits.conf...
En una versión reciente de ubuntu/debian no es necesario, pues al instalarse el paquete jackd se escriben automáticamente las líneas relevantes (rtprio y memlock para el grupo audio). La única diferencia es que se escriben al archivo /etc/security/limits.d/audio.conf pero el efecto es exactamente el mismo.
Lo que sí hay que hacer en ubuntu es añadir el usuario al grupo audio.
Ante la duda, mirar la salida de este comando (con la terminal abierta por el usuario que va a usar Jack, si hubiera más de uno)
ulimit -r -l
Que devuelve los límites de seguridad de rtprio y memlock. Por ejemplo, en mi caso
Alguien escribió:
pablo@xxxxxxx:~$ ulimit -r -l
real-time priority (-r) 95
max locked memory (kbytes, -l) unlimited
Si no tenemos los privilegios de rtprio y memlock, dará típicamente, 0 y 64 respectivamente.
En cuanto a la latencia, para medir la latencia de bucle completo con precisión hay que usar jack_iodelay y un cable físico entre la entrada y la salida. La indicación de qjackctl es una latencia calculada o teórica. Además, con jack2 (
jackd --version 1.9.x) qjackctl no indica bien la latencia calculada, pues jack2 añade un periodo de latencia en el modo asíncrono (modo por defecto en jack2).
Es decir, con jack2 en modo síncrono (que se marca con la opción --sync o -S antes de indicar el driver, y en qjackctl se escribe manualmente en el campo "ruta del servidor"), se cumple:
((cuadros por periodo) * (periodos por buffer) * 1000 / (frecuencia de muestreo en Hz) = latencia teórica o calculada, en ms
como indica qjackctl.
Pero con jack2 en modo por defecto, asíncrono, se cumple:
((cuadros por periodo) * (periodos por buffer + 1) * 1000 / (frecuencia de muestreo en Hz) = latencia teórica o calculada, en ms
no como indica qjackctl, que usa siempre el primer cálculo.
http://trac.jackaudio.org/wiki/Q_differenc_jack1_jack2 (nota 1)
http://sourceforge.net/tracker/?func=detail&aid=3301477&group_id=86211&atid=578826
Saludos, Pablo