Cómo crear nuestros propios plugins con Visual Studio

Ya vimos un resumen muy breve de lo que podemos hacer con distintos plugins de efectos utilizados en el contexto de la mezcla de una canción. Ahora veamos como podemos crear nuestros propios plugins.

La primera decisión que tenemos que tomar es qué lenguaje de programación vamos a utilizar. En mi caso particular, mi lenguaje de cabecera es Java porque es con el cual tengo más experiencia desarrollando distintos tipos de aplicaciones. Sin embargo, el principal punto de entrada para desarrollar plugins es el kit de desarrollo de Steinberg (empresa que inventó el estándar VST) y dicho kit está pensado para programar en el lenguaje C++. Si bien hay algunas iniciativas para desarrollar plugins en lenguajes que utilizan la máquina virtual de Java, estas tienen el inconveniente de que tienen una latencia extra con respecto a los plugins nativos desarrollados en C++. Y la latencia es algo que queremos reducir al mínimo a la hora de trabajar con audio.

Por lo tanto, el primer paso es descargar el kit de desarrollo de la página de Steinberg. Es necesario crear una cuenta gratuita para poder realizar la acción. En caso de que queramos trabajar con drivers ASIO (Audio Stream Input/Output), en la misma página hay un kit separado para trabajar con este tipo de drivers.

El proyecto de ejemplo ADelay del SDK de Steinberg, compilado en Visual Studio.
El proyecto de ejemplo ADelay del SDK de Steinberg, compilado en Visual Studio.

Luego necesitamos un entorno de desarrollo o IDE (integrated development environment), que es un programa que nos permite editar el código fuente, compilarlo y depurarlo si es necesario. Recomiendo usar como IDE a Microsoft Visual Studio Express Community, dado que el kit incluye unas plantillas que facilitan el desarrollo utilizando esta herramienta (que además es gratuita). Estas plantillas son para versiones algo desactualizadas de Visual Studio, pero la versión 2015 la puede importar sin problemas.

Projuicer, la utilidad del framework Juice que facilita el desarrollo de plugins en distintos formatos.
Projuicer, la utilidad del framework Juice que facilita el desarrollo de plugins en distintos formatos.

Para generar proyectos compatibles con la última versión de Visual Studio, la opción más recomendable en cuanto a facilidad de uso es utilizar la utilidad Projuicer incluida en el framework Juce. Juce es un framework que permite desarrollar un plugin genérico y luego compilarlo en distintos formatos (AudioUnit de Mac, AAX de ProTools y VST) utilizando los SDKs propios de cada tecnología. El problema con Juce es que su licencia es bastante cara, con lo cual está recomendado solamente para aquellos que quieran aprender del tema utilizando la versión gratuita o para aquellos que quieran hacer desarrollos profesionales y puedan afrontar el costo de la licencia.

En cuanto a la interfaz gráfica del plugin, el SDK de Steinberg incluye una librería llamada VSTGUI diseñada para tal fin. Juce, por su parte, incluye sus propias liberías gráficas compatibles con el estándar OpenGL.

En definitiva, el VST SDK y Visual Studio son las herramientas mínimas que necesitamos para crear nuestro primer plugin. En las próximas semanas vamos a meternos de lleno en los conceptos necesario para el desarrollo de un plugin. Publicaremos el código en GitHub para que puedan estudiarlo con tiempo en sus casas.

¡Hasta la próxima!

Pimer mezcla (parte II): distorsión, delay y mucho más

Seguimos haciendo un repaso de distintos tipos de efectos de audio, tomando como base la mezcla de una canción. En esta segunda entrega nos vamos a encontrar con efectos que utilizan técnicas muy variadas para lograr sus objetivos, con lo cual es difícil encontrar controles similares entre ellos. Pero sí daremos una descripción con algunos ejemplos.

Transient Shapers

En acústica se denomina transitorios a los sonidos de alta amplitud y corta duración. En el contexto de la mezcla de una canción esos sonidos suelen estar emparentados con los instrumentos de percusión, aunque el contacto inicial de una púa con la cuerda de la guitarra o del dedo con la tecla de un piano también se puede considerar un transitorio.

Los efectos denominados transient shapers o transient designers están encargados de mejorar o atenuar principalmente el ataque de estos transitorios. También hay efectos un poco más generales llamados envelopers que además de efectuar cambios en el ataque, también permiten alterar el sustain o el decay del mismo.

Un transient shaper gratuito y sencillo.
Sleepy Time Transient: Un transient shaper gratuito y sencillo.

El lector atento seguramente se estará preguntando: ¿pero no puedo lograr eso utilizando compresión y ecualización adecuadamente? Si incremento las frencuencias medias-bajas de una batería puede mejorar los transitorios, pero también puede hacer que todo el sonido sea más brillante. De manera similar, un compresor puede afectar el ataque pero también el sustain o el decay de la señal.

Es por ello que los transient shapers se pueden pensar como compresores con tiempos cortos de release diseñados especialmente para conservar el tono y la dinámica de las señales que procesan.

En esta ocasión vamos a usar Sleepy Time Transient para darle un poco más de pegada a una de las tomas de redoblante. Primero escuchamos un segmento de la toma sin procesar:

Y la toma procesada:

Distorsión y derivados

Se llama distorsión a la alteración de la forma original de una señal de audio. Hay muchos tipos de distorsión y desde el punto de vista de la mezcla nos interesa tener absoluto control sobre ella. Además de su uso habitual en las guitarras de los estilos musicales como el rock, la distorsión puede darle color a voces y platillos insulsos. Y por otro lado, también nos interesa mantener a nuestra mezcla libre de distorsiones debidas a problemas de fase, entre otras cosas.

Unfiltered Audio Indent: efecto de distorsión basado en clipping con filtros pasa bajos y osciladores de baja frecuencia.
Unfiltered Audio Indent: efecto de distorsión basado en clipping con filtros pasa bajos y osciladores de baja frecuencia.

En esta mezcla no utilicé distorsión. La guitarra eléctrica ya estaba grabada utilizando un pedal de guitarra para tal fin.

Delay y derivados

El efecto de delay (o retardo, en español) consiste en retardar la reproducción de un sonido por una cantidad de tiempo variable. Los tiempos cortos de delay (entre 75 y 250 milisegundos, aproximadamente) suelen utilizarse para hacer que las guitarras suenen más “gordas”. Este tipo específico de delay se denomina slapback. A medida que incrementamos el tiempo de retardo, el eco de la señal se hace cada vez más evidente y si el mismo coincide con el tempo de la canción, eso abre a su vez un abanico de posibilidades artísticas casi ilimitado.

Waves Trueverb: un efecto de reverb que utiliza un algoritmo Early Reflections para los primeros 100 ms y otro con el nombre poco original de Reverb para efectos más densos.
Waves Trueverb: un efecto de reverb que utiliza un algoritmo Early Reflections para los primeros 100 ms y otro con el nombre poco original de Reverb para efectos más densos.

Para no extendernos demasiado, vamos a incluir en esta sección a los efectos de flanger, chorus y reverberación (o reverb). En los dos primeros el retardo suele ser corto y además el efecto incluye algún tipo de modulación. El reverb suele incluir múltiples retardos que se retroalimentan y permiten recrear el sonido de un espacio acústico.

Justamente en este mix vamos a aplicar un poco de reverberación a las tomas del room de batería. Este es un segmento de la toma sin procesar:

Y luego de usar Waves Trueverb:

Phaser

Un phaser filtra una señal creando una serie de picos y valles en el espectro de frencuencias de la misma. La posición de esos picos suele modularse utilizando un oscilador de baja frecuencia. Es un efecto muy utilizado en guitarras y teclados.

Audiffex STA Phaser: un phaser con saturación valvular emulada.
Audiffex STA Phaser: un phaser con saturación valvular emulada.

Vamos a agregar un phaser sutil al solo de guitarra, que ya habíamos escuchado en la entrega anterior. Así queda la versión final con ecualizador, compresión, saturación, phaser y una pizca de slapback delay:

Excitadores armónicos

Los excitadores armónicos (harmonic exciters) son efectos que mejoran la señal utilizando distintas técnicas: variando la ecualización en forma dinámica, manipulando la fase o agregando tanto distorsión como armónicos sintetizados.

La Petite Excite: un excitador armónico simple y gratuito.
La Petite Excite: un excitador armónico simple y gratuito.

En esta mezcla decidí no utilizar excitadores armónicos, pero sin duda merecían un lugar en nuestra lista.

En los próximos artículos vamos a meternos con temas más profundos relativos al funcionamiento de cada efecto en particular. También veremos cómo podemos programar estos efectos utilizando distintas herramientas.

¡Hasta la próxima!

Pimer mezcla (parte I): compuertas, ecualización y compresión

Ahora que vimos un pantallazo sobre como elegir las herramientas más básicas para trabajar con audio digital, estaría bueno que veamos cómo sería la mezcla de una canción para ver que cosas podemos hacer con plugins que sean compatibles con el estándar VST.

Tenía un ejemplo muy sencillo para mostrarles, pero justo en estos últimos días participé en un concurso de mezcla organizado por Indaba Music y Pensado´s Place, dos sitios web muy recomendables para aquellos que estén interesados en estos temas.

La canción en cuestión es Distance, de la banda Regret of the Hour. Por desgracia, el videoclip no es público en Youtube y no lo puedo incrustar en este artículo, pero pueden verlo en la página del concurso de Indaba Music.

El objetivo de este artículo no es diseccionar un mix de calidad profesional, sino repasar los tipos principales de efectos y ver casos particulares de su utilización.

Compuertas de Ruido

El primer efecto que vamos a mencionar es la compuerta de ruido (o noise gate). Como su nombre lo indica, es una compuerta que sólo deja pasar los sonidos cuyo volumen sobrepasa cierto umbral (o threshold). También podemos controlar la velocidad del cierre de la compuerta (attack), el tiempo que permanece cerrada (hold) y la velocidad con que se abre (release).

Scarlett Gate: una compuerta de ruido sencilla
Focusrite Scarlett Gate: una compuerta de ruido sencilla

El típico escenario de uso de las compuertas de ruido es en las pistas de la batería, en donde los micrófonos suelen tomar los sonidos de los cuerpos adyancentes al cuerpo que nos interesa grabar.

Escuchemos la toma interior del bombo antes de procesarla con la compuerta de ruido:

Y como suena después:

Ecualizadores

Se han escrito libros completos sobre ecualización, pero aquí vamos a resumirlo en algo muy concreto: consiste en ajustar el balance de las frecuencias de una señal de audio.

T-Racks Classic Equalizer
T-Racks Classic Equalizer: un EQ gráfico de cuatro bandas con controles mid-side.

Por más que la grabación haya salido genial, es muy habitual que se ecualicen todas las pistas de una grabación. Por ejemplo, es habitual que la parte más baja del espectro de frecuencias quede reservado para los bombos y el bajo. Y podemos atenuar esas frecuencias de las demás pistas utilizando un filtro pasa altos (high-pass filter), una característica infaltable en cualquier ecualizador que se precie.

Además de filtros pasa altos y pasa bajos, un ecualizador tiene bandas que representan rangos de frencuencias con controles de volumen para cada banda.

Los equalizadores más avanzados también suelen incluir controles para procesamiento mid-side, pero no nos vamos a meter aún con esos temas.

Aquí podemos escuchar el solo de guitarra antes y después de ajustar los niveles para darle un poco más de presencia. El efecto puede llegar a ser muy sutil, así que recomiendo escuchar esto con auriculares.

Solo de guitarra – Sin procesar:

Solo de guitarra – Con ecualización:

Compresores

Otro de los pesos pesados entre los efectos de audio es el compresor. Este efecto se encarga de amplificar las frecuencias con poco volumen y atenuar las que tienen mucho, reduciendo el rango dinámico de la señal.

Nomad Factory Bus Driver: un compresor / limitador con emluación de distorsión valvular
Nomad Factory Bus Driver: un compresor / limitador con emulación de distorsión valvular

Entre los parámetros principales que encontramos en este tipo de efectos se encuentra el umbral (threshold). Es cuando la señal excede ese umbral medido en decibeles que el compresor comienza a disminuir el volumen y la velocidad con la que realiza esta acción se controla con el ataque, medido en milisegundos.

La razón de compresión (ratio) es la que determina la cantidad de reducción de volumen que se va a aplicar una vez alcanzado el umbral. Por ejemplo, si la razón es de 2:1, significa que cuando el nivel de entrada exceda al umbral en 2 decibeles, el nivel de salida sólo va a exceder ese umbral por 1 decibel.

El parámetro Release controla la velocidad con la que el compresor actúa una vez que el nivel de la señal vuelve a quedar por debajo del umbral.

Otro parámetro importante es knee (rodilla). Muchos compresores representan el volumen con un gráfico bidimensional en donde el umbral es el punto en donde se unen las funciones lineales de volumen antes y después de dicho umbral. Esa función recuerda vagamente a una rodilla, que puede ser hard o soft. Usar soft knee hace que la transición en la variación de volumen aplicada por el compresor sea más suave.

Veamos por ejemplo, como podemos hacer que una de las tomas del bajo suene un poco más “gruesa” utilizando compresión.

Bajo con ecualizador:

Bajo con ecualizador y compresión:

En la segunda parte de este artículo vamos a ver más tipos de efectos y también como podemos pensar a algunos de ellos en términos de compresión y ecualización.

¡Hasta la próxima!

Bienvenidos a la época dorada del audio digital

Dada la gran cantidad de gente que se dedica a grabar y/o mezclar música en su propia casa, uno podría pensar que esta es una época dorada para los interesados en el audio digital. Y en cierta forma es cierto, porque además existen una gran cantidad de herramientas disponibles para grabar, mezclar y masterizar audio digital.

Sin embargo, muchas de esas herramientas cuestan dinero y tienen interfaces gráficas muy distintas entre sí. Esto dificulta elegir cuáles utilizar (en función del precio, el uso que se le va a dar y el nivel de conocimientos del usuario) y también cómo aprovecharlas al máximo. Analicemos un poco cada una de estas variables.

Precio

Supongamos que queremos armar nuestro estudio virtual sin pagar ninguna aplicación de software. Podríamos utilizar una distribución linux optimizada para trabajar con audio digital, como Ubuntu Studio o Musix. En distribuciones como estas podemos encontrar DAWs (software de edición multi-pista) como Ardour y herramientas de mastering como Jamin. La latencia (resumiendo en una manera bruta, el tiempo que transcurre desde que ingresa una señal a nuestra placa de audio hasta que lo puede reproducir) tal vez sea más baja que un sistema Windows… si tenemos la suerte de que nuestra placa de sonido funcione a la primera.

Pero a mi entender el problema más grave es que, si bien podemos componer y grabar, a la hora de mezclar y/o masterizar disponemos de una cantidad bastante limitada de procesadores (compresores, ecualizadores, etc), cuya calidad es inferior a lo que se suele encontrar en las plataformas Windows o Mac. Con lo cual esta opción solamente me parece recomendable para aquel que quiera componer y grabar, pero que quiera dejar la mezcla y el mastering a cargo de personas con equipamiento más adecuado.

Uso

A mí me interesa todo el proceso creativo y técnico: composición, grabación, mezcla y mastering. Así que trabajo en Windows 10 con una PC de gama media-alta (procesador Intel i5, 8 GB de memoria y disco de estado sólido).

Si bien hay DAWs gratuitos para Windows, su calidad no me parece buena. Repasemos algunos:

  • Presonus Studio One Prime: no está mal, pero no tiene soporte para plugins VST (voy a explicar que son en un momento).
  • Pro Tools First: consume mucho CPU y memoria y está limitado a 16 pistas con 4 inserciones por canal. Solo permite guardar hasta 3 proyectos. No soporta VST.
  • Samplitude Pro X Silver: limitado a 8 pistas. Soporta VST. La interfaz no es para nada intuitiva.

Hay más, pero el resto son realmente muy primitivos. Sin embargo, al comprar una placa de sonido externa muchas veces uno tiene la posibilidad de adquirir con ella una licencia de algún DAW. Mi primera placa de audio externa fue una Lexicon Alpha y con ella me vino el Cubase 4 LE de 32 bits. Con el tiempo vendí la placa, pero me quedé con la licencia y luego Steinberg me dio la posiblidad de actualizarme a Cubase 8 LE (ya de 64 bits) por un precio mínimo. Cubase 8 LE soporta hasta 16 pistas con 4 inserciones por canal y su interfaz me resulta más amigable que la de los DAWs mencionados hasta el momento.

Steinberg Cubase 8 LE
Steinberg Cubase 8 LE

Mi placa de audio actual es una Focusrite Scarlett 2i2, que incluye una licencia de Ableton Live Lite. A diferencia de lo que ocurre con Steinberg, en este caso no hay que pagar extra por las actualizaciones, así que pude actualizarme gratis de la versión 8 de 32 bits que incluía el CD a la 9.6 de 64 bits que es la actual. La limitación más importante de la versión Lite es que sólo soporta 8 pistas, lo cual es bastante poco. Sin embargo, uno se las puede arreglar para componer una canción sin muchos instrumentos (batería virtual, bajo, guitarra y voz).

Ableton Live 9 Lite
Ableton Live 9 Lite

Por desgracia, si necesitamos mezclar una canción grabada en un estudio con una batería separada en pistas individuales, ninguna de estas opciones nos sirve porque no nos van a alcanzar las pistas. En este caso recomiendo invertir en una licencia de Reaper, un DAW con una relación calidad / precio muy buena.

VST

Pero nuestro estudio virtual no se acaba en el DAW. En el año 1996, Steinberg creó el protocolo VST (Virtual Studio Technology) para conectar instrumentos y efectos a nuestro software de edición. Hay muchísimos plugins VST de excelente calidad, tanto comerciales como gratuitos.

En nuestros próximos posts vamos a dedicarnos a estudiar efectos de sonido. Vamos a ver conceptos teóricos de audio para poder entender como funcionan. Vamos a hacer ejercicios prácticos utilizando plugins específicos. Y también vamos a ver cómo crear nuestros propios plugins. Con eso vamos a aumentar nuestro nivel de conocimientos, que es la tercera variable de las que mencionabamos al comienzo del artículo.

¡Hasta la próxima!