20 de octubre de 2012

Latencia en DAWs - Parte I

Latencia en DAWs - Parte I
por Martín Díaz Vélez

Este artículo consta de 3 partes en las cuales vamos a ver los aspectos de lo que es la latencia, cómo se mide y herramientas para mejorar nuestras DAWs.

¿Qué es? ¿Cómo nos afecta?
La latencia, en pocas palabras, es el tiempo en milisegundos que tarda una señal (bit, dato, audio, impulso, etc) desde el momento que es enviada hacia la DAW y llega a nuestros oídos devuelta por ella. Acá presento un “esquema” bastante básico, pero claro:


Este “retraso” de la señal, obviamente nos afecta al momento de monitorear y en algunas oportunidades genera una suerte de “Flanger”, llegando en casos extremos a generar un “delay” perfectamente audible.

La “monitorización directa”, no es una mejora en los tiempos en los que nuestra DAW nos entrega el resultado del proceso, sino, que como su nombre lo indica, es un “bypass” del proceso, en pocas palabras es una conexión directa entre la entrada de nuestra placa y su salida a monitoreo (obviamente el “audio” no es procesado).

Las variables que la causan:

- Interfaz de Audio:
Obviamente dependiendo del diseño de la misma, calidad, conversores y prestaciones (DSP, entradas/salidas, conexión a la DAW o si es Standalone ,etc), hay placas que manejan bien el flujo de información (ingreso de audio A/D, proceso, entrega de audio D/D o entrega de audio D/A) ciertamente ayudando a compensar la latencia generada por el paso de la señal o dato a través de su electrónica y otras que lo único que hacen... es hacer casi imposible realizar un trabajo decente.  Obviamente, como pasa generalmente en todos los órdenes de la vida, el dicho lo barato sale caro, aplica en este caso y a veces aplica a productos caros con fallas de diseño.

- CPU:                                                                                                                                                     Muchas veces pensamos, erróneamente, que cada variable en este juego de equilibrios es independiente, lo cual no es así. El procesador (el que hace los cálculos) solamente es uno de los responsables del buen o mal desempeño de nuestra DAW, pero no el único. Cuando nosotros queremos mejorar nuestra latencia y tratamos de llevarla al mínimo, lo más cercana al 0, empezamos a jugar con el Buffer de nuestra placa.

Ahora, mientras más bajo sea el número del BUFFER  (1025, 512, 256, 128, 64), más exigiremos a nuestra pobre CPU que tratará de entregar a nuestra DAW la información (el dato binario, NO AUDIO) en porciones más chicas. Esta exigencia, dependiendo también de las otras variables, devendrá en Clicks, POPS, y también posiblemente en la detención indeseada de nuestro motor de audio y hasta en el famoso “cuelgue” de la computadora. Veamos los otros involucrados en este proceso.

- Memoria:                                                                                                                                                                      
Esta variable es generalmente olvidada y hasta ciertamente menospreciada. Este es otro ERROR común, ya que la memoria juega un papel FUNDAMENTAL en este juego de equilibrio. No es lo mismo estar trabajando con una memoria en Dual Channel, Tri Channel o Single Channel. Tampoco es lo mismo estar jugando con 1, 4, 8,1 6 o 64 GB y, para no dejar a nadie afuera, la velocidad. Las memorias se miden en Mhz y Ghz (igual que nuestro procesador), mucha gente consulta si es mejor tener 8 GB a 1033 Mhz o 4 GB a 2100 Mhz…hay pequeñas reglas, pero no un receta.

- Tipo de conexión de la Interfaz: 
Dependiendo del puerto (USB, FW o Thunderbolt) o BUS (PCI o PCIe) que usemos para comunicar nuestra placa con el HOST (computadora), la latencia irá variando, aumentando de mayor a menor, dependiendo la velocidad y ancho de banda del puerto o BUS. No podemos pretender que un USB tenga la misma latencia que un PCIe.

- Sample ; Bit Rate:
Cuanto mayores sean el Sample Rate y el Bit Rate, tanto el consumo de CPU como la exigencia del buffer serán mayores. Estos impactan directamente en la latencia ya que al requerir más proceso (tanto por el CPU y como por los conversores de la placa de sonido) se genera un aumento en el tiempo de latencia. Ciertamente, dependiendo de la configuración de la DAW, el aumento del valor en esta configuración puede ser prohibitiva (clips, pops & Drops) en en este item. Daremos una vista mucho más profunda sobre este tema en la siguiente parte del artículo.

- Cache de disco:
 El Cache del disco es una pequeña memoria “RAM” que físicamente se aloja en la electrónica del mismo (no donde están los platos), ésta aloja la data más recientemente usada o pedida durante un tiempo antes de entregarla al host o de bajarla a los platos del disco. Mientras más grande sea este cache menor será nuestra latencia en el total del proceso de grabación y reproducción. No nos olvidemos que la grabación y monitoreo son procesos de I/O simultáneos.

- Motherboard:
La pieza casi clave de todo esto. El motherboard (placa madre) es el responsable de gestionar con el chipset (elemento en el cual indagaremos más profundamente en la siguiente parte de este artículo) TODAS las comunicaciones, procesos, transferencias, etc. Sugiero antes de armar una máquina que lleve nuestra DAW o colabore con la misma (Farm) revisar al extremo lo que se denomina “matriz de compatibilidad” entre los componentes que integren nuestra máquina para correr la DAW.
¿Qué es el ASIO o el “driver” de las placas de audio?

Hace varios años la marca Steinberg sacó al mercado un soft llamado ASIO (Audio Stream Input/Output), este soft se encarga de manejar o “administrar” los componentes y variables que participan en la grabación/reproducción de nuestra daw:




Este software (ASIO)  maneja o administra  las relaciones y variables (llamamos variables, por ejemplo, a la cantidad de RAM disponible, frecuencia del procesador, cantidad de cache de disco, etc) entre CPU, memoria, DAW, placa de sonido, disco y motherboard. Dependiendo de cómo manejemos esas variables optimizaremos o (a veces pasa) degradaremos el rendimiento de nuestra DAW generando “clips” y “pops” por el mal manejo y configuración de las mismas. Cada fabricante crea su software basándose en el código base de Steinberg agregando los parámetros de su hardware, para posteriormente, con las sucesivas versiones del mismo, realizar ajustes para mejorar el desempeño y arreglar problemas o bugs de la versión del driver.

Algunos ejemplo de paneles de control ASIO:


Algunas veces, esta información  sobre la latencia no es del todo exacta, para saber hasta que punto un puede exigir una máquina para que nos entregue un rendimiento óptimo, recomiendo que visiten:

Esta página corre ciertas pruebas (de las cuales hablaremos más adelante) con una máquina de pruebas con diferentes placas de audio, ofreciendo por ejemplo los siguientes resultados:


Reference System Detail:
Intel i7 920 Quadcore/ 2.66 GHZ/
Intel X58 / 6 GB DDR3-PC12800.
O.S Detail:
Windows 7 SP1 x64 Pro

Notese el detalle de que en la prueba se incluyó: CPU, motherboard, Cantidad de RAM y tipo, Sistema operativo, Service Pack y versión, driver utilizado y la placa puesta a prueba. Esto es a muestra de resumen para cerrar esta parte del artículo mostrando como interactúan todas las variables para sacar estas estadísticas de desempeño, todo lo referido al DAWBENCH será explicado en las siguientes partes del artículo.

En el siguiente artículo (Parte II) nos explayaremos sobre la correcta configuración de este administrador para evitar según la DAW que manejemos, problemas de configuración y podamos llevar a cabo una buena grabación sin sobresaltos. 

4 comentarios:

Muy interesante, estaremos atentos las nuevas publicaciones. Un saludo.

muy bien explicado gracias por estas publicaciones siempre son de mucha ayuda.

Esperamos la parte 2!!!

La parte 2, está casi lista. En breve la comparto y aguardo comentario. :)

Abrazo

Martin DV