http://www.jesusonic.com/soft.php
Actualmente no está muy extendida, de hecho el único DAW que lo implementa hasta ahora es REAPER, que viene cargado con cientos de estos plugins de muy buena calidad y a 64 bit.
¿Qué tiene de bueno?
Los plugins JS con libres, por lo que se puede ver el código y modificarlo a tu antojo. De hecho el archivo de un plugin JS no es más que un archivo de texto sin extensión.
Cargas un JS en Reaper y verás la opción de EDIT. Te aparecerá el editor de Jesusonic. Podrás modificar el código del plugin o crear uno nuevo desde cero. Lo increible es que Reaper viene con éste compilador integrado y esto quiere decir que un plugin creado para JS valdrá tanto para Windows, OSX, Linux...no habrá que compilarlo en una dll, directamente Reaper lo compila.
La curiosidad me ha llevado a programar un JS muy sencillo y os dejo el código en cuestión:
// (C) 2009, Alberto Miranda
// Stereo to Mono
desc:Stereo2Mono
@sample
mono= spl0 + spl1;
spl0 = mono/2;
spl1 = mono/2;
Simplemente cogeis este código, lo guardais en un bloc de notas quitándole la extensión TXT y lo meteis en la carpeta Effects que está dentro de la carpeta de Reaper.
Es el primer plugin con código que hago y como veis se trata de algo muy sencillo pero que resulta esencial para entender el funcionamiento. Convierte una señal stereo en una señal mono.
comento lo que hace cada cosa:
// (C) 2009, Alberto Miranda (los // simplemente se usa para comentar algo, es una parte que no pertenece al código a compilar)
// 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; (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 ponemos siempre punto y coma.)
spl0 = mono/2;
spl1 = mono/2;
spl01 y spl1 equivale tanto a la entrada como a la salida, manipulamos spl y entregamos spl de nuevo.
splo= mono/2; significa que lo que sale del plugin es la señal mono dividida entre 2, es decir la mitad de mono para spl0 y la mitad de mono para spl1. ¿ por qué?
en mono= spl0+spl1 hemos sumado los dos canales L y R, y como ya sabemos, al sumarse tenemos una única muestra con la suma de las amplitudes por ello restamos si queremos obtener una señal mono con el mismo nivel que la stereo entrante.
Aquí hay una pequeña documentación:
http://www.jesusonic.com/help.html
lo dificil de todo esto es entender el audio de forma digital y sample a sample.
Un saludo