La latencia de audio en los ordenadores (3)
Configurando los drivers de audio para bajas latencias.
Como ya hemos dicho anteriormente la latencia del audio de nuestro sistema va a depender por tanto del tamaño de los buffers, y los mas importantes van a ser los drivers de la tarjeta de sonido por ser los de mayor tamaño con mucha diferencia, por tanto debemos regular convenientemente estos para obtener las deseadas bajas latencias.
Como se ha dicho tambien los buffers de los conversores A/D y D/A no los podremos cambiar (del orden de 0,5 a 1 milisegundos por cada A/D o D/A involucrado) y los posibles buffers introducidos por el software de audio (mayormente de los plugins que usemos) son asimismo no modificables, pero lógicamente se sumarán en la latencia total.
Afortunadamente el estándar ASIO permite la regulación del tamaño del buffer que utiliza el driver, por lo que podemos y debemos experimentar con este aumentando o disminuyendo su tamaño (normalmente regulable en samples o muestras, pero también a veces en milisegundos) para ajustarlo a nuestras necesidades y a las de nuestro sistema. Para acceder a este deberemos abrir el programa de control de la tarjeta de sonido donde tendremos las opciones disponibles y regular este parámetro. Este panel de control también suele estar disponible desde nuestro programa de audio por lo que en caso de que tengamos este en marcha podremos acceder a este y configurarlo adecuadamente.
Pero aquí se debe decir que desgraciadamente no todos los drivers ASIO son iguales, ni son igualmente eficientes, pudiendo encontrarnos con diferencias muy sustanciales entre los de una tarjeta y otra y por ello es esencial la calidad de los drivers y si nuestro objetivo es conseguir latencias ultra bajas (por debajo de 11 ms) tendremos que tener especial cuidado en esto que como hemos dicho depende del fabricante de la tarjeta de sonido. Algunos drivers no nos permitirán bajar de un buffer de 10 ms aunque tengamos una máquina súper potente y otros sin embargo nos permitirán bajar a 1,5 ms o menos en la misma máquina.
No es el objetivo de este artículo pero cabría decir que entre los fabricantes de tarjetas de sonido cuyos drivers son mas eficientes y reconocidos son RME, LYNX, ESI PRO y MAUDIO entre otras, sin que esto sea una lista en términos absolutos, ya que pueden haber otros fabricantes que tengan drivers de alta calidad, este es sin duda un tema muy controvertido y del que nunca podemos estar del todo seguros.
El que nuestra tarjeta de sonido funcione lo mas eficientemente posible también va a depender de otros factores como la placa base del ordenador, los puertos usb o firewire (si es que la tarjeta va conectada a estos), pero ese tema ya excede de este artículo.
Por ello siempre será aconsejable antes de decidirnos por una tarjeta determinada el poder probarla en nuestro sistema para ver que tal funciona.
Por último debemos tener muy en cuenta que cuanto menor sea el tamaño del buffer que hemos utilizado mayor será el estrés que se producirá en nuestro sistema, por lo que siempre hemos de buscar el mejor compromiso o equilibrio posible probando diversos tamaños de buffer hasta conocer donde está el límite de nuestro ordenador. Cuando lleguemos a dicho límite (si ponemos un buffer demasiado pequeño) lo sabremos enseguida ya que oiremos clicks y artefactos en el sonido, en cuyo caso deberemos subirlo hasta que estos desaparezcan totalmente.
Esto lógicamente también dependerá de la cantidad de consumo de cpu que tengamos en ese momento. Si estamos con un proyecto o canción que utiliza muchos plugins que producen una importante carga en la cpu, podemos ir subiendo la latencia para que disminuya el estrés y podamos trabajar confortablemente. Normalmente será una relación inversa entre baja latencia/consumo de cpu y deberemos tener cuidado de este aspecto para sacar el máximo de nuestro ordenador, por ello conviene tener abierto el medidor de consumo de cpu que la mayoría de programas de audio tienen y si vemos que el consumo es elevado subir algo la latencia. Comprobaremos que el consumo de cpu baja ligeramente.
Asimismo si a mitad de trabajo con un proyecto queremos grabar un instrumento procesándolo con el ordenador y monitorizar la señal resultante, podemos desactivar momentáneamente algunos plugins o instrumentos virtuales para que el consumo de cpu baje y poder así bajar la latencia. Una vez grabada la pista podremos activar de nuevo los plugins o instrumentos desactivados.
¿Al final qué latencia tengo?
Hemos de tener en cuenta que cuando pretendemos monitorizar la señal por medio del ordenador (por ejemplo queremos tocar la guitarra enchufándola directamente a nuestro ordenador y procesarla con efectos para oírla a la salida ya procesada) estamos operando con dos buffers de la tarjeta de sonido, uno de entrada y otro de salida. Por tanto la cantidad total de latencia total sería:
Conversor a/d (1 ms) + buffer driver de entrada (variable) + latencia de plugins (no regulable) + buffer driver de salida (variable) + conversor d/a (1 ms) + distancia con los monitores (1 mt = 3 ms)
Por tanto para tener una latencia por debajo del nivel tolerable el buffer del driver será aconsejable que regularlo por debajo de 3 ms, ya que un buffer de 3ms ya arrojaría 11 ms.
Cabe decir que muchas veces los drivers no son todo lo sinceros que deberían y aunque pongamos un driver de 3 ms y tengamos una latencia teórica total igual o inferior a los susodichos 11 ms, muchos músicos siguen percibiendo esta y sintiéndose incómodos. Esto es debido a que a veces la latencia reportada por el driver no es totalmente real, por ello siempre tendremos que comprobar si la latencia fijada es suficientemente confortable para el músico. En muchos casos el propio programa secuenciador de audio multipista te informará de la latencia de una manera mas o menos detallada y real. En el caso de Cubase y Nuendo reportan la latencia por separado de entrada y de salida e incluso calcula las latencias de los conversores como puedes ver en la foto.
Asimismo nos encontraremos que dependiendo del instrumento que toque el músico (o el tipo de sonido utilizado en caso de que se trate de un sintetizador o instrumento virtual) esto influirá en la latencia percibida. Si se trata de sonidos percusivos y por tanto de ataque muy rápido se apreciará un desfase o latencia con mas facilidad que si tocamos un sonido de ataque lento, como por ejemplo un sonido de cuerdas o un pad.