Old 08-04-2018, 10:37 AM   #81
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

this looks interesting, is this in stock JS plugins now? or should I get one of the versions from this thread? if its not in the stock JS plugins, which version of the JS is the most up to date/bug free?
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 08-04-2018, 11:00 AM   #82
Aeolian
Human being with feelings
 
Aeolian's Avatar
 
Join Date: Jun 2010
Location: Somewhere PRO
Posts: 1,049
Default

The one by LiteOn in post #20 of this thread, is the one.

I think he has it in his download pack, in his sig, which might be more up to date.
__________________
"REAPER... You're simply the best" - Tina Turner
Aeolian is offline   Reply With Quote
Old 03-21-2021, 04:42 AM   #83
explainlight
Human being with feelings
 
Join Date: Jan 2018
Posts: 3
Default Question about how to work with Effect Scripts in Reaper

Quote:
Originally Posted by domino49 View Post
A JS modelisation of the "BBE Sonic Maximizer" directly by the electronic schematic.

Last version :
Code:
/* 
  BBE Sonic Maximizer modelisation

  (C) 20011, Dominique Guichaoua.

  Peek Detector code is Copyright (C) 2011 lubomir i. ivanov

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License along
  with this program; if not, write to the Free Software Foundation, Inc.,
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

*/


desc:BBE Sonic Maximizer

slider1:0<0,10,.1>Low Contour (dB)
slider2:0<0,10,.1>Process (dB)
slider3:0<-30,0,.1>Output Level (dB)
slider4:0<0,10,.1>Peek Detector Level

@init
c_ampdB = 8.65617025;

//Electronic Components
R=21500;
C1=0.0000000033;
C2=0.000000033;

Te=1/srate;

//Input Gain
Gin=-2;
//Band Pass Gain
GBP=0.72;
//Low Pass initial Gain (dB)
GLP0=0.47;
//High Pass initial Gain(dB)
GHP0=0.47;

//High Pass Coefficient
a0HP = -Te/(2*R*C1);
b0HP = a0HP;
//Low  Pass Coefficient
a0LP = -Te/(2*R*C2);
b0LP = a0LP;

//Peek Detector Coefficients
//  Copyright (C) 2011 lubomir i. ivanov
a0cv = 0.0003;
b0cv = 1 - a0cv;
//end lubomir i. ivanov code

//Front Panel Controls
@slider
//Low Pass Gain
GLP = GLP0*exp((slider1)/c_ampdB);
//High Pass Gain
GHP = GHP0*exp((slider2+GHP0)/c_ampdB);
//Ouput Gain
amp=exp(slider3/c_ampdB);

//Peek Detector close loop gain
//  Copyright (C) 2011 lubomir i. ivanov
cv_k = slider4;
//end lubomir i. ivanov code

@sample
//Input Buffer
s0=spl0*Gin;
s1=spl1*Gin;

//Peak Detector
//  Copyright (C) 2011 lubomir i. ivanov
cv0 = 1 - abs(s0)*cv_k;
cv1 = 1 - abs(s1)*cv_k;

cv_rc0 = a0cv*cv0 + b0cv*cv_rc0;
cv_rc1 = a0cv*cv1 + b0cv*cv_rc1;
//end lubomir i. ivanov code

//Pseudo State-Variable Filter (Trapezes)
BP0 = a0HP*HP0 + b0HP*HP0tmp + BP0;
BP1 = a0HP*HP1 + b0HP*HP1tmp + BP1;
HP0tmp = HP0;
HP1tmp = HP1;

LP0 = a0LP*BP0 + b0LP*BP0tmp + LP0;
LP1 = a0LP*BP1 + b0LP*BP1tmp + LP1;
BP0tmp = BP0;
BP1tmp = BP1;

HP0 = s0 + 1.5*BP0 - LP0;
HP1 = s1 + 1.5*BP1 - LP1;

//Summing Output Buffer
spl0 = -(LP0 * GLP + BP0 * GBP + HP0 * GHP * cv_rc0)*amp;
spl1 = -(LP1 * GLP + BP1 * GBP + HP1 * GHP * cv_rc1)*amp;
When I copy this code and paste it into the Reaper effects folder, when I open Reaper FX browser should it be listed as BBE Sonic Maximizer.txt ? How do get it to list without the ".txt" suffix?
explainlight is offline   Reply With Quote
Old 03-21-2021, 04:44 AM   #84
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by explainlight View Post
When I copy this code and paste it into the Reaper effects folder, when I open Reaper FX browser should it be listed as BBE Sonic Maximizer.txt ? How do get it to list without the ".txt" suffix?
Save as file without extension?
vitalker is offline   Reply With Quote
Old 03-21-2021, 10:25 AM   #85
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Use the one by Liteon. It's capable of a neutral output (and adjusting from there), plus it has a very useful CV control.

There's a slightly updated version of that in the thread linked below, at the bottom of the first post in a zip file (along with other plugins):

https://forums.cockos.com/showthread.php?t=27764

Last edited by JamesPeters; 09-02-2021 at 05:15 PM.
JamesPeters is offline   Reply With Quote
Old 09-23-2021, 08:40 AM   #86
Nixon
Human being with feelings
 
Nixon's Avatar
 
Join Date: Dec 2011
Posts: 406
Default

Just a train of thought: Is it possible(allowed?) to get sonic enhancer and the other goodies from liteon that aren't included into reaper into the Reateam/jsfx repository ?
Nixon is offline   Reply With Quote
Old 09-23-2021, 09:40 AM   #87
Paul Eye
Human being with feelings
 
Join Date: Feb 2006
Location: Helsinki, Finland
Posts: 305
Default

Quote:
Originally Posted by Nixon View Post
Just a train of thought: Is it possible(allowed?) to get sonic enhancer and the other goodies from liteon that aren't included into reaper into the Reateam/jsfx repository ?
You mean these?
https://github.com/asb2m10/jsusfx/tr...scripts/liteon
Paul Eye is offline   Reply With Quote
Old 09-24-2021, 02:20 AM   #88
Nixon
Human being with feelings
 
Nixon's Avatar
 
Join Date: Dec 2011
Posts: 406
Default

yes
Nixon is offline   Reply With Quote
Old 09-24-2021, 03:57 PM   #89
kartalex
Human being with feelings
 
Join Date: Dec 2015
Posts: 172
Default

What a great topic
kartalex is online now   Reply With Quote
Old 11-23-2021, 03:21 PM   #90
JonLinnarson
Human being with feelings
 
JonLinnarson's Avatar
 
Join Date: Jul 2020
Posts: 724
Default

Quote:
Originally Posted by Nixon View Post
Just a train of thought: Is it possible(allowed?) to get sonic enhancer and the other goodies from liteon that aren't included into reaper into the Reateam/jsfx repository ?
It is allowed, yes. Hahaha!

Just copy the code from whichever of Liteons JS plugins you want into a empty .txt file, save it, replace .txt with .jsfx and place it in the "Effects" folder in the Reaper resource path (usually C:\Users\your computers name\AppData\Roaming\REAPER).

Next time you open up Reaper, it should be listed in the JS list.
JonLinnarson is offline   Reply With Quote
Old 11-23-2021, 07:20 PM   #91
Nixon
Human being with feelings
 
Nixon's Avatar
 
Join Date: Dec 2011
Posts: 406
Default

yeah but I mean the community puts his effects into the reapack reateam repo
Nixon is offline   Reply With Quote
Old 03-17-2024, 04:02 PM   #92
Steviekeys
Human being with feelings
 
Join Date: Jun 2016
Location: UK
Posts: 285
Default

Just posting my version of this jsfx
I changed the range of high and low contour to a more usable amount.
New Dynamic Unmask control, makes the high band try to stay in proportion to the mid band. It often boosts a bit, but can also cut with cymbals and ess sounds.
Gain meter for high band dynamics.

Code:
/*

  sonic enhancer thing

  Copyright (C) 2011 lubomir i. ivanov

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  You should have received a copy of the GNU General Public License along
  with this program; if not, write to the Free Software Foundation, Inc.,
  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

*/

desc: Sonic Mix Enhancer

slider1:0<-12, 12, 0.1>Input
slider2:0<-6, 6, 0.1>Low Contour
slider3:0<0, 6, 0.1>High Contour
slider4:1<0,1,0.01>Dynamic Unmask
slider5:0<-12, 12, 0.1>Output

//options:gfx_idle

@init
cv_BP0 = 1;
cv_BP1 = 1;
cv_HP0 = 1;
cv_HP1 = 1;
gr_meter=1;
gr_meter_decay = exp(1/(1*srate));
ext_gr_meter = 0;
nf_k = 2^-32;

rc0_h1 = exp(-1/(srate*0.001*70));
rc0_h0 = 1-rc0_h1;
rc0_m1 = exp(-1/(srate*0.001*60));
rc0_m0 = 1-rc0_m1;
rc0_k1 = exp(-1/(srate*0.001*25));
rc0_k0 = 1-rc0_k1;


fc = 700;
fs = srate;
pi2 = 2*$pi;
q = 0.23;

omega = pi2 * fc / fs;
sn = sin(omega);
cs = cos(omega);
alpha = sn / (2.0 * Q);

b0_ap = 1.0 / (1.0 + alpha);
b1_ap = (-2.0 * cs) * b0_ap;
b2_ap = (1.0 - alpha) * b0_ap;
a0_ap = b2_ap;
a1_ap = b1_ap;
a2_ap = 1;

b0_lp = 1.0 / (1.0  + alpha);
b1_lp = (-2.0 * cs) * b0_lp;
b2_lp = (1.0 - alpha) * b0_lp;
a1_lp = (1.0 - cs) * b0_lp;
a0_lp = a1_lp * 0.5;
a2_lp = a0_lp;

b0_hp = 1.0 / (1.0 + alpha);
b1_hp = (-2.0 * cs) * b0_hp;
b2_hp = (1.0 - alpha) * b0_hp;
a1_hp = -(1.0 + cs) * b0_hp;
a0_hp = -a1_hp * 0.5;
a2_hp = a0_hp;

@slider
g_in = 10^((slider1-0.5)/20);
g_lp = 10^(slider2/20);
g_hp = 10^(slider3/20);
cv_k = slider4;
dist_3 = slider4/96;
g_out = 10^(slider5/20);


@sample
nf0 = 0.0;
nf1 = 0.0;
//noise_floor
  nf0 = (rand(2.0) - 1.0)*nf_k;
  nf1 = (rand(2.0) - 1.0)*nf_k;

in0 = spl0*g_in + nf0;
in1 = spl1*g_in + nf1;


out_ap0 = a0_ap*in0 + a1_ap*x1_ap0 + a2_ap*x2_ap0 - b1_ap*y1_ap0 - b2_ap*y2_ap0;
x2_ap0 = x1_ap0;
x1_ap0 = in0;
y2_ap0 = y1_ap0;
y1_ap0 = out_ap0;

out_ap1 = a0_ap*in1 + a1_ap*x1_ap1 + a2_ap*x2_ap1 - b1_ap*y1_ap1 - b2_ap*y2_ap1;
x2_ap1 = x1_ap1;
x1_ap1 = in1;
y2_ap1 = y1_ap1;
y1_ap1 = out_ap1;

out_lp0 = a0_lp*in0 + a1_lp*x1_lp0 + a2_lp*x2_lp0 - b1_lp*y1_lp0 - b2_lp*y2_lp0;
x2_lp0 = x1_lp0;
x1_lp0 = in0;
y2_lp0 = y1_lp0;
y1_lp0 = out_lp0;

out_lp1 = a0_lp*in1 + a1_lp*x1_lp1 + a2_lp*x2_lp1 - b1_lp*y1_lp1 - b2_lp*y2_lp1;
x2_lp1 = x1_lp1;
x1_lp1 = in1;
y2_lp1 = y1_lp1;
y1_lp1 = out_lp1;

out_hp0 = a0_hp*in0 + a1_hp*x1_hp0 + a2_hp*x2_hp0 - b1_hp*y1_hp0 - b2_hp*y2_hp0;
x2_hp0 = x1_hp0;
x1_hp0 = in0;
y2_hp0 = y1_hp0;
y1_hp0 = out_hp0;

out_hp1 = a0_hp*in1 + a1_hp*x1_hp1 + a2_hp*x2_hp1 - b1_hp*y1_hp1 - b2_hp*y2_hp1;
x2_hp1 = x1_hp1;
x1_hp1 = in1;
y2_hp1 = y1_hp1;
y1_hp1 = out_hp1;

out_bp0 = out_ap0-out_lp0-out_hp0;
out_bp1 = out_ap1-out_lp1-out_hp1;
foo  = 1-(9*sqrt(0.000001));
cv_BP0 = (9*sqrt(0.000001 + (out_bp0^2)))+foo;  env_BP0 = rc0_m0*cv_BP0 + rc0_m1*env_BP0;
cv_BP1 = (9*sqrt(0.000001 + (out_bp1^2)))+foo;  env_BP1 = rc0_m0*cv_BP1 + rc0_m1*env_BP1;
bar = 1-(24*sqrt(0.000001));
cv_HP0 = (24*sqrt(0.000001 + (out_hp0^2)))+bar;  env_HP0 = rc0_h0*cv_HP0 + rc0_h1*env_HP0;
cv_HP1 = (24*sqrt(0.000001 + (out_hp1^2)))+bar;  env_HP1 = rc0_h0*cv_HP1 + rc0_h1*env_HP1;

//compare bandpass to highpass
cv0 = (1*env_BP0)/(1*env_HP0);
cv1 = (1*env_BP1)/(1*env_HP1);

//reduce range
cv0 = -2/(1+exp(2*cv0-2))+2;
cv1 = -2/(1+exp(2*cv1-2))+2;

cv0 = cv_k*cv0 + (1-cv_k);
cv1 = cv_k*cv1 + (1-cv_k);

//smooth env
cv_rc0 = rc0_k0*cv0 + rc0_k1*cv_rc0;
cv_rc1 = rc0_k0*cv1 + rc0_k1*cv_rc1;

//stereo link
cv_rc00 = 0.6*cv_rc0 + 0.4*cv_rc1;
cv_rc11 = 0.4*cv_rc0 + 0.6*cv_rc1;

//low harmonics
out_lp0 = out_lp0 - dist_3*out_lp0^3;
out_lp1 = out_lp1 - dist_3*out_lp1^3;

//merge bands
out_sv0 = out_bp0 + out_hp0*cv_rc00*g_hp + out_lp0*g_lp;
out_sv1 = out_bp1 + out_hp1*cv_rc11*g_hp + out_lp1*g_lp;


out_dc0 = out_sv0;
out_dc1 = out_sv1;

spl0 = out_dc0*g_out + nf1;
spl1 = out_dc1*g_out + nf0;


grv = 0.5*cv_rc00 + 0.5*cv_rc11;
//grv = 1;
grv <= gr_meter ? gr_meter=grv : ( gr_meter*=gr_meter_decay; gr_meter>2?gr_meter=2; );

@gfx 0 32 // request horizontal/vertical heights (0 means dont care)
  
  gr_meter < 0.5 ? gr_meter = 0.5; // max GR so if the audio processing stops it doesnt "stick"
  gfx_r=0.9; gfx_g=gfx_b=0.1; gfx_a=0.8;
  
  meter_bot=12;
  meter_h=min(gfx_h,32);
  xscale=gfx_w*20/meter_bot;

  gfx_y=0;
  gfx_x=gfx_w + log10(0.5*gr_meter)*xscale;
  gfx_rectto(gfx_w,meter_h);

  gfx_r=gfx_g=gfx_b=1.0; gfx_a=0.75;

  s2=sqrt(2)/2;
  g = s2;
  while(
    gfx_x=gfx_w + log10(g)*xscale;
    gfx_x >= 0 ? 
    (
      gfx_y=0;
      gfx_lineto(gfx_x,meter_h,0);
      gfx_y=meter_h-gfx_texth;
      gfx_x+=2;
      gfx_drawnumber(log10(g*2)*20,0);
      gfx_drawchar($'d');
      gfx_drawchar($'B');
    );
    g*=s2;
    gfx_x >=0;
  );
  gfx_a=1;

  gfx_x=0; gfx_y=meter_h/2 - gfx_texth/2;
  gfx_drawnumber(log10(gr_meter)*20,1);
  gfx_drawchar($'d');
  gfx_drawchar($'B');
Steviekeys is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:57 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.