lunes, 22 de marzo de 2010

¡Maldito aliasing noise!

En cuanto le expliqué a Sanabria lo que quería, levantó una ceja cuando escuchó la expresión "basar todo el sonido en torno al Tonebank". Siempre levanta esa ceja cuando va a haber problemas. Y los hay.

El Tonebank es una obra maestra y a la vez una pequeña chapucilla. En 1987, tener un instrumento de tabla de ondas o un sampler era todo un lujo al alcance de muy pocos. Los teclados baratos solían emplear phase distortion (Casio) o con suerte FM (Yamaha) para crear sus sonidos. Básicamente, los teclados generaban dos o tres ondas cuadradas de diferentes períodos y amplitudes, cada una con su envolvente sencilla (¡MUY sencilla!), y las sumaban o restaban para luego aplicar un filtrillo o una envolvente global. Jugando con esto se trataba de replicar algunos sonidos, pero sin demasiado éxito. Todos recordamos el "Piano" del VL-Tone, un "Piano" al que hay que añadir muchas comillas.

Los sonidos realistas que tenían los sintes y órganos caros venían de tablas de onda: se grababa instrumentos reales (dependiendo de lo "caro" que fuera el teclado, incluso varias veces en diferentes notas y con varios volúmenes) y se propagaba por todo el teclado interpolando para crear todas las notas y sus volúmenes. Esto, en los 80, era extremadamente caro, ya que esos "samples" había que almacenarlos en chips de memoria que eran todo un lujo en aquella época.

Por suerte, a Casio y Yamaha se les ocurrió la brillante idea de implementar mini-tablas de ondas de una forma bastante creativa, mezclando un poco cómo funcionaban sus teclados antiguos y los carísimos sintes profesionales, y lanzaron sus líneas Tonebank y Portasound, respectivamente.

Los Tonebank, en vez de generar ondas cuadradas básicas, envolverlas y mezclarlas, emplean ondas complejas que vienen de samples muy cortos y grabados con muy poca frecuencia de muestreo y pocos bits de resolución. Estos samples ocupan muy poca memoria, pero son más complejos y parecidos a la realidad que una simple onda cuadrada. Con esto, un piano sonará más a piano, y los intratables metales parecerán metales.

El problema es que la memoria ROM en un Tonebank es ínfima. Con un puñado de samples es capaz de crear 100 sonidos, combinando estos samples, repitiéndolos, troceándolos, filtrándolos, distorsionándolos y flangeándolos. El problema es que el CPU de estos teclados es también muy poco potente. El resultado es que los sonidos se generan a una frecuencia de muestreo irrisoria, y, sobre todo, con una profundidad de bits muy baja.

El problema de esto es que se genera lo que conocemos como aliasing noise. Es un ruido digital que se genera por tratar con ondas de poca calidad y operar con ellas. Cuanto más se opere con ellas, más basura se genera, ya que cuanta menos frecuencia usemos más difícil es representar las frecuencias altas, y las que existen se convierten en ruido aleatorio.
Se puede ver en la ilustración: tenemos una onda de mucha frencuencia (en negro), y la estamos sampleando a muy baja frecuencia (en rosa). Los cuadraditos representan la información que se almacena al samplear. Como véis, la onda rosa no se parece en nada a la onda negra. Esto produce el aliasing noise.

Los primeros Tonebank eran más caros y mejores. Mi Casiotone 210 tiene filtros que eliminan este zipper noise de forma que es casi inexistente. El problema del SA-10 es que era realmente barato. Aquí tenemos el aliasing noise en todo su apogeo. En instrumentos que pretenden sonar más realistas o acampanados, o en instrumentos que tienen mucho ataque y un decay/release largo, como pianos, campanitas y vibráfonos, el efecto es devastador.

Y es en estos casos en los que tener más medios para grabar con buena calidad resulta contraproducente: cuando grabábamos el tonebank a cinta en una habitación con todos los instrumentos a la vez, el aliasing noise se perdía entre el ruido de la habitación y la poca calidad de la grabación. En una grabación digital, este efecto de trabajar con frecuencias de muestreo bajas es insufrible.

¿Cuál es la solución? Procesar el sonido. No quería procesar el sonido, pero me dice M.Sanabria que no me preocupe, que el proceso es muy poco destructivo y que el sonido no perderá su autenticidad en absoluto. Aplicamos dos tipos de proceso, según el tipo de sonido:
  1. Para sonidos graves que no tengan agudos propios, sólo aliasing noise, aplicamos un filtro FFT cortando toda la cola de agudos. En plan heavy. Abrimos el FFT en el Adobe Audition y hacemos una ambulancia mirando a la derecha. Nos cargamos todo lo agudo. Esto nos vale con los bajos, basoon, organos graves, bombos de batería y cosas así.
  2. Para sonidos agudos, campaneantes, flangeantes y vaporosos, aplicamos Hiss Reduction escuchando muy bien para establecer el umbral sin destrozar los agudos del sonido. En pianos y vibráfonos, flautas, órganos, pitidos, cajas, platos, campanitas y demás sonidos tonebankeros funciona perfectamente. Obtenemos un sonido limpio, sin aliasing noise, y que sigue sonando a tonebank.

¡Ya hemos salvado el escollo más importante! Ahora, sólo tenemos que ponernos manos a la obra.

No hay comentarios:

Publicar un comentario