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!