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.









12. Jan 2008 | 14:27 Uhr
Fantástico tutorial. Práctico como nos gusta. Muchas gracias.
16. Jan 2008 | 02:29 Uhr
Muchas gracias
03. Feb 2008 | 02:24 Uhr
[...] la publicación de la primera parte de este artículo sobre LA LATENCIA DE AUDIO EN LOS ORDENADORES, publicamos la 2ª parte de este, donde vemos lo relativo a las [...]
03. Feb 2008 | 02:31 Uhr
[...] ánimo de hacer un artículo científico, ni mucho menos, revisaremos un poco los tipos de latencia que se dan en la vida cotidiana como músicos y nuestra tolerancia a este fenómeno, con el objeto [...]
14. Apr 2008 | 23:35 Uhr
Breve y muy explicito, excelente tutorial, felicitaciones. Muchas gracias
16. Apr 2008 | 01:06 Uhr
Gracias por comentar!
28. Sep 2008 | 14:18 Uhr
Hola. Ante todo felcitaros por la página y agradeceros vuestro tiempo.
Bien, ahí va:
Tengo un portatil Dell que incorpora el dispositivo de sonido SigmaTel. Pues bien, cuando uso el Reason con el propio portatil no tengo problema. Pero al conectar el teclado MIDI tengo un problema de latencia.
En la configuración del Reason me apunta que utilizando el driver DX SIGMATEL AUDIO tengo una latencia de 92 ms.
La pregunta es, ¿poniendo los drivers ASIO como decis en el artículo de la latencia en ordenadores, solucionaría mi problema?
¿O necesito una nueva tarjeta de sonido?
Si así fuera, ¿alguna recomendación en cuanto a tarjetas para un portatil con Express Card?
Intel Core Duo T8300 2.40Ghz
3 Gb RAM
Muchas gracias.
28. Sep 2008 | 18:37 Uhr
Cuando usas Reason no notas latencia porque no estás introduciendo ninguna señal externa.
Sin embargo la latencia aparece cuando conectas tu teclado y como tienes una latencia de 96 ms notas el retardo entre el momento en que tocas el teclado y suena el sintetizador virtual que uses en Reason.
Como se dice en el artículo necesitas utilizar drivers Asio para obtener bajas latencias.
En primer lugar puedes probar el Asio4all, es gratuito. Este es un driver Asio para tarjetas genéricas como tu sigmatel y probablemente funcione y te solucione el problema. En el artículo se habla de él.
Otra opción, mas profesional, sería comprar una tarjeta de sonido externa.
Hay muchas opciones USB, Firewire (algo mas caras) o Express card (esta últimas menos frecuentes).
La respuesta dependerá mucho de cuales sean tus requisitos: número de entradas y salidas, previo de guitarra o de micro, entradas y salidas midi y sobre todo presupuesto.
Suerte.
29. Sep 2008 | 18:02 Uhr
Yo tambien tengo problemas de latencia con mi notebook, aún siendo este bastante poderoso; se debe a su tarjeta de sonido? Lo que no me queda claro
si hay que comprar algo externo, es que diferencia hay entre una tarjeta de sonido y una interfaz de audio.
Y otra duda que tengo es con que genera el sonido un sintetizador virtual, si usas una interfaz de audio?
Gracias por tu forma de informar.
29. Sep 2008 | 20:56 Uhr
Deberías especificar mas en que situaciones tienes problemas de latencia para que sepamos cual es el problema exactamente.
En cualquier caso si no usas un driver asio dificilmente vas a tener bajas latencias.
Como le dije a Guillermo intenta probar con los asio4all.
Tarjeta de sonido e interfaz de audio son lo mismo.
El sintetizador virtual genera el sonido por si mismo y responde a notas midi para generarlas, sean grabadas en el secuenciador o tocadas con un teclado midi externo.
30. Sep 2008 | 14:54 Uhr
La latencia la noto cuando conecto un teclado M-Audio AXIOM via USB 2, y toco un sintetizador virtual Arturia Minimoog V. En la configuración del virtual me indica una latencia de 75 ms, y si la bajo a los 50 ms comienza a distorsionar el sonido generado por el virtual. La tarjeta de sonido es una Realtek, instalada en una Notebook HP Intel Core Duo 2,0 GHz / 1 Gb RAM.
El teclado tiene sus propios drivers para WIndows Vista.
Será necesario que el sistema trabaje con una tarjeta de sonido externa?
Muchas gracias.
30. Sep 2008 | 23:00 Uhr
Jorge: te pasa lo mismo que a Guillermo así que la respuesta que puse para él es totálmente válida para ti, copio y pego:
“En primer lugar puedes probar el Asio4all, es gratuito. Este es un driver Asio para tarjetas genéricas como tu sigmatel y probablemente funcione y te solucione el problema. En el artículo se habla de él.
Otra opción, mas profesional, sería comprar una tarjeta de sonido externa.
Hay muchas opciones USB, Firewire (algo mas caras) o Express card (esta últimas menos frecuentes).
La respuesta dependerá mucho de cuales sean tus requisitos: número de entradas y salidas, previo de guitarra o de micro, entradas y salidas midi y sobre todo presupuesto.”
Ya nos cuentas.
07. Nov 2008 | 23:15 Uhr
Tengo una tarjeta Sound Blaster X-Fi Surround 5.1 externa y al conectar una guitarra o un sintetizador Micro Korg presenta latencias por encima de los 200 ms. La tarjeta especifíca que puede presentar latencias no mayores a los 10 ms. Podría ser que las latencias elevadas sean originadas por configuración del ordenador?
08. Nov 2008 | 00:55 Uhr
Todo apunta a que no estás utilizando los drivers adecuados o el programa adecuado.
Para tener bajas latencias debes usar drivers ASIO y un programa que soporte este formato.
Si tu tarjeta no soporta ASIO en los drivers del fabricante, puedes probar a usar el Asio4all.
En el artículo se habla de todo esto.
Suerte.
08. Nov 2008 | 02:03 Uhr
Hola de nuevo, ENRIQUE y gente de MUSICADOR:
No pude escribir antes por problemas con internet.
Instalé ASIO4ALL como me indicaste y bajé la latencia de 96 ms a 46 ms (si lo bajo más no suena bien). Para el Traktor me ha venido de perlas, pero al usar el teclado MIDI con el REASON sigue habiendo retardo, por lo que supongo que necesitaré un interfaz de audio.
Sin tener ni idea sobre ello pero buscando por internet, he dado con ésto: http://www.esi-audio.com/products/maya44usb/. Que por lo que pone me debería valer, pero agradecería tu opinión. Y, ¿sabrías decirme si a dicho aparato le puedo conectar una guitarra electrica?
Muchas gracias y enhorabuena por la página, de lo mejor que he visto.
08. Nov 2008 | 12:57 Uhr
Hola Guillermo,
efectivamente, 46 ms es demasiado para tocar cualquier instrumento en tiempo real, una tarjeta de sonido decente solucionaría tu problema.
Respecto a la maya44 usb, no puedo darte una opinión de primera mano, no he tenido ocasión de probarla. Esi audio tiene una buena reputación respecto a calidad de drivers pero no se en este caso como estará el tema y si casará perfectamente con tu sistema.
Esta tarjeta no tiene entrada específica para guitarra, las entradas son rca con nivel de línea, no son las adecuadas para guitarra.
Si estás usando XP puede que no hayas hecho el ajuste mas importante para bajas latencias y quizás te permita mejorar tu latencia incluso con asio4all:
En panel de control/sistema/opc. avanzadas/opc. avanzadas /rendimiento/configuración/opc. avanzadas marca “servicios en 2º plano”, esto es básico para una mejor respuesta a bajas latencias.
Suerte.
12. Nov 2008 | 18:49 Uhr
He aprendido mas en esta pagina que en 2000 que he visto.Muchas gracias
12. Nov 2008 | 19:05 Uhr
Gracias a ti Sergio.
12. Nov 2008 | 22:10 Uhr
Hola de nuevo, Enrique:
Seguí tus instrucciones y volví a bajar la latencia a 23 ms.
Definitivamente necesito tarjeta de sonido. ¿Cual me recomiendas?
- Ha de tener entrada de teclado, micrófono y guitarra.
- Es para un portatil, por lo que supongo que USB.
- En cuanto a precio, que no sea la más cara pero tampoco la más barata.
Como siempre muchas gracias.
12. Nov 2008 | 23:41 Uhr
Para portátil tienes 3 opciones:
Usb: mas económicas aunque suelen ser las menos óptimas en cuanto a bajas latencias.
Firewire: Siguiente escalón de precio, el protocolo FW permite mejor resultado en cuanto a latencias.
Express card: las mas caras de todas y también menos comunes, pero las mas efectivas en rendimiento y bajas latencias. Este puerto es como una conexión directa al bus interno y por tanto es el mas efectivo.
Por tu planteamiento pienso que una usb puede ser suficiente, pero depende de ti.
Partiendo de ahí, tienes varias opciones. Yo iría a marcas reconocidas pues siempre tendran unos drivers mas trabajados y mejor soporte y desarrollo, hay muchas pero en un presupuesto de hasta 150 € yo destacaría las siguientes:
La M-AUDIO MOBILE PRE USB parece tener lo que necesitas, aunque no lleva puerto midi (supongo que te refieres a eso cuando dices que tenga entrada de teclado?).
La PRESONUS AUDIOBOX USB también lleva de todo e incluye puerto midi.
La ESI U46 XL también parece bastante completa, no lleva midi pero tiene mas entradas y salidas.
Y por último si grabar la guitarra es realmente de lo mas importante deberías considerar la serie Pod Studio de Line 6, no olvides que la nueva gama que acaba de salir incluye incluso el plugin Pod Farm que es sin duda (si te gusta el sonido POD) un adición nada desdeñable.
Es cuestión de ver cual encaja mas en tu perfil y tirar por ella.
Suerte.
14. Nov 2008 | 02:46 Uhr
Me gustaria que me proporcionarais el nombre de alguna tarjeta o interface para express card con un minimo de 8 entradas.
Gracias.
14. Nov 2008 | 03:18 Uhr
Pues con la tarjeta RME HDSPE EXPRESSCARD combinándola con una Multiface II lo tienes.
No es barato, pero es de lo mejor.