Plugins y consumo de CPU: mitos y realidades
Un cuadro de rendimiento que Waves acaba de publicar nos permite una reflexión indirecta sobre los plugins. ¿Se mantienen nuestras intuiciones sobre ellos frente a la realidad de las cifras? ¿Gasta una reverb mucha más CPU que otros efectos? ¿Cómo de costoso en cómputo llega a ser el modelado ‘analógico’? ¿96kHz frente a 48 dobla o cuadriplica el cómputo?
Introducción
[Índice]Este ejercicio de hoy nace de que Waves lanzará en enero un nuevo 'SoundGrid Server One-C', que permite llevar a él la ejecución de sus plugins y liberar así la CPU de nuestro ordenador principal. Podría ser noticia para portada, desde luego. Pero nos ha llamado la atención más todavía el cuadro que han publicado para indicar cuántas instancias de muchos de sus plugins podrían ejecutarse en ese nuevo sistema. No tanto porque las cifras sean novedad (son semejantes a la de otros server anteriores) sino por hacer una reflexión a partir de ellas.
Haciendo una lectura interpretativa de lo que las cifras apuntan, podemos intentar sacar algunas conclusiones. La validez de esas conclusiones no es definitiva, hay muchos factores que no podemos tener en cuenta con tan pocos datos. Tampoco deben considerarse como una crítica, ni a favor ni en contra, de los distintos productos del catálogo de Waves o frente a los de otros desarrolladores. Es más un intento de cotejar nuestras muchas intuiciones sobre los plugins frente a estos datos reales, a falta de otros mejores y más completos. ¿Hay tantas diferencias entre plugins 'modelados' y 'nativamente digitales'? ¿Es todavía la reverb mucho más compleja en cómputo que los demás efectos? ¿Qué consecuencias puede tener el uso en altas velocidades de muestreo? En definitiva indagar un poco más qué se nos ofrece a día de hoy en el mundo de los plugins.
Los datos
[Índice]La tabla de Waves lista decenas de sus plugins, de todo tipo de familias (EQ, reverb, dinámica...) y describe cuántas instancias simultáneas puede ejecutar su nuevo 'SoundGrid Server One-C' de cada uno antes de que la CPU se use al 85% o de que empiecen a aparecer problemas en audio (cortes, etc.). Lo hace además distinguiendo cuántas llegan a poder instanciarse si se usan en un entorno a 44,1kHz o en un entorno a 96kHz de velocidad de muestreo. He partido del primer cuadro que ofrecen, relativo al uso conjunto con ‘MultiRack’. Podéis acceder a esa tabla y a los detalles de SoundGrid Server One-C en este enlace. Podríamos haber usado también el cuadro que hay relativo a ‘StudioRack’, y hay aún algunas otras cifras más disponibles, pero nos vale quedarnos con el primero, uso en Multirack.
Hay un límite en las cifras a 512 instancias que corresponde a plugins relativamente ‘sencillos’ en el sentido de requerir poca carga computacional. Hemos descartado para nuestro estudio aquellos que llegan a esa cifra tanto a velocidad de muestreo de 44,1 como a la de 96kHz. Sencillamente porque la cifra no representa realmente información útil, más allá de que son plugins de escasísima demanda computacional, comparados con el resto. Y ello pese a que algunos de ellos tienen funciones que a priori parecerían reclamar algo más intenso en cómputo.
Nuestros descartados (todos ellos en sus versiones mono, salvo el efecto precisamente de generación de sensación estéreo) son por tanto: AudioTrack (un channel strip con EQ, puerta y compresión), DeEsser, Dorrough Stereo, TransX Wide (un conformador de transitorios), Renaissance Compressor, Renaissance Vox (dinámica para voz), Renaissance Equalizer (REQ6), SSL G-Equalizer.
En ese grupo de efectos el tan escaso cómputo parece hablar de unos algoritmos más básicos que los que otros productos del listado desarrollan. Llamativo que una emulación de todo un SSL (aunque sea un ecualizador) esté en este grupo. A priori, con la leyenda de los SSL uno esperaría que su magia fuera más costosa de emular… Pero claro, se trata de unos EQ que son reconocidos más por su limpieza que por otra cosa. Y si algo es natural a lo digital es la limpieza, al menos con procesos lineales como la ecualización cuando está libre de coloraciones tímbricas y saturaciones internas. Pero no me negaréis que es llamativo.
Agrupando los demás en familias un tanto globales, podemos ver enormes diferencias dentro de cada grupo (hasta extremos muy llamativos) y quizá menos de las esperadas entre grupos.
Channel Strips
[Índice]El cuadro refleja cuántas instancias ‘caben’ a 44,1 y cuántas a 96 kHz, más la relación entre ambas cifras (cuántas veces más plugins entran a 44 que a 96).
Plugin |
44.1kHz |
96kHz |
Ratio 44/96 |
SSL E-Channel |
504 |
235 |
2,14 |
SSL G-Channel |
496 |
232 |
2,14 |
REDD 17 |
212 |
104 |
2,04 |
EMI TG 12345 |
40 |
42 |
0,95 |
Las diferencias son muy evidentes. Es curioso que de nuevo las emulaciones SSL tengan cifras tan enormes, a pesar de que al ser ya unos canales completos, parecería más importante la cuestión de sus no linealidades (distorsiones internas). El que el factor sea cercano a 2 en los tres primeros es también llamativo. Es cierto que el número de muestras que hay que tratar se dobla, y eso dobla el cómputo, pero según cómo se implementen las cosas y que tipo de algoritmos estén en juego, las versiones a 96 podrían usar algunas economías que redujeran eso, o podrían al revés incluso cuadriplicar (en vez de sólo doblar) el cómputo, para así conseguir una bastante mejor calidad a 96 que a 44. Sin más datos, y siempre sólo como orientación, mi sensación es que ese factor ‘2’ apunta a que en esencia es prácticamente el mismo algoritmo el que se está usando en las dos velocidades sin buscar mucho mayor beneficio que el, ya importante, de tener un ancho de banda doblado para acomodar productos altos que de otra forma se convertirían en aliasing.
Pero fijaros finalmente en otra cuestión: el último de los plugins, el EMI TG 12345 es diez veces más costoso computacionalmente que el SSL-E. Algo que de nuevo nos lleva a hablar de su diferente carácter.
El SSL-E simula un sistema de estado sólido con VCA basado en clase A y compresor de codo suave. En definitiva bastante ‘contenido’ a la hora de colorear, y por tanto menos necesitado de un algoritmo pesado.
El TG12345 simula sin embargo un sistema que se usó en la grabación del Abbey Road de los Beatles y mucho más amigo de colorear todo lo que pasaba por él. Recrear esos efectos de saturación/distorsión de una forma controlada en digital (sin incurrir en aliasing excesivo) conlleva algoritmos claramente pesados, y al final ese peso es prácticamente equivalente y dominante tanto en el uso a 44 como a 96. Así para este plugin tenemos 40 y 42 instancias posibles, de hecho ‘cabe’ alguna más a 96 que a 44, porque a 96 estamos en un entorno más cómodo para evitar el alias.
Dinámica
[Índice]El cuadro refleja cuántas instancias ‘caben’ a 44,1 y cuántas a 96 kHz, más la relación entre ambas cifras (cuántas veces más plugins entran a 44 que a 96).
Plugin |
44.1kHz |
96kHz |
Ratio 44/96 |
MaxxVolume |
512 |
371 |
¿aprox.2? |
SSL G-Master Buss Comp |
512 |
310 |
¿aprox.2? |
H-Comp Hybrid Compressor |
512 |
264 |
¿aprox.2? |
L2 Ultramaximizer |
512 |
260 |
¿aprox.2? |
CLA-76 Compressor / Limiter |
512 |
259 |
¿aprox.2? |
Renaissance Channel |
476 |
252 |
1,89 |
API 2500 |
498 |
250 |
1,99 |
Renaissance Bass |
512 |
224 |
2,29 |
PuigChild Compressor |
312 |
132 |
2,36 |
CLA-3A Compressor / Limiter |
275 |
119 |
2,31 |
CLA-2A Compressor / Limiter |
253 |
116 |
2,18 |
C6 Multiband Compressor |
138 |
55 |
2,51 |
dbx® 160 Compressor / Limiter |
56 |
56 |
1,00 |
Compresores y limitadores principalmente. Varios de ellos llegan al techo de 512 instancias en 44,1 kHz, con lo que nos hemos de fijar más bien en el valor a 96kHz y asumir que su ratio entre ambas velocidades probablemente sea cercana a 2. Es de hecho cercana a 2 en casi todos ellos. Lo que, como antes, apuntaría posiblemente al uso prácticamente del mismo algoritmo en ambas velocidades, sin preocuparse por una optimización específica a cada una.
Pero en el momento en que vamos a los plugins con una mayor complejidad de cómputo, como lo es el dbx 160, vemos que la mayor parte del cómputo es insensible a la velocidad de muestreo. Obtener un buen comportamiento dispara el coste, tanto a 44 como a 96, y los acerca en cantidad de cómputo. Sin querer decir que sea el caso (no conocemos las tripas del código) pensad por ejemplo en que pueda estar sobremuestreando internamente para el cálculo a velocidades bien superiores incluso a los 96. Algo como eso es una forma de mejorar la calidad frente a procesos no lineales y justificaría el incremento de cómputo y el hecho de que sea tan idéntico sin importar que en origen la señal venga a 44,1 o cuente con el mayor margen de partida que dan los 96.
Ecualizadores
[Índice]El cuadro refleja cuántas instancias ‘caben’ a 44,1 y cuántas a 96 kHz, más la relación entre ambas cifras (cuántas veces más plugins entran a 44 que a 96).
Type |
Plugin |
44.1kHz |
96kHz |
Ratio 44/96 |
EQ |
API 550 (mono) |
512 |
452 |
1,13 |
PhaseAlign |
InPhase (mono)** |
184 |
184 |
1,00 |
EQ |
Scheps 73 (mono) |
152 |
157 |
0,97 |
EQ |
H-EQ Hybrid Equalizer (mono) |
144 |
126 |
1,14 |
EQ |
PuigTec EQP1A (mono) |
176 |
104 |
1,69 |
EQ |
API 560 (mono) |
104 |
87 |
1,20 |
Hemos incluido también PhaseAlign por tratarse de un plugin de tipo muy ‘lineal’, como en principio se considera también a los EQs.
Lo más llamativo es cómo ahora en vez de abundar la ratio ‘2’ lo que abunda es ratios cercanas a ‘1’. Es decir, un coste computacional prácticamente igual a 44 y a 96. Si pensamos en la ecualización como filtrado, es decir, como proceso líneal, un mismo grado de calidad es cierto que puede obtenerse con el mismo cómputo. Esencialmente aunque se dobla el número de muestras, en la velocidad alta se puede reducir el número de coeficientes (el orden de los filtros) porque la señal es conocida con más detalle. Estas cifras indicarían que en este tipo de sistemas sí hay un cierto replanteamiento / optimización para cada velocidad.
Llamativo y mucho también que en media los plugins de dinámica/compresión están ofreciendo un total de instancias más alto que los EQs. Quizá todavía estamos en una situación en la que (de nuevo en media, siempre hay excepciones) los desarrolladores atienden con más cuidado los sistemas lineales como los ecualizadores (para los que los modelos son mucho más conocidos y sencillos) y no tanto con los compresores. Se entiende así mejor que todavía a día de hoy muchos prefieran la compresión hardware frente a la software. No es tanto un problema de que no haya buenos compresores software, sino que una mayoría de ellos, no están a la altura de lo que sí nos ofrecen ya los ecualizadores. Pero tiempo al tiempo, que todo llega. Mientras tanto, algo que parece muy evidente: en el uso de compresores y en general sistemas no lineales por software, tenemos que ser muy críticos con el oído y probar y elegir desde las orejas más que desde las cuestiones de funcionalidades amplísimas o, menos aún, los interfaces superatractivos.
Reverberaciones
[Índice]El cuadro refleja cuántas instancias ‘caben’ a 44,1 y cuántas a 96 kHz, más la relación entre ambas cifras (cuántas veces más plugins entran a 44 que a 96).
Plugin |
44.1kHz |
96kHz |
Ratio 44/96 |
Renaissance Reverb (stereo) |
178 |
90 |
1,98 |
IR-Live Convolution Reverb (stereo)* |
85 |
26 |
3,27 |
IR1 Convolution Reverb (stereo)* |
47 |
22 |
2,14 |
H-Reverb Hybrid Reverb (stereo)* |
14 |
10 |
1,40 |
De partida, el bofetón esperable: los números más bajos de instancias se producen, en media, con las reverberaciones. Siguen siendo la ‘categoría estrella’ en cuanto a demanda de CPU. Pero quizá menos de lo que esperaríamos. Podemos estar hablando de unas cinco o seis veces más que los ecualizadores, por dar un orden de magnitud. Pero es un salto que se debe principalmente a las reverb por convolución, no a las algorítmicas (que estarían consumiendo menos del doble de CPU que las ecualizaciones).
Insisto, un salto esperable, pero quizá menos pronunciado de lo que pensaríamos.
Amplificadores, saturaciones
[Índice]El cuadro refleja cuántas instancias ‘caben’ a 44,1 y cuántas a 96 kHz, más la relación entre ambas cifras (cuántas veces más plugins entran a 44 que a 96).
Plugin |
44.1kHz |
96kHz |
Ratio 44/96 |
Kramer HLS Channel (mono) |
240 |
96 |
2,50 |
Vitamin Sonic Enhancer (mono) |
192 |
88 |
2,18 |
J37 Tape (mono) |
64 |
72 |
0,89 |
Kramer Master Tape (mono) |
111 |
32 |
3,47 |
Esta categoría nos sitúa de nuevo en el terreno siempre difícil en digital de la ‘saturación/distorsión’. Y por tanto el cómputo, si nos fijamos, anda en el mismo orden que una reverberación algorítmica.
Curioso que aquí andemos en cifras de algo menos de 100 instancias (a 96kHz) frente a las típicamente 200 (a 96kHz) que ofrecían muchos de los compresores. Pero es lo que tiene el hecho de que aquí hablamos de unas distorsiones típicamente mucho más instantáneas y más severas, y en las que vamos a prestar atención en la escucha, más incluso que con los compresores, a su efecto de alteración tímbrica. Más computo por tanto para atender una mayor exigencia.
Otros
[Índice]Reunimos en un mismo cajón de sastre los demás. De nuevo el cuadro refleja cuántas instancias ‘caben’ a 44,1 y cuántas a 96 kHz, más la relación entre ambas cifras (cuántas veces más plugins entran a 44 que a 96).
Plugin |
44.1kHz |
96kHz |
Ratio 44/96 |
LoAir (generación de subarmónicos) |
512 |
268 |
¿aprox 2? |
TransX Multi (conformador de transitorios) |
380 |
184 |
2,07 |
H-Delay Hybrid Delay |
412 |
155 |
2,66 |
NLS Non-Linear Summer |
308 |
117 |
2,63 |
Se mantiene esa tendencia al cómputo doble al saltar a fs 96kHz. Y los simples retardos, cuando deben emular comportamiento analógico con saturaciones, o los sumadores que deben recrear no linealidades, vuelven a tener cifras semejantes a las que vemos en otros sistemas con presencia de distorsión y no tan alejados de lo que implica una reverberación algorítmica.
Conclusiones
[Índice]De nuevo, insisto: no puede haber conclusiones sólidas cuando se parte de tan pocos datos y sólo cabe una especulación. Las diferencias internas y de obejtivos de los distintos plugins son enormes. Pero, siendo tantos, sí creo que las cifras analizadas apuntan algunas tendencias representativas de lo que se nos ofrece hoy en el mercado de los plugins.
Globalmente saltar a 96kHz nos va a llevar a duplicar el cómputo (sólo en algunos plugins específicos más que doblar), pero personalmente no lo encuentro exagerado. Puede ser asumible.
La reverb sigue apuntándose como merecedora al premio al más hambriento, pero por un margen que se estrecha a medida que nos hemos ido haciendo más exigentes con la calidad y no sólo con la funcionalidad del resto de los efectos más típicos. Una ecualización o un compresor que manifiesten un comportamiento de coloración tímbrica / saturación, pasan a ser también hoy consumidores de operaciones en un grado que no era tal hace unos años. Parece que esos otros procesos ‘coloreantes’ van mejorándose, a costa lógicamente de demandar más procesador.
Pero son muy excepcionales los plugins ‘devoradores’ intesivos de CPU. Parece que como clientes seguimos reacios a comprar algo que sea demasiado intenso en consumo y nos deje sin poder disfrutar de crear infinidad de plugins simultáneos. Sólo por esa dificultad de venderlo puedo entender que no haya a día de hoy una mayor oferta de plugins de calidad ‘extraordinaria’ incluso para las tareas más difíciles. Y no es que falten soluciones digitales para llevarlas a cabo. Sencillamente, a día de hoy se venden como carísimos equipos hardware de interior digital, muchas veces hacia entornos ‘mastering’ en donde se manejan presupuestos más elevados que en el ámbito de los plugins convencionales.
Y desde luego, por encima de todo. Pocas veces sabemos bien qué estamos comprando si atendemos sólo a la información ‘de folleto’. Por fortuna las versiones demo están a la orden del día, y en el caso de tener que tomar una decisión de compra difícil (por el importe y por la existencia de varias alternativas) podremos casi siempre realizar unas pruebas con calma y en nuestro propio entorno de trabajo. Qué situación tan idílica frente a tener que acudir a un entorno desconocido.
Sí, soy positivo. No vamos por mal camino. Tanto el presente como el futuro parece que pintan bien.