Grabación

¿Por qué suena peor la distorsión digital que la analógica?

29/06/2017 por Pablo Fernández-Cid Actualizado el 30/06/2017

Soy un ‘pro-digital’ casi absoluto, pero en el caso de los sistemas altamente no lineales los límites de lo que se nos ofrece comercialmente en digital son evidentes.

Esta es la segunda (no última, habrá más) parte de nuestra revisión del audio analógico y digital que iniciamos atendiendo al estado de la conversión A/D y D/A en la actualidad. Si allí me apuntaba al ‘digital, sí, por supuesto’, hoy damos la vuelta a la tortilla y enfrentamos una de las mayores sombras en digital: la dificultad para materializar saturaciones, distorsiones o incluso compresiones que resulten tan naturales, útiles y provechosas como sus hermanas analógicas.

Una entrega posterior nos llevará a tratar con alguna sorpresa la cuestión de los tratamientos lineales como filtrado, ecualización, retardo, etc. en digital. He tenido que diferir esa parte para no alargar este artículo más todavía. Pero ahora vamos con lo que promete el título de hoy.

Si necesitáis revisar qué es la distorsión o los productos cruzados por intermodulación, os recomiendo estos otros dos tutoriales

Por cierto, me vais a permitir (la costumbre y esos artículos lo justifican) que hable de ‘distorsión’ para referirme a la distorsión no lineal, como es tradicional en nuestro ámbito audio/musical.

Introducción

[Índice]

La primera entrega, al enfocarse en lo que sucede en los A/D y D/A, posiblemente abordaba cosas bien conocidas para muchos. Centrábamos sobre el aliasing el interés en cuanto a posibles pegas en la representación digital de la señal audio. Es en la práctica el único ‘pero’ relevante en las conversiones A/D y D/A, porque los relojes de muestreo son hoy de altísima calidad y sin apenas desviaciones, y la codificación en 24bits y su promesa teórica de 144dB ofrece un detalle más que suficiente, que sobrepasa la propia calidad que presentan las señales audio típicas en las que el inevitable ruido está muy por encima de esos amplios márgenes.

Pero el hecho de que al procesar se puede provocar la aparición de aliasing es mucho menos comentado aunque no menos cierto. El aliasing no sólo existe en los convertidores, no es sólo un problema de representación de señal. El hecho de procesar la señal digital puede introducir aliasing incluso al tratar señales bien muestreadas que carecen de él. Esto es especialmente evidente en el caso de tratamientos no lineles al que atendemos hoy.

Tampoco hay que llevarse las manos a la cabeza. Lo digital funciona y suena muy bien. Tiene sus límites prácticos, como los tiene (muchos, muchísimos, al final más) lo analógico. Lo conveniente es conocer bien las características y diferencias de uno y otro tipo de sistemas. Así que poned todo lo que venga a continuación en contexto: en muchos casos las precauciones que menciono podrán estar de más, aunque en proyectos en los que el audio deba ser mimado al extremo sí tienen su importancia. Vaya, que no me vengáis con que queréis un plugin de saturación de cinta super suave para procesar sin alias una pista de sonidos ‘tecno’ en los que se ha usado ‘bit-crushing’ y ‘decimation’ para degenerar al extremo el sonido.

Aliasing en los efectos no lineales

[Índice]

El aliasing se produce con facilidad en los procesamientos no lineales realizados en digital. Por eso es habitual oír comentarios negativos sobre distorsiones y saturaciones realizadas en digital, sobre las emulaciones de válvula o cinta, o también sobre compresores y limitadores o cualquier otro efecto sobre la dinámica, entre otros.

La razón es bien sencilla de entender. Los sistemas no lineales son, para entendernos, aquellos que en lugar de retocar las componentes frecuenciales que ya existen añaden por si mismos otras nuevas (os remito a este tutorial si necesitáis repasar esta cuestión). Con cualquier saturación, ejemplo de una de las acciones no lineales más benignas, y no digamos ya con otras distorsiones más severas, siempre se extiende el espectro con armónicos de las componentes originales y con productos cruzados (intermodulación, podéis ver este tutorial), y eso da lugar a la fácil aparición de componentes significativas más allá del límite de Niquist, por encima de la mitad de la frecuencia de muestreo. Componentes que por tanto rebotan produciendo aliasing, haciendo que incluso aquella parte de la distorsión que podía ser en origen armónica deje de serlo.

Las distorsiones en digital y la generación de aliasing
pablofcid

Como resultado lo que podía ser una agradable calidez con aumento de brillo y presencia por la acción benigna de una ligera saturación pasa a ser un mareo de pitidos no relacionados con la señal original que pelean contra ella y degeneran la calidad percibida notablemente.

Un fenómeno que se ‘potencia’ al procesar en cadena

[Índice]

Los tratamientos y efectos suelen combinar varias etapas. Pensad en las distintas secciones que se atraviesan en un sistema analógico, por ejemplo un EQ paramétrico que lleva un ‘driver’ o seguidor en la entrada y luego encadena varias etapas de ecualización sobre distintas bandas. O pensad en un plugin y las diferentes funciones programadas por las que pasa la señal para crear ese mismo tipo de efecto: al final hay una cadena de procesos incluso allí donde ‘macroscópicamente’ vemos como usuarios un único efecto. Un amplificador a menudo encadena dos o más etapas de amplificación, cada una con su propia no linealidad.

Si una parte del proceso, no siendo lineal, genera nuevas componentes, la siguiente etapa ya no trabaja sobre la señal original, sino sobre el resultado de la combinación de la señal original y las nuevas componentes. En el caso de que la primera no linealidad incurra en aliasing, cualquier nueva no linealidad presente en la cadena de procesamiento va a ir multiplicando exponencialmente la presencia de rayas extrañas. Como resultado la distorsión es cada vez menos armónica y más densa en productos cruzados, justo el tipo de distorsión de la que habitualmente preferimos escapar. Mientras que el encadanamiento analógico puede sencillamente extender la serie armónica, aquí lo que extendemos es la aparición de esas rayas 'degeneradas' y 'reubicadas' que caracterizan al alias. En definitiva el efecto del aliasing al procesar se potencia rápidamente al encadenar procesos no lineales (ya sea porque estemos usando dos plugins en serie o por que internamente un plugin esté resuelto en varias etapas).

La distorsión crece exponencialmente al encadenar procesos
pablofcid

Entonces ¿digital = basura?

[Índice]

La descripción parecería invalidar totalmente un tratamiento digital, pero no es así. La realidad nos devuelve la sensación de que muchos efectos funcionan bien en digital. Pero es fácil entender porqué los efectos no lineales tienen tantos problemas para llegar a sonar comparativamente equiparables a sus hermanos analógicos cuando buscamos un máximo de calidad o una distorsión profunda, no sólo una leve coloración saturante. Lo que intento es centrar la idea de que lo digital no es sencillo si se quiere realizar bien.

Muchos efectos parecen hechos con mínimos conocimientos o sensibilidad hacia cómo suena el resultado, o bien están terriblemente condicionados por limitaciones de CPU. No hablo sólo de freeware, también software comercial. Va listo quien piense que realizar una saturación en digital sólo requiere una tabla de reemplazo de las muestras que proyecte sobre la forma de onda la compresión de sus picos. Eso, trabajando a velocidad x1 y sin mayores precauciones generará una insufrible aparición de aliasing.

Filtrar y sobremuestrear, una posibilidad para la mejora

[Índice]

Hay quien para evitar tan graves molestias se limita a prefiltrar la señal antes de la saturación, pero eso, indudablemente, roba una parte del carácter. Filtrar, digamos, a 4 o 5 kHz la señal antes de distorsionarla sin duda ayuda, nos deja un margen amplio antes de rebasar los 20kHz y entrar en zona ‘aliasing’ en una representación digital a velocidad x1. Puede robar una parte del carácter del sonido original, pero a la larga ser preferible a la introducción del molesto alias.

Pero incluso aunque tomemos esa precaución de ‘prefiltrar’ antes de distorsionar, en el momento en el que la distorsión sea un poco más severa que una ligera saturación, van a aparecer componentes significativas que estarán más allá de los 20kHz y rebotarán.

Por ello, una de las vías más evidentes pasaría por usar sobremuestreo. Realizar esa acción saturante/distorsionante a velocidad x2, x4 o mayor para contar con mayor espacio para albergar los productos de la distorsión antes de que entremos en ‘zona alias’.

Sobremuestreo antes o durante

[Índice]

Ese sobremuestreo no necesariamente, aunque sería lo ideal, debe realizarse en la propia adquisición de la señal, antes del procesamiento. Hacerlo así implicaría subir la velocidad de muestreo de todo nuestro proyecto, algo que no todos podrán permitirse porque consumimos recursos, de espacio en disco y sobre todo de CPU, mucho más elevados.

Pero puede haber un sobremuestreo interno al efecto. Muchos algoritmos para efectos no lineales trabajan con entrada y salida a velocidad x1, pero incorporan la opción de realizar dentro del efecto un ‘upsampling’ para poder procesar esa acción saturante a velocidad más alta (x2, x4...). El resultado se filtra, todavía dentro del efecto y en digital, y a continuación un ‘downsampling’ devuelve una señal final a velocidad x1, pero saturada y sin ese protagonismo excesivo del aliasing. Tenéis ilustrada la idea en la figura que viene a continuación.

Distorsión digital y oversampling
pablofcid

Está claro que implica más consumo de CPU, por los dos cambios de velocidad de muestreo que exige y el procesado a alta velocidad. Pero al menos no hace necesario elevar la velocidad de todo el proyecto: sólo se aumenta el cómputo en aquellas pistas y efectos que estén manifestando un aliasing más pernicioso. Y el beneficio sobre la aparición del aliasing es evidente, especialmente concediéndonos un x4 o x8 que no es extraño encontrar disponible (incluso he llegado a ver x16 en algún plugin).

Revisad si en vuestros efectos hay este tipo de opciones, y buscad preferiblemente para tratamientos claramente no lineales aquellos plugins que cuenten con este tipo de opción.

La congelación de efectos al rescate de la CPU

[Índice]

La vía del upsampling interno consume sin duda CPU, y exigiría que el ‘upsampling’ y el ‘downsampling’ estén resueltos con buena calidad, lo que de nuevo reclama procesos costosos en cómputo (con up/downsampling de bajo cómputo/calidad se corre el riesgo de que el resultado acabe siendo peor). Para ser útil esta vía acaba consumiendo un mucho más elevado porcentaje de CPU. Pero siempre podemos activar estos modos de alta calidad realizando el tratamiento y la congelación (freeze) en las pistas individuales que lo requieran, aunque sea fuera de tiempo real.

La vía del ‘plugout’: una segunda CPU

[Índice]

En muchos estudios, para evitar los problemas de lo no lineal en digital se opta por contar con sistemas hardware analógicos y usar envíos y retornos a través de nuestros interfaces audio para usar las saturaciones y distorsiones analógicas como un efecto externo al DAW. Como decíamos en la primera entrega, lo analógico queda convertido en un 'efecto', una opción más para dotar de un determinado color a la señal.

En esa misma línea de acudir a un sistema externo, otra opción nada descabellada es que ese efecto externo, en lugar de un carísimo sistema analógico, sea otro ordenador con un interfaz audio configurado en un alto sobremuestreo y y en el que estemos usando un plugin a esa mayor velocidad. El resultado del efecto puede recuperarse mediante una entrada, de la misma forma que cuando hacemos en envío a un sistema analógico. Implica desde luego hacer paso por un nuevo juego de etapas D/A y A/D. Ese remuestreo sin duda penaliza con algo de ruido pero el compromiso frente al alias puede hacerlo preferible. Al fin y al cabo la alternativa es tratar en analógico y eso también implica nuevas etapas D/A y A/D. Se trataría por tanto de realizar un procesado externo, pero en el que en lugar de enganchar un sistema analógico libre de alias enganchamos un sistema digital muy sobremuestreado para, también, alejar los fantasmas del aliasing, pero sin renunciar a las características deseables que pueda tener un plugin que nos gusta especialmente.

¿Alternativas sin sobremuestreo?

[Índice]

Muy pocos, realmente escasos, los desarrolladores ‘en digital’ que buscan la creación de sistemas de distorsión limitados en banda. Procesos que al distorsionar estén defendidos por diseño frente a la posibilidad de hacer aparecer componentes que vayan a superar el límite de Niquist.

Y es así porque los procesos no lineales siguen siendo sólo muy parcialmente conocidos. No tenemos modelos detallados para analizarlos y recrearlos en detalle. Para crear filtros hay mucha ingeniería y recetas, para crear distorsiones sigue habiendo bastante de magia. Y la vía del modelado físico (recrear componente a componente la acción del sistema analógico) es nuevamente demasiado compleja y demandante en CPU.

Nebula y sus derivados pasan por ser uno de los pocos motores que tiene un enfoque interesado por recrear distorsiones con capacidad de limitar la generación de alias, pero con todo está sometido a bastantes limitaciones en cuanto al alcance del modelo. Nebula somete a extensísimos tests los sistemas analógicos obteniendo la respuesta a diferentes senos y señales de distintas amplitudes, y acaba creando un modelo aproximado a la respuesta del sistema analógico original, casi a modo de un 'muestreo' de la acción del sistema ante diferentes tipos de estímulo. La cantidad de cómputo que exige al ejecutar esos modelos supera muchísimo lo que estamos acostumbrados a observar en efectos parecidos pero hechos con menor ambición. Aunque yo no he tenido ocasión, personas que sí han comparado efectos recreados en Nébula con otros plugins de emulación más convencionales, han comentado que sí es apreciable una reducción de la presencia de aliasing y de la distorsión por intermodulación, pero también a costa de una menor extensión de la colección de armónicos agregados y otras peculiaridades propias de cómo funciona su motor interno.

Cuánto quiero pagar por un efecto en digital

[Índice]

En definitiva, no es que sea imposible crear distorsiones digitales con alias controlado, pero es mucho más complejo y siempre mucho más altamente demandante de CPU. Quizá más CPU de la que estamos dispuestos a poner en la sartén. ¿Cuántos estáis revisando y activando las opciones de sobremuestro interno en los plugins para asegurar una mejor calidad? Muchas veces no lo hacemos aterrorizados por el incremento de demanda de CPU al que eso conduce.

Y esa es una cuestión que siempre me viene a la cabeza. Porqué es tan habitual que admitamos precios de 4 cifras para equipos analógicos relativamente simples en sus funciones (un compresor, un previo o un EQ básicos) y que sin embargo no estemos dispuestos a admitir que un sistema digital que realice esa función (posiblemente con algo más de versatilidad) pueda necesitar devorar un montón de CPU y por lo tanto requerir que montemos un ordenador dedicado. Quizá también con 4 cifras, pero seguramente todavía más bajas.

A lo que voy es a que no sé si somos justos en las comparaciones. Miles de euros en hardware analógico, frente a una inversión mucho menor en digital de cuyos resultados nos quejamos comparando directamente con ese otro extremo. El efecto de ‘coloración’ que asociamos a lo analógico y sus naturales saturaciones y compresión, podríamos tenerlo con mucha mejor calidad que la que acostumbramos a encontrar en realizaciones digitales si admitiéramos pagar por un sistema de distorsión muestreado a altísima velocidad y concebido para ir limitando en banda cada paso intermedio, alejando así los fantasmas del aliasing. Pero no parece que los fabricantes nos consideren todavía interesados en hacer ese tipo de desembolso. Cuando lo estemos, no van a encontrar mucho problema en ofrecérnoslo comercialmente.

Hace no tantos años, pocos ofrecían las opciones de ‘upsampling’ interno en los efectos. A día de hoy pocos desarrolladores serios no lo hacen. Ya sea porque aplican el sobremuestreo siempre o bien porque nos dejan como usuarios la opción de activarlo o no. Esto último nos permite jugar a nuestra conveniencia con un menor consumo de CPU y una peor calidad mientras estamos haciendo tanteos, y un mayor consumo cuando vayamos realmente a mezclar o a congelar el audio de una pista.

Resumen

[Índice]

Sí, al final, como tantas otras veces, os he mareado con un larguísimo texto de casi 3000 palabras, para que las conclusiones sean simples. Pero lo hago porque estoy convencido de que interesarnos por algo más que las recetas finales y leer, aunque sólo sea una vez, sobre las causas y no sólo las conclusiones, es la única manera de que realmente asentemos el conocimiento y podamos enfrentar mejor el uso de los sistemas, sean hard o soft y sean los actuales o los que el futuro nos traiga.

  • Los efectos claramente no lineales en digital son proclives al aliasing y son un terreno en el que lo analógico cuenta con ventaja frente a lo habitualmente disponible en digital
  • El sobremuestreo es una vía simple para mejorar y muchos plugins ofrecen hoy opción de sobremuestreo interno en los cálculos, pero hemos de activarla
  • Gastan entonces mucha mayor CPU, pero más caro todavía es comprarse un equipo analógico decente y siempre cabe la opción de ‘congelar’ el efecto generando una pista audio ya procesada
  • Las opciones en digital hoy por hoy nos obligan a un uso más ‘trabajado’, más ‘sesudo’, frente a lo intuitivo que resulta aprovechar la natural saturación y distorsión que nos ofrece, sin apenas esfuerzo, un buen equipo analógico.
  • No deberíamos descartar un cierto ‘prefiltrado’ de la señal que vayamos a distorsionar (personalmente, incluso en analógico suelo jugar con filtros pre y post distorsión para poder buscar más colores y personalización)
Te puede interesar