Mi primer plugin Jesusonic- Emulación válvula

AlbertoMiranda
#16 por AlbertoMiranda el 09/03/2012
Creo que lo tengo, euridia, échale un vistazo cuando puedas, ahora, si no me equivoco por las prisas, es dependiente del nivel de entrada.

ahora sólo tiene nivel input y output, no hay control de drive, el drive se controla con el input.

queda pendiente añadir el HPF.
Archivos adjuntos ( para descargar)
Valve1.1
Subir
OFERTAS Ver todas
  • -50%
    NI Komplete 15 Collector's Edition
    885 €
    Ver oferta
  • -29%
    Behringer X-Touch Compact
    263 €
    Ver oferta
  • -6%
    Elektron Digitakt II (B-Stock)
    939 €
    Ver oferta
AlbertoMiranda
#17 por AlbertoMiranda el 09/03/2012
sí, lo he hecho demasiado rápido jajaja, he encontrado un error, por algún motivo no se generan los pares, no lo probéis todavía hasta que lo corrija y pruebe bien.
Subir
AlbertoMiranda
#18 por AlbertoMiranda el 09/03/2012
ok, solucionado, euridia, creo que está funcionando según tu petición no?
Archivos adjuntos ( para descargar)
APG_Valve1.1
Subir
Euridia mod
#19 por Euridia el 09/03/2012
Seguramente.......

pero tengo Mac......... :oops: :silbar: :-? :cry: :cry: :cry: :bua: :bua: :bua:
Subir
AlbertoMiranda
#20 por AlbertoMiranda el 09/03/2012
claro, el ReaJS es sólo para Windows, no tienes el Reaper instalado? yo uso Reaper en Leopard y también en Linux con wine.
Subir
Euridia mod
#21 por Euridia el 09/03/2012
Amigo Alberto...... soy eléctrico..... no chino tanto de plataformas y programas.....

Para mí los programadores sois como brujos.......

Ya me voy a enterar de que me estás hablando.....
Subir
AlbertoMiranda
#22 por AlbertoMiranda el 09/03/2012
jejeje, el JS (Jesusonic) es un sistema de programación que funciona en el DAW Reaper...y lo bueno que tiene es que el plugin es un archivo de texto con el código del programa y el Reaper lo compila, lo interpreta, no es como un VST.

de momento sólo el Reaper integra este sistema, pero han sacado un plugin VST que permite cargar dichos programas en cualquier DAW, lo malo es que creo que sólo está disponible para Windows.

Subo unas muestras en las que se ve que la distorsión varía según el nivel de entrada, las últimas están forzadas subiendo el input del plugin al máximo.
Archivos adjuntos ( para descargar)
Imagen 2.png
Imagen 3.png
Imagen 4.png
Imagen 6.png
Imagen 7.png
Imagen 8.png
Imagen 9.png
Subir
Euridia mod
#23 por Euridia el 09/03/2012
Impresionante.......

Alguien escribió:
Para mí los programadores sois como brujos.......


Oye Alberto...... tengo un callo en el pie que me está matando....... me aconsejas algún soft para tratarlo???

¿Y para el mal de ojo???? ¿es verdad que hay que encender y apagar tres veces un altavoz?

Me quito el sombrero
Subir
AlbertoMiranda
#24 por AlbertoMiranda el 09/03/2012
#23 jajajaja, gracias ,aunque realmente el código es bien pequeño (por lo que no consume nada de recursos), es pura matemática basada en el seno y coseno, y si te digo la verdad me estoy iniciando en este mundo, como trabajo con Reaper, me picó la curiosidad siempre de poder crear tus propios plugins y vi perfecto como primer proyecto tratar el tema de los armónicos...aunque te tengo que dar las gracias porque creo que ha sido el hilo de comparativa de limitadores la que me ha abierto un poco los ojos en el tema del análisis espectral de los plugins...sobre todo para ver qué errores intentar no cometer.
Subir
AlbertoMiranda
#25 por AlbertoMiranda el 09/03/2012
luckylook escribió:
realmente me ha sorprendido mucho quizas si le añadieras un filtro ya seria la bomba de plugin yo lo usaria continuamente seguro.


eso va a ser lo siguiente, aunque tardaré un poco más en tener eso jeje.
Subir
DSaudio
#26 por DSaudio el 10/03/2012
:comer:
Subir
AlbertoMiranda
#27 por AlbertoMiranda el 10/03/2012
hay otros factores a emular en un equipo analógico así, hay que tener en cuenta no sólo los armónicos producidos sino otros factores también muy importantes como la respuesta de transitorios y distorsión de fase.

sin embargo, prefiero no añadir esos elementos en este caso, realmente la idea no es emular un equipo en concreto o todo el comportamiento de una válvula/trafos, sino realizar un plugin que simplemente aporte un colorido a la señal mediante una distorsión armónica con una curva similar a las válvulas, que en el fondo no es más que matemática tan minimalista como esto:

out = sin(in * (1/4*$pi)) + cos(in * (1/4*$pi));

donde el seno genera los impares y el coseno los pares, por arte de "mágia" (o matemáticas) la curva de los armónicos aparece sola, no he tenido que emular esa curva, sólo el ratio del nivel de entrada/armónicos, son cosas de la naturaleza/física/matemática, algo así como la proporción áurea)
Subir
fernando_srap
#28 por fernando_srap el 10/03/2012
no sé instalarlo...le tengo que poner .dl pa que vaya??
Subir
brote
#29 por brote el 11/03/2012
Hola Alberto!
Tiene muy buena pinta! Felicidades!
Lastima que no funcione en mac y no pueda testearlo...
Me he mirado las dos versiones de Valve y me han surgido un par de dudas.

Una, el cambio entre la version 0 y la 1 es que el drive y el mix van en funcion de la entrada, no?

Por otro lado, la linea que define a mix, no la acabo de entender, es posible que falte un parentesis...?
Algo como:

mix=((in0+in1)/2)/100;

Para tener en cuenta los dos lados, en un rango de 0 a 1

No soy programdor pero controlo matlab y hago mis pinitos,
si necesitas ayuda implementando filtros o FFT cuenta conmigo.

Salut y gracias por el aporte!
Subir
AlbertoMiranda
#30 por AlbertoMiranda el 11/03/2012
hola brote, esta es la última versión, con unos añadidos de un ruso que está por el foro de Reaper, minimalismo puro, muchos piensan que para hacer cosas así hay que escribir cientos de líneas de código jeje

1/4 es el ratio señal/armónicos, fijándome a qué nivel se genera el primer armónico según la gráfica del DSAUDIO 156.

todavía estoy con el filtro, sabes de algún buen algoritmo minimalista de HPF?

// Alberto PG (C) 2012
// addons BWSD (C)
desc:APG/Valve
slider1:0<-60,20,0.1>Gain
slider2:0<-60,20,0.1>Level

@slider
gain=10^(slider1/20);
level=10^(slider2/20);


@sample
in0=spl0*gain;
in1=spl1*gain;

wet0 = (sin(in0 * (1/4*$pi)) + cos(in0 * (1/4*$pi))-1)/4;
wet1 = (sin(in1 * (1/4*$pi)) + cos(in1 * (1/4*$pi))-1)/4;

spl0 = (in0 + wet0)*level;
spl1 = (in1 + wet1)*level;
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo