Informática musical

Cómo hacer efectos VST con Synthedit

16/03/2004 por Radeon

Pero, ¿qué es un plugin VST? se preguntarán algunos. Pues bien, para empezar diré que VST es un formato en el que se desarrollan "programas" para el procesamiento de información musical (audio y MIDI) como lo son también DX, RTAS y otros. A estos programas se les llama plugins porque no pueden funcionar solos, sino que estan diseñados para ser incluidos en otros programas como secuenciadores o hosts (Cakewalk Sonar, Steinberg Cubase, Kristal Audio Engine, Quartz Audio Master y otros). El asunto funciona de la siguiente manera: tú envías información audio o MIDI al programa en cuestión (vía tarjeta de sonido) y este se la envía al plugin que la procesa.

Hay dos clases de plugins VST:

  • Los sintetizadores virtuales (VSTi): (la i es de instrument). Estos plugins aceptan informacion MIDI y producen informacion AUDIO. Algunos ejemplos son: Steinberg Virtual Guitarrist, Steinberg LM4...
  • Los efectos (VST): Estos plugins aceptan informacion AUDIO y producen informacion AUDIO. En este conjunto se incluyen todos los efectos como distorsion, chorus, flanger, compresion...

Por la red circulan algunos buenos tutoriales de cómo hacer VSTi (sintetizadores virtuales) con el SynthEdit, pero este tutorial se centra en el desarrollo de plugins VST de efectos para audio y personalizacion del interfaz de los mismos.

Para el ejemplo, utilizare el [ SynthEdit 0.952.8 beta ] y construiré un rudimentario Delay monoaural y luego personalizaré el interfaz (parte muy mal cubierta en la ayuda del SynthEdit). Respecto del ejemplo, diré que no esta todo lo bien hecho que se podria, ya que lo he simplificado para el tutorial.

Bueno, Supongo que ya has descargado el SynthEdit y lo has configurado, asi que vamos allá. Si tienes dudas sobre la configuración, mira el la ayuda del programa (F1)

Bájate el plugin de ejemplo de este tutorial pulsando [ aquí ] (44 Kb)

Inserción de los módulos básicos

[Índice]

Lo primero es abrir el SynthEdit y en el "lienzo" en blanco que aparece, insertar (se puede usar el menu contextual con botón derecho del raton) los elementos basicos de cualquier plugin VST, que son

insert | input/output | Sound in Este módulo es la entrada de audio
insert | input/output | Sound out Este módulo es la salida del audio procesado

Inserción y conexión de los módulos del efecto

[Índice]

Ahora que ya tenemos la base para hacer un efecto VST, procederé a añadir los módulos para crear el efecto de Delay monoaural y unirlos de la siguiente manera:

insert | effects | Delay2 Este módulo es el responsable del retardo de la señal de audio
insert | Special | Feedback Delay Este módulo añade realimentacion al delay para que haya mas de un eco

Ya tenemos básicamente creado el delay. Para probarlo basta pulsar Audio | play/reset o F5. Doy por supesto que ya has conectado tu guitarra, bajo o pandereta electroacústica a la tarjeta de sonido.

Oirás unos pocos ecos, pero... todavía no podemos regular cada cuánto suena el eco ni cuánta cantidad de eco se oye.

Inserción y conexión de controles básicos

[Índice]

Para poder controlar (parametrizar) el efecto añadiremos un potenciómetro ( insert | controls | knob ) para regular la cantidad de tiempo entre eco y eco (Delay) y un potenciómetro ( insert | controls | knob ) y un VCA ( insert | modifiers| VCA ) para controlar la cantidad de eco (Echo) que queremos. El VCA es un módulo para controlar el volumen de una señal (en este caso para amplificarla).

Ahora podemos ver que accionando los controles que hemos insertado podemos variar el efecto resultante.

Para editar el nombre del control y sus valores máximo y mínimo, podemos hacer click derecho sobre el control y hacer click en Properties...

Los valores que yo he elegido (son arbitrarios y cuestión de gusto personal) para los controles son:
· Delay, Lo val=2.5 y Hi val=6
· Echo, Lo val=0 y Hi val=14

Mejoras y añadidos

[Índice]

Para acabar nuestro delay monoaural añadiremos 5 componentes más: un potenciómetro ( insert | controls | knob ), un VCA ( insert | modifiers| VCA ), un mezclador ( insert | modifiers| X-mix ), un interruptor ( insert | controls | Switch ) y un diodo LED ( insert | controls | LED indicator ).

El interruptor (Switch), el mezclador (X-mix) y el diodo (LED indicator) formarán la parte "bypass" del plugin (cuando queremos que el efecto no procese la señal). El LED encendido indicará que el efecto esta funcionando.

El potenciometro (Knob) y el VCA (VCA) controlarán la cantidad de mezcla señal original-señal procesada por el plugin.

Los valores que he puesto los ultimos controles añadidos son:
· Mix, Hi val=10 y Lo val=0
· LED indicator, Signal in=0 y Threshold=-1
· Switch, Hi val=0 y Lo val=-55.- Personalización del interfaz

Bueno, la parte interna del plugin ya está. Ahora vamos con el interfaz. Importante: Si en algún momento el SythEdit no te cambia correctamente algun gráfico, guarda lo que estás haciendo, cierra el SynthEdit y vuelve a abrirlo.

Disposición de los controles

[Índice]

Si hacemos click derecho sobre el "lienzo" en la opcion Panel edit... nos saldrá una nueva ventana con el interfaz del plugin.

Como puedes ver, todavía no hemos movido los controles y salen de cualquier manera, así que vamos a ordenarlos un poco.

Aun así, el aspecto sigue siendo pobre, asi que vamos a crear un fondo para el plugin.

Adición de un fondo para el plugin

[Índice]

Con cualquier programa de dibujo (Photoshop, Paint Shop Pro, Paint, ... etc) creamos un fondo en formato .BMP que guardaremos con el nombre background.bmp en una carpeta con el nombre de nuestro plugin (no tiene por que coincidir con el nombre del fichero .se1) dentro de una carpeta que cuelgue de la carpeta skins. Para este ejemplo yo he creado una carpeta con el nombre monodelay

Este es el fondo del plugin que he creado para el ejemplo:

Hacemos click derecho sobre el "lienzo" en la opción Panel edit... para que nos salga la ventana con el interfaz del plugin. Luego hacemos click derecho sobre el el interfaz del plugin y seleccionamos dentro del menu Skin la opción que se corresponde con la carpeta que hemos creado y que contiene el fondo para el plugin (monodelay)

Ahora podemos recolocar los controles con respecto al fondo que acabamos de insertar, pero antes borraremos el LED que utilizábamos para visualizar cuando estaba funcionando el plugin, ya que usaremos un interruptor (Switch) "con luz".

5.3.- Personalización del interfaz del interruptor

Para el interruptor "con luz" he utilizado el logotipo del Synthedit creado por whyterabbyt para crear una animación de 2 fases (apagado y encendido). Se compone de 2 ficheros: switch.bmp (que contiene las dos imagenes del interruptor) y switch.txt (que contiene la descripción del interruptor para el SynthEdit). Cópialos en la carpeta monodelay que creamos anteriormente.

Nota: si quieres ver como estan hechos los controles, hecha un vistazo a los ficheros de la carpeta /SynthEdit/skins/default

Para poder ver los cambios, haz click derecho sobre la ventana del interfaz (Main), cambia el interfaz a default y luego vuelve a cambiarlo a monodelay para refrescar los cambios que has hecho. Veras que el interruptor tiene un nuevo aspecto. No te preocupes si el gráfico del interruptor aparece descentrado, eso lo arreglaremos luego.

Para cambiar la etiqueta del interruptor de "Switch" a "on/off" y centrar el grafico, haremos los siguiente:

  • 1.- Volvemos al "lienzo" y hacemos click derecho sobre el panel que contiene el interruptor. Verás que la ultima opción que aparece en el menu contextual (locked) aparece marcada. Esto significa que el control está bloqueado y no se pueden hacer cambios. Para desbloquearlo haz click sobre locked (ahora ya saldrá desmarcado)
  • 2.- Vuelve al "lienzo" y haz click derecho sobre el el panel que contiene el interruptor y selecciona la opcion panel edit... del menu contextual
  • 3.- En la nueva ventana que aparece es donde puedes modificar la etiqueta del interruptor y la posición relativa entre el gráfico del interruptor y la etiqueta, desplazando esta última.

Personalización del interfaz de los botones

[Índice]

Para el botón de los potenciómetros he usado uno creado por [ xoxos ], compuesto por los ficheros k_2d_40.bmp y k_2d_40_mask.bmp y ahora renombrados a moog_knob.bmp (la animación del botón) y moog_knob_mask.bmp (la mascara para las transparecias de la animacion del botón) respectivamente que debes copiar junto con moog_knob.txt (descripcion del interruptor para el SynthEdit) y moog_knob_I2.bmp (la parte de las marcas del botón) a la carpeta monodelay.
Despues de hacer click derecho sobre la ventana del interfaz (Main), cambiar el interfaz a default y luego volver a cambiarlo a monodelay para refrescar los cambios que has hecho. Veras que ahora el aspecto del botón ha cambiado, pero hace un extraño: conserva la parte metalizada del botón original.

Para solucionarlo haremos lo siguiente:

  • 1.- Volvemos al "lienzo" y hacemos click derecho sobre uno de los tres botónes (sobre el panel que lo contiene) y lo desbloqueamos haciendo click sobre locked.
  • 2.- Vuelve al "lienzo" y haz click derecho sobre el el panel que contiene el interruptor y selecciona la opcion Structure... del menu contextual
  • 3.- En la nueva ventana que aparece es donde puedes modificar los gráficos asignados al botón. Asigna mediante la opcion properties del menu contextual del botón metalizado el fichero moog_knob.bmp del directorio default donde ahora esta shiny_cap.bmp, que al usar el skin monodelay se transforma en nuestro botón. Otra forma de hacerlo es: como no vamos a necesitar un "interior" para nuestro botón, puedes borrar el módulo que corresponde a la parte brillante del botón.

Para terminar con el botón sólo nos falta cambiar la etiqueta "Knob", por su correspondiente descripción en este caso "Mix". Para ello:

  • 1.- Vuelve al "lienzo" y haz click derecho sobre el panel que contiene el botón "Mix" y selecciona la opcion panel edit... del menu contextual
  • 2.- En la nueva ventana que aparece es donde puedes modificar la etiqueta del botón.

¡Sólo nos faltaria repetir lo mismo con los otros dos botones y ya esta!6.- Creación de la DLL del plugin

Para usar el plugin con tu secuenciador/host favorito solo falta crear con el SynthEdit el archivo DLL; para ello ve al menu principal file | Save as VST...

  • 1.- Ponle un nombre al plugin (ej: MonoDelay)
  • 2.- Ponle un nombre a la DLL (ej: monodelay.dll)
  • 3.- Dale un identificador de 4 caracteres. Recuerda que debe ser único en el mundo, no puede haber 2 VSTs con el mismo identificador. Para saber si el identificador que has utilizado esta libre y registrar el tuyo puedes usar el servicio de Steinberg [ Register VST Plugin IDs ]
  • 4.- Pon una descripción de lo que hace el plugin

Debido a diferencias internas de los sistemas operativos, los plugins VST creados en Windows XP, 2000 o NT son guardados en un único fichero (ej: monodelay.dll), mientras que si lo has creado en Windows 98/Millenium el plugin consiste en dos ficheros (ej: monodelay.dll y monodelay.dat)

Copia el fichero .DLL (o .DLL y .DAT) al directorio donde guardas tus plugins VST y... ¡listo para usar!

Honores, a quien se le deben

[Índice]

Agradezco a kilometro de Hispasonic su ayuda al contarme cómo va lo de la personalización de interfaces con SynthEdit. Sin sus indicaciones, estaría todavía más perdido que un pulpo en un garaje.

Recursos y fuentes de información

[Índice]

Por [ Radeon ] - SynthEdit y el logo SynthEdit son propiedad de Jeff McClintock

Te puede interesar