6 jun. 2011

Primeros pasos programando con Jesusonic (JS-Plugins Reaper)


     Jesusonic en un principio surgió como un concepto standalone, pero tuvieron la gran idea de incorporarlo al DAW REAPER, actualmente el único que lo implementa.  

     Aunque sólo Reaper use los JS, mediante el plugin JS VST se pueden desarrollar los plugins en código JS y cargarlo como un VST, muy válido para prototipado para luego desarrollarlo en otro lenguaje, el mayor inconveniente de JS es que consume más recursos que por ejemplo C++.

     Los plugins JS son libres, por lo que se puede ver el código y modificarlo a tu antojo directamente en el propio DAW ya que lo increíble del asunto es que Reaper tiene un compilador y editor integrado, por lo que es Write Once, run anywhere. El archivo de un plugin JS no es más que un archivo de texto sin extensión.     Para acceder al código de un plugin JS desde Reaper, verás la opción de EDIT una vez insertado. Se puede modificar el código del plugin o crear uno nuevo desde cero. La curiosidad me ha llevado a programar un JS muy sencillo y os dejo el código en cuestión:


// Stereo to Mono

desc:Stereo2Mono
@sample
mono= (spl0 + spl1)/2;
spl0 = mono;
spl1 = mono;



     Simplemente hay que guardar este código en un bloc de notas quitándole la extensión TXT y meterlo en la carpeta Effects que está dentro de la carpeta de Reaper. Este sencillo código convierte una señal stereo en una señal mono.

     Comento lo que hace cada linea:


// Stereo to Mono (comento el nombre del archivo)


desc:Stereo2Mono (el comando desc: nos sirve para darle una descripción al programa que aparecerá en la ventana del mismo, no es necesario poner punto y coma al final)

@sample (iniciamos el proceso, la manipulación del audio se realiza sample a sample)


mono= (spl0 + spl1)/2; (spl0 corresponde a L y spl1 a R, con esto creo una variable que se llama mono porque yo he querido donde digo que mono es el resultado de la suma de L y R. Lo dividimos entre dos para que el nivel de cada una llegue a la unidad)


spl0 = mono;
spl1 = mono;

 spl01 y spl1 equivale tanto a la entrada como a la salida, 

     por aquí otro JS sencillo, un stereo flip, cambia el L por el R y el R por el L:


// Stereo Flip
desc:Stereo Flip

@sample

l = spl0;
r = spl1;
spl0 = r;
spl1 = l;





     Aquí hay una pequeña documentación:

     
http://reaper.fm/sdk/js/js.php
     

     Ésto es sólo el principio. Ahora comienza el mundo del DSP.









No hay comentarios:

Publicar un comentario