MainStage 3: Reducción de la latencia en MainStage 3

Utiliza la información de este artículo para reducir al mínimo la latencia de audio en MainStage.

¿Qué es la latencia de audio?

La latencia de audio es el tiempo que transcurre entre el momento de emisión de un sonido y el momento en que lo perciben nuestros oídos. En el mundo real, la latencia se debe a la distancia física a la que se encuentra la fuente de sonido. Cuanto más lejos esté la fuente de sonido, más latencia habrá. Con el audio digital también se produce latencia, en este caso debido al almacenamiento del audio en la memoria intermedia, o buffer. MainStage (o cualquier otro software de audio) necesita un tiempo para procesar los datos de audio antes de transferirlos al driver Core Audio. Para ello, el audio se divide en trozos denominados buffers. El tamaño de estos buffers determina la cantidad de latencia introducida. Los buffers de menor tamaño producen menos latencia porque el ordenador transfiere el sonido al driver Core Audio con mayor frecuencia. No obstante, debido a que el equipo dispone de menos tiempo antes procesar el siguiente buffer, requiere más potencia de procesamiento que la necesaria para buffers de mayor tamaño. Si el ordenador no puede procesar un buffer completo antes de procesar el siguiente, oirás fallos o irregularidades en la señal de audio.

Reduce al mínimo la latencia en MainStage 3

MainStage ofrece tres ajustes que influyen en la cantidad de latencia del sistema.

  • Tamaño del buffer de E/S
  • Buffer de seguridad E/S
  • El regulador Latencia del driver

Para acceder a estos ajustes, selecciona MainStage >Preferencias y haz clic en el botón Audio situado en la parte superior del panel de preferencias. A continuación, haz clic en el botón Ajustes avanzados.

 

Tamaño del buffer de E/S

El primer y más importante de los ajustes es el menú desplegable Tamaño del buffer de E/S.

 

Para los canales de audio, este ajuste configura un buffer de entrada y otro de salida. Para los canales de instrumentos de software, solo establece un buffer de salida, ya que no hay ninguna entrada de audio en estos canales. El tamaño del buffer puede variar entre 16 y 1024 samples. 

 

 

Si introduces cambios en Tamaño del buffer de E/S, verás que se produce un cambio en Latencia actual de ida y vuelta, que se muestra en milisegundos en la parte inferior del panel Ajustes avanzados de audio. La latencia de salida también se muestra entre paréntesis. Esto es útil para determinar la latencia cuando tocas a través de los canales de instrumentos de software.

 

 

Un ajuste más bajo producirá un tiempo de latencia más corto, pero podrás utilizar menos canales y módulos de forma simultánea antes de percibir elementos no deseados mientras tocas. Configura Tamaño del buffer de E/S según al uso específico que hagas de los canales y módulos, y la potencia de procesamiento ofrecida por tu ordenador. Si utilizas muchos módulos que consumen mucha potencia, es posible que debas utilizar un tamaño de buffer superior al que utilizarías con módulos que requieran una menor intensidad de procesamiento, o menos canales simultáneos.

 

Buffer de seguridad E/S

El siguiente ajuste es Buffer de seguridad E/S. Al activar este ajuste, MainStage añade un buffer de salida adicional para protegerse de las sobrecargas generadas por picos de uso de la CPU inesperados. Su tamaño es igual al del ajuste Tamaño del buffer de E/S, pero solo afecta al buffer de salida. Por ejemplo, si ves que hay demasiada latencia con un Tamaño del buffer de E/S de 256 samples, pero oyes fallos o irregularidades de sonido con un Tamaño del buffer de E/S de 128 samples, prueba a ajustar Tamaño del buffer de E/S a 128 y activa Buffer de seguridad E/S. Esto producirá un poco más de latencia que con los 128 samples sin el buffer de seguridad, pero menos que la que se produce con 256 samples sin el mismo.

 

 

Regulador Latencia del driver

El siguiente ajuste es el regulador Latencia del driver. Por defecto, el regulador está fijado en el valor máximo posible, que es igual al de Tamaño del buffer de E/S. En la imagen siguiente, se ha configurado MainStage con un tamaño de buffer de 128 samples. Cada buffer está representado por un bloque blanco. Cuando MainStage termina de procesar un buffer de 128 samples, el buffer (representado por los bloques grises) pasa al driver Core Audio, que lo transfiere a la salida del hardware de audio.

 

 

Si mueves el regulador Latencia del driver hacia la izquierda, hasta 64 samples, la latencia del sistema disminuye varios milisegundos:

 

 

El diagrama siguiente muestra lo que ocurre:

 

 

MainStage todavía procesa el sonido en buffers de 128 samples, pero, en lugar de esperar a que los 128 samples pasen a cada buffer del driver Core Audio, ahora solo espera 64 samples ante de empezar a transferir el buffer al driver.

 

Como ocurre con Tamaño del buffer de E/S, un ajuste inferior de Latencia del driver puede producir fallos o irregularidades de audio. El ajuste mínimo posible para un equipo concreto viene determinado principalmente por el driver de audio. El ajuste Latencia del driver no produce ningún efecto en el número de módulos o canales que puedes ejecutar. 

 

Recapitulación

Una buena estrategia para encontrar la combinación óptima de ajustes es empezar por la parte superior del panel Ajustes avanzados de audio e ir bajando. Para empezar, deshabilita Buffer de seguridad E/S y deja el regulador Latencia del driver en el extremo derecho, el ajuste máximo:

  1. Carga el patch que más CPU requiera de los que pretendes utilizar cuando toques.
  2. Determina el valor más bajo de Tamaño del buffer de E/S que puedes utilizar sin que se produzca ningún fallo o irregularidad de audio. Ten en cuenta que no solo influye la potencia de procesamiento de tu ordenador, sino también el tipo y el número de módulos y el número de canales que utilizas simultáneamente. 
  3. Si el ajuste mínimo de Tamaño del buffer de E/S que puedes utilizar produce demasiada latencia para trabajar de manera cómoda, prueba a fijarlo en el siguiente tamaño más bajo y activa la opción Buffer de seguridad E/S.
  4. Una vez que hayas determinado la mejor configuración de buffers, prueba a bajar el ajuste Latencia del driver para reducir aún más la latencia general de tu equipo. Dado que el principal factor que determina el ajuste más bajo posible es tu driver Core Audio, es conveniente revisar este ajuste si cambias a una interfaz de audio distinta o instalas un driver actualizado para tu interfaz actual.
Fecha de publicación: